Come posso capire se una distribuzione particolare del client Discourse è software libero?

Per le persone che desiderano evitare di eseguire software non libero, come possiamo dire se il software che un sito web ci fornisce per accedere a un forum basato su Discourse è software libero?

Senza il software client JavaScript, il forum sembra essere di sola lettura, quindi voglio eseguire JavaScript sul sito web, ma non vedo alcuna indicazione qui su Discourse Meta o, ad esempio, sui forum Purism (anch’essi basati su Discourse), che il software client sia software libero. Alcuni file di script hanno collegamenti a mappe sorgente, ma le mappe sorgente che ho controllato non contenevano informazioni sulla licenza.

Ho trovato un argomento precedente che menziona "Esiste una sola versione di Discourse: l'incredibile versione open source", ma poi ho anche trovato un argomento che suggerisce che il CLA possa consentire versioni proprietarie, ma non fornisce esempi di versioni proprietarie.

Un’istanza di Discourse che mostra informazioni sulla licenza è il forum dei membri FSF (accessibile solo ai membri, credo), che rimanda al repository GitHub di Discourse, un repository git FSF e al repository GitHub per un’estensione, ma queste informazioni vengono mostrate solo dopo che il software client è già in esecuzione, quindi non è molto utile per decidere se eseguire il programma in primo luogo.

Esiste un modo per capire se il software client servito da un’istanza Discourse è software libero senza effettivamente eseguire quel software? O anche se devo eseguire il software, come potrei ottenere il codice sorgente completo con licenza del software client per un’istanza Discourse? Sicuramente il repository GitHub originale di Discourse non è sempre sufficiente, poiché le persone potrebbero aver modificato il software prima di ridistribuirlo?

In alternativa, esiste un’app Discourse diversa che non scarica software dai server a cui si connette?

1 Mi Piace

Discourse è open source, quindi il suo utilizzo è gratuito. L’hosting, proprio o tramite CDCK, avrà un costo.

La ricerca di is discourse free ha restituito questo:

Certo che lo è. Ed è de facto l’unica fonte da utilizzare.

4 Mi Piace

La mia ipotesi è che non puoi.

Alcune installazioni saranno ospitate e avranno parti proprietarie nello stack di hosting.

Chi ospita autonomamente sarebbe sciocco a non utilizzare l’installazione standard perché è la più economica da supportare.

Una cosa che potresti scoprire è che alcuni siti potrebbero utilizzare plugin proprietari/privati che la piattaforma ti consente di installare a discrezione dell’amministratore.

6 Mi Piace

Sono confuso da questa affermazione. Stai dicendo che le persone che ospitano Discourse non modificano il software prima di ridistribuirlo?

Le persone sono conosciute qui come il team o come azienda CDCK. Certo che lo sono, ogni giorno. È in continuo sviluppo. Eppure è quello che stiamo usando.

Questo potrebbe sollevare la domanda:

2 Mi Piace

La tua menzione dei plugin mi ha fatto pensare se ci fosse un modo per controllare le informazioni sulla versione, e ho trovato questo argomento che descrive come ottenere le informazioni sulla versione.

Quindi posso vedere, ad esempio, che questa istanza sta usando il commit 276bc8a565389ea1a145af08ec8e64c1a5bea990, il forum dei membri FSF sta usando il commit 7ecaf6295daf8759aa98d00e7035c4dc0f853303, il forum Purism sta usando 999aaa35a79ae7c586a91de1f6c1f7b3c8092bd2, e il forum Exercism sta usando il commit 1bd9ca11e777f880462ae64c6795ef7de28a8cd2. Tutti questi sono commit validi nel repository ufficiale, quindi immagino che le istanze non abbiano modificato Discourse stesso (anche se potrebbero aver aggiunto plugin).

Penso che questo lasci i plugin e i temi. Sembra che forse si possa vedere il nome dei plugin cercando gli attributi “data-discourse-entrypoint” negli script dei plugin, ma non vedo un identificatore di versione. Conosci un modo per ottenere l’elenco dei plugin installati?

Potresti dare un’occhiata ai pacchetti javascript per farti un’idea, ma qualsiasi numero di plugin potrebbe essere installato nel backend lontano da occhi indiscreti.

2 Mi Piace

Ciò che intendevo con “modificare il software prima di ridistribuirlo” era che le persone che ridistribuiscono il software su siti web pubblici, come ad esempio forums.puri.sm, potrebbero modificare la loro versione senza inviare modifiche al repository git principale. Se avessero stretto un accordo con Discourse, potrebbero rilasciare tali modifiche come software non libero, separatamente dal repository git principale di Discourse.

La velocità dei cambiamenti nel repository principale è così elevata che sarebbe costoso mantenere un fork valido.

Questo è esattamente il motivo per cui i plugin sono una soluzione popolare per le estensioni.

5 Mi Piace

Grande se e non credo che succederebbe - e quale accordo, Discourse è open source. Ma CDCK meglio che lo sappia. Immagino che ci siano alcuni fork, ma sono quelli in produzione… ne dubito. Ma come ha detto Robert, perché quando le cose possono essere fatte con componenti e plugin.

2 Mi Piace

Quindi immagino che l’unico modo per controllare i plugin potrebbe essere:\n* Configurare la mia istanza di Discourse\n* Provare a installare gli stessi plugin di qualsiasi istanza remota con cui voglio interagire\n* Verificare se il JavaScript del plugin è lo stesso sulla mia istanza rispetto alla loro istanza\n\nImmagino che potrei anche provare a evitare del tutto di eseguire il software del plugin e utilizzare solo gli script che fanno parte di Discourse stesso.\n\nNaturalmente, non ho modo di controllare il loro backend, ma mi interessa solo il software client quando mi connetto al server di qualcun altro.

Potrebbe interessarti anche la modalità provvisoria, che disabilita le personalizzazioni JavaScript.

2 Mi Piace

No. Non è possibile vedere cosa sta succedendo sul server. Potrebbero esserci molte modifiche che non sono esposte sull’API pubblica o sono molto difficili da decifrare.

Un profano non è al corrente di ciò che accade sul server.

3 Mi Piace

Penso che questo, combinato con le informazioni sulla versione, sia sufficiente per utilizzare distribuzioni Discourse arbitrarie evitando di eseguire software non libero. Si può verificare che il commit sia nel repository GitHub ufficiale e quindi assicurarsi che la modalità sicura sia sempre abilitata o solo “mettere in whitelist” (in uno strumento come LibreJS) gli script che appaiono quando si utilizza la modalità sicura.

No. Non lo è. Disabilita solo le modifiche lato client.

3 Mi Piace

Le modifiche lato client sono tutto ciò che mi interessa perché non eseguirò il codice del server sul mio computer.

Se dovessi eseguire un server Discourse, sceglierei quali plugin installare e semplicemente non installerei plugin privi di licenza.

Quando mi connetto al server di qualcun altro, mi aspetto di eseguire il software che mi viene fornito, che potrebbe non avere una licenza in un luogo facilmente reperibile.

Penso che la maggior parte delle installazioni avrà set di plugin prevedibili. Ma non tutti. Non lo saprai mai a meno che tu non diventi un amministratore privilegiato del sito.

2 Mi Piace

Per assicurarmi di aver capito correttamente: se una modifica non è lato client, ciò significa che non influenzerà il codice che un utente normale (cioè non un amministratore) della distribuzione Discourse eseguirà. È corretto?

eseguire ma non essere soggetti nell’elaborazione di alcuna informazione con cui potrebbero interagire.

un server potrebbe, in background, inviare tutti i tuoi dettagli a Facebook e ricevere un compenso :wink:

2 Mi Piace