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

Posso anche usare la modalità sicura per farmi un’idea di quali modifiche hanno apportato altre distribuzioni Discourse:

  • Purism ha solo un paio di script tematici (che potrebbero effettivamente far parte di Discourse ufficiale, dato che la modalità sicura blocca tutti i temi, credo) e un pezzo interno (cioè, parte del file HTML, non un file JS esterno) di JavaScript, che inizia con const DELAY_TARGET=2e3,POLLING_INTERVAL=50,splashS
  • Exercism ha quello che sembra essere il plugin discourse-spoiler-alert che è stato successivamente aggiunto al core, così come lo stesso identico JS interno di Purism
  • Il forum dei membri FSF ha solo lo stesso identico JS interno degli altri due
  • Discourse Meta (questo forum) sembra avere molte differenze in JS
    • discourse-activity-pub
    • discourse-customer-flair-plugin (non sono riuscito a trovare una licenza per questo da nessuna parte)
    • discourse-deprecation-collector
    • discourse-doc-categories
    • discourse-new-features-feeds (anche per questo non è stata trovata alcuna licenza)
    • molti altri script, inclusi alcuni che non hanno nemmeno un link a una source map

Quindi sembra che la maggior parte delle distribuzioni di terze parti (basate sul mio piccolo campione di 3) rimangano abbastanza vicine a Discourse principale, ma questo fa sembrare che questa distribuzione contenga plugin che non farebbero parte della maggior parte delle distribuzioni. Sai dove potrei trovare il codice sorgente con licenza per tutti questi? Sarebbero nel repository principale? Non sono riuscito a trovarli cercando con grep alcuni di questi nomi nel repository principale, ma è possibile che mi sia sfuggito.

Da qui, ovvio, perché la maggior parte di questi non sono di terze parti, ma di prima parte :smirking_face:
Dovresti dare un’occhiata alle categorie Plugin e Theme component. Ma potresti trovare interessanti anche, ad esempio, Dev e Documentation.

2 Mi Piace

Ho provato a cercare nell’intero forum “discourse-new-features-feeds” (ad esempio) e non ho trovato nulla. Per alcune estensioni sono riuscito a trovarle nella directory dei plugin, su GitHub o qui nei forum, ma per discourse-new-features-feeds e discourse-customer-flair-plugin non ho trovato nulla. Non ho controllato ogni singolo script di plugin, quindi potrebbero essercene altri che non sarei in grado di trovare.

Suppongo che ci possa essere un motivo per cui, ad esempio, le personalizzazioni di Meta non sono pubbliche. O non hai scavato abbastanza a fondo nel repository di Discourse :man_shrugging:

2 Mi Piace

È possibile che siano un cliente Enterprise e abbiano fatto personalizzare appositamente il loro forum da Discourse.\nInoltre, se si desidera utilizzare la modalità provvisoria per visualizzare le personalizzazioni lato client, non la disabiliterebbe invece? Come si abiliterebbe su questi siti in primo luogo?

2 Mi Piace

Per curiosità, mi chiedo quale sia esattamente la logica alla base di tutto questo. Non puoi semplicemente navigare in internet con le preoccupazioni che stai sollevando, corretto?

Stai parlando di “licenza”. Ma la tua licenza per usare un forum specifico come semplice utente sarebbe diversa dalla licenza per eseguire effettivamente il software del forum (=se qualcuno vuole impostare un altro forum con esso). Perché un utente dovrebbe preoccuparsi di quest’ultima? A causa di alcuni principi a cui vuole aderire? Qualsiasi personalizzazione non ridistribuita sarebbe “proprietaria”, immagino. Il che solleva la domanda di dove questo inizi e finisca.

Puoi essere diffidente nei confronti di javascript e di ciò che potrebbe consentire di eseguire nel tuo browser (i rischi e le possibilità di ciò sono spesso dibattuti. Si suppone che sia limitato). Non sono sicuro se Discourse possa funzionare senza di esso, però. O funzionare correttamente, almeno. Puoi sempre provare. C’è la popolare estensione del browser “NoScript” per questo, per esempio.

Mi chiedo ancora del ragionamento: si tratta di potenziale codice dannoso? In questo caso, non avrebbe molto senso per me che ti sentiresti meglio con una licenza che DICE che un forum esegue una versione non modificata. O di cosa si tratta?

4 Mi Piace

In generale, voglio evitare di eseguire software non libero. Il motivo principale è che penso di dover avere il controllo sul software che viene eseguito sul mio computer, e un motivo aggiuntivo è che non mi piace l’idea di bug che potrebbero essere illegali da correggere. Penso anche che sarebbe positivo se ottenessi il mio software da un numero ristretto di repository fidati, piuttosto che scaricare software da centinaia di siti web indipendenti diversi senza supervisione o responsabilità di terze parti, quindi è importante per me essere libero di pacchettizzare il software che uso per un repository di cui mi fido (anche se questo è piuttosto impraticabile per JavaScript servito dal sito con la tecnologia attuale).

Non penso di dover avere il controllo sul software che viene eseguito sui computer altrui, perché penso che l’operatore del server debba avere quel controllo, e non mi sembra sensato che più utenti abbiano il pieno controllo del software.

No, è relativamente facile evitare di eseguire software non libero su Internet se non si utilizzano programmi che scaricano ed eseguono automaticamente codice arbitrario da parti non attendibili, o se si modificano tali programmi per non farlo (ad esempio, installando LibreJS nel browser web).

Per quanto ne so, eseguire il software del forum è necessario per utilizzare la maggior parte delle funzioni del forum, anche se la lettura dei post funziona senza di esso. Se voglio registrarmi e pubblicare argomenti, sembra che debba eseguire il software del forum. La maggior parte delle persone non se ne rende conto perché la maggior parte dei browser scaricherà ed eseguirà qualsiasi software invii il sito web, senza notificare l’utente.

Parte del software del forum viene eseguita sul server, e quindi le istanze di Discourse non distribuirebbero necessariamente quel software, il che significa che non riceverei necessariamente alcun software non libero che l’istanza ha aggiunto al lato server, quindi non cerco di evitare le istanze che fanno questo.

Nota a margine sulle definizioni

Secondo me, il software che non viene mai distribuito è “proprietario” perché ha un unico “proprietario” (l’autore) ma è anche “libero” perché tutti i suoi utenti (solo uno, l’autore) sono liberi di fare qualsiasi cosa vogliano con esso. Beh, immagino che si possa dire che le persone che interagiscono con un server sono “utenti” del software su quel server, quindi forse dovrei usare una parola diversa da “utenti”, ma non sono sicuro di quale parola usare invece. Forse sono tecnicamente un “utente” del software in esecuzione sulla rete telefonica o sul telefono di qualcun altro se chiamo qualcuno.

Sì, ho installato NoScript e, quando blocco il software Discourse lato client, ovviamente Discourse non può “funzionare” senza di esso, perché ho impedito al browser di eseguire gli script. Il software lato server, che non viene eseguito sul mio computer, non viene impedito di funzionare da NoScript. In questo stato, gli argomenti e i commenti serviti dal software del server Discourse sono visualizzabili, ma per registrarsi e pubblicare sembra che sia necessario utilizzare il software JavaScript lato client.

Per quanto riguarda il malware, se un programma software libero è malware, allora qualcuno può modificarlo per non essere malware e poi distribuire quella versione modificata da utilizzare al suo posto. Per JavaScript servito dal sito, questo è attualmente un po’ impraticabile. Idealmente ci sarebbe una licenza che dichiara direttamente che il software è software libero, in modo che anche se il software fosse modificato sarebbe ancora legale utilizzarlo come software libero. Così com’è, devo fidarmi che le distribuzioni che utilizzo non “mentano” sulla versione del software che stanno utilizzando (ad esempio, modificando il software del server Discourse per affermare che un commit viene utilizzato quando in realtà è un altro).

Probabilmente ho reso questa risposta un po’ troppo lunga, ma il succo è che apprezzo la libertà del software e quindi voglio evitare di eseguire software non libero sul mio computer.

In questo caso “loro” si riferisce a Discourse Meta. Non fa parte di Discourse (l’azienda)?

Sì, quello che intendevo era: con la modalità sicura posso disabilitare gli script delle modifiche e poi confrontare quale software viene inviato al browser in entrambi i casi. La differenza sono le modifiche e i temi.

La modalità sicura può essere attivata navigando su /safe-mode (ad esempio http://meta.discourse.com/safe-mode) e selezionando le opzioni lì. Quella pagina non richiede JavaScript, quindi la modalità sicura può essere attivata mentre si utilizzano estensioni come NoScript, LibreJS e/o Haketilo per bloccare JS o impostando javascript.enabled su false nelle impostazioni del browser per i browser basati su Firefox.

A questo punto, puoi confrontare i tag script su entrambe le pagine per vedere cosa è stato rimosso con la modalità sicura. Ho usato uno script come questo:

script-diff.js
// SPDX-FileCopyrightText: 2024 Jacob K
//
// SPDX-License-Identifier: CC0-1.0

// nella pagina con più script
const scriptSrcArr = [];
for (script of document.scripts) {
  if (script.src) {
		scriptSrcArr.push(script.src);
  } else {
    scriptSrcArr.push(script.textContent);
  }
}

console.log(scriptSrcArr)

// nella pagina con meno script (dovrai fare clic destro sull'array e selezionare "Copia Oggetto" nella prima pagina)
scriptSrcArr = PASTE_OBJECT_FROM_OTHER_PAGE_HERE
for (script of document.scripts) {
  if (!scriptSrcArr.includes(script.src)) {
      console.info(script)
  }
}
// Presumo che gli script nella prima pagina siano un sovrainsieme degli script nella seconda pagina

@Jagster (sto provando una risposta tramite modifica, come suggerito da Discourse (ottima funzione di suggerimento!))

Questo mi fa pensare che Discourse, come distribuito da meta.discourse.org, sia software non libero, il che significherebbe che le affermazioni “L’intero codebase di Discourse è aperto e liberamente disponibile al pubblico” e “Discourse è software per forum open-source al 100% gratuito” (entrambe da www.discourse.org) sembrano fuorvianti, anche se tecnicamente vero perché il software non è la stessa cosa dei suoi plugin. Mi sento un po’ come se fossi stato ingannato nell’utilizzare software non libero :slightly_frowning_face:

Suppongo che tale affermazione sia realmente intesa per le persone che intendono ospitare istanze di Discourse, non per unirsi a quelle esistenti.

Spero di sbagliarmi e che sia davvero così che non ho guardato abbastanza attentamente il repository.

Devi sentirti così spesso. Nessuna faccina, perché quella era solo un’affermazione su come funzionano internet e le app al suo interno.

Hai appena detto che le personalizzazioni sono negative e che se la base è open source, allora anche tutti i componenti aggiuntivi devono essere gratuiti. Beh, penso che WordPress abbia usato questo, ma sicuramente non con wordpress.com, ma se visiti il mio sito WordPress c’è molto lavoro personalizzato. Alcuni sono proprietari, altri aperti, altri personalizzati e altri fatti da me. E in questa realtà non accadranno due cose:

  • tutto il codice del lavoro personalizzato sarebbe pubblico
  • ti direi o a qualsiasi visitatore se ho o non ho una licenza valida

Ma ho difficoltà a capire perché Discourse, WordPress, Moodle ecc. non dovrebbero essere gratuiti se alcuni componenti aggiuntivi non sono gratuiti. Non capisco la logica dietro quel pensiero.

2 Mi Piace

Questo è sicuramente il punto :+1:
Non si può prevedere cosa gli hoster potrebbero poi adattare per fare.

Infatti, inoltre e per esempio, a discrezione dell’host potrebbero aggiungere:

  • pubblicità
  • abbonamenti

E mentre il “software” potrebbe rimanere “gratuito”, alcune funzionalità potrebbero essere a pagamento e la pubblicità disattivata solo per gli abbonati paganti.

Non tutti hanno fondi illimitati per gestire un’istanza di Discourse gratuitamente. Molti siti devono generare entrate per pagare le loro bollette.

Gestire un Discourse non è mai “gratuito” su larga scala. L’host deve pagare i costi del nome di dominio, del VPS e dei servizi di posta elettronica, per citarne alcuni.

(… e non parliamo dei costi di sviluppo di Discourse in primo luogo!)

4 Mi Piace

Ok, penso di capire da dove vieni.

Assolutamente no! Il codice sarà sempre libero.


Gli amministratori del proprio sito Discourse hanno la libertà di personalizzare il proprio forum. Plugin, temi, TC non devono sempre essere open source. Discourse va bene con questo, poiché ci sono modi per utilizzare repository privati anziché pubblici per collegare queste personalizzazioni.
Quindi lo sono anche tutti i plugin, tranne in occasioni molto, molto, molto rare (forse anche quasi mai!) tali personalizzazioni saranno a pagamento [1]. Quindi nulla è “non libero”: tutto è libero.
Il mio punto è che il software open-source sarà libero. I plugin sono gratuiti: è tua scelta usarli. Lo stesso vale per temi, TC, ecc. Ciò che non è open-source, tuttavia, può essere a pagamento, ma gli amministratori hanno scelto di renderlo libero da usare. Non c’è nessuno che ti impedisca, se vuoi, di fare una copia di una personalizzazione a codice chiuso al meglio delle tue capacità e di usarla tu stesso.
Discourse è libero, le sue personalizzazioni pubbliche [2] sono libere, le sue personalizzazioni private sono anche libere da usare (Almeno in un bel po’ di posti, ma

. Pagare il proprietario per il codice sorgente è una cosa diversa, però.

Essenzialmente, a meno che tu non crei tu stesso un plugin/tema/TC e non lo condivida, puoi sempre installare personalizzazioni gratuitamente. Nessuno ti ferma.


Mi scuso se questo suona scortese o brusco, o se gira in tondo e ripete la stessa cosa.


  1. Ad eccezione di commissioni a pagamento, che è una tua scelta sponsorizzarla. ↩︎

  2. cioè quelle elencate qui su Meta o su github pubblicamente ↩︎

1 Mi Piace

Ma queste vengono “sopra” la versione open source, quindi la mera esistenza di un CLA non renderà Discourse non libero.

Non si tratta di libero come in “gratis” ma libero come in “c’è una licenza non restrittiva”. What is Free Software? - GNU Project - Free Software Foundation

Non è necessariamente vero. Di nuovo: si tratta di libero come in “libertà”, non come in “prezzo”. Ci sono progetti open source che hanno licenze troppo restrittive per essere considerate software libero secondo la definizione FSF. Esempi sono MongoDB ed ElasticSearch.

Eseguire software libero non implica che tu ne abbia il controllo.

Quindi sembra che tu stia confondendo “attendibile” e “libero”. Quando un amministratore di server compila discourse, il processo di compilazione scarica tutti i tipi di pacchetti da NPM. Si può sempre fare affidamento su questi? (La storia ci ha insegnato che non è così - esempio e un altro).

Tu “immagini” :thinking: Un amministratore di server può apportare modifiche senza cambiare l’hash del commit. E un plugin può iniettare codice Javascript.

Mi dispiace deluderti, ma è falso.

Non si tratta di libero o non libero o open source o closed source, ma di fiducia.

Se visiti un’istanza Discourse, dovrai fidarti di

  • gli amministratori del server
  • chiunque abbia accesso in commit all’organizzazione github di Discourse
  • chiunque abbia accesso in commit ai repository dei plugin
  • chiunque su github
  • l’intera catena software di NPM
  • chiunque abbia accesso in commit a qualsiasi repository NPM utilizzato
  • chiunque abbia il controllo sul software del tuo browser
  • l’azienda che ha fornito il certificato SSL e la catena di fiducia

Che saranno almeno qualche migliaio di persone?

I plugin e i componenti tematici possono essere trovati in repository separati.
Non tutti i plugin sono open source (ad esempio, discourse-customer-flair-plugin non lo è, per quanto ne so). Quindi eccoti servito. Dovrai smettere di usare Meta :wink: Scherzo, ovviamente. Il mio punto è che ci può essere abbastanza fiducia senza che tutto sia open source o libero.

8 Mi Piace

Solo una cosa, @JacobK1, hai letto la licenza di Discourse?

Citando alcuni punti che potrebbero essere rilevanti:

la GNU General Public
License è intesa a garantire la tua libertà di condividere e modificare software libero – per assicurare che il software sia libero per tutti i suoi utenti.

Puoi modificare la tua copia o copie del Programma o qualsiasi porzione
di esso, formando così un lavoro basato sul Programma, e copiare e
distribuire tali modifiche o lavoro secondo i termini della Sezione 1
sopra

Spero che questo sia stato risposto sopra e nella citazione sopra questa.

1 Mi Piace

Se ho capito bene, tutto questo è principalmente legato a javascript. E riguarda ciò che viene eseguito con javascript all’interno del tuo browser, che viene servito da ogni istanza di Discourse. Si tratterebbe anche principalmente di “fiducia” e di avere la capacità di sapere quale codice viene eseguito (potendolo esaminare). Corretto?

Questo è ben al di sopra delle mie competenze, ma puoi avere il “controllo” su questo? A meno che tu non stia inviando un commit che cambia le cose per tutti, non credo che tu possa davvero “risolvere” qualcosa da solo qui, poiché ciò che definisci il “software” in esecuzione sul tuo computer ti viene fornito dal server ogni volta.

Anche se ogni forum dovesse avere il proprio codice open-source pubblicato, con tutte le possibili modifiche, puoi essere sicuro che sia effettivamente ciò che stanno eseguendo in ogni momento? Non è come se potessi scaricarlo una volta, controllarlo e compilarlo da solo dalla tua parte.

Ciò che vorresti veramente è o:

  1. Nessun javascript (nessuna fortuna con Discourse su questo, che ne dipende abbastanza pesantemente) o
  2. Un client open-source indipendente effettivamente installato sul tuo computer. Quest’ultimo dovrebbe anche non utilizzare javascript, se tutto questo è possibile con Discourse, cosa che non so. Allora potresti modificare il tuo client e avere il controllo su di esso che stai cercando.

Sarebbe una comprensione corretta?
(PS: È anche al di sopra delle mie competenze, ma se ricordo bene, non il 100% del codice di Discourse è open-source. Ora, ti interessa veramente solo ciò che viene eseguito dalla tua parte, non tutto ciò che è lato server)

1 Mi Piace

Tutto tranne parte del nostro codice di hosting/infrastruttura è open-source.

2 Mi Piace

@Jagster

Maybe I was being a bit overdramatic :slight_smile:

Because I get the vast majority of my software using apt install instead of a web browser, and I trust my software distribution (Trisquel) to only distribute free software, this isn’t usually a concern.

Just to be clear, I am not saying customizations are necessarily bad, just that they may be bad if they are nonfree, so a way to be sure you avoid running nonfree software is to disable customizations.

I think all software should be free/libre.

@Jagster @RGJ

To be clear, I am not trying to say Discourse is nonfree. It’s only this particular distribution of Discourse (Discourse Meta) that appears to include nonfree software.

@Jagster @merefield

I should have mentioned in my previous post that another reason I thought this distribution would be free is that the about page for Discourse says " There is only one version of Discourse – the awesome open source version.". This is, again, technically true because the plugins are not part of Discourse, but it felt misleading to me.

Discourse might not have control over third party distributions, but I would have expected Discourse instances hosted by Discourse to be free software if they are saying what they say on the about page. I might have also expected a license and/or framework that would effectively require derivatives to be free software, which there kind of is, since Discourse is GPL, but I guess it doesn’t cover plugins.

@merefield @NateDhaliwal

I think charging money for software or services is fine; usually the “free” in “free software” means “libre”, as in you are free to do what you want with it (copy, modify, etc.), after you get it. It does not necessarily mean that it is “free” as in “gratis” i.e. zero cost.

@NateDhaliwal

Strictly speaking, yes, there is no one stopping me, but it would be illegal, which seems bad. For private use this might work out, but generally public software repos and app stores don’t want to include code illegally, and some people who I might want to use the software may be uncomfortable running illegally copied code. I’m not sure I have the right approach; maybe I should just totally ignore copyright, but that seems like not the best option when it’s feasible to avoid illegal and nonfree software.

No worries! :slight_smile: I don’t think you’re being rude, and I don’t yet feel like we’re going in circles.

@RGJ

What do you mean by this? If the software is free that means I can modify it; therefore I do have control over what it does.

I don’t think free is the same as trusted; perhaps I should have said “arbitrary” instead of “untrusted”, but my point was that most browsers will execute whatever code a webpage gives them, and since I often visit websites I have never visited before, many websites I visit are “untrusted”. For these websites, I have no reason to think they will not send nonfree software.

Regarding NPM, I consider it more trusted than an arbitrary website, but maybe not as trusted as my apt or guix repos. Though, trust is not one-dimensional; although I would not trust a new package on NPM just because it is on NPM, I would trust that when I download JQuery from NPM it really is JQuery. NPM may make mistakes that allow an attacker to replace JQuery, but NPM could take measures to avoid malware that would not be as realistic for site-served JavaScript (e.g. pre-publish automated/manual review, post-publish crowd-sourced review, automated checking that minified/obfuscated scripts match source code, rules against downloading and running arbitrary code at runtime). Importantly, when malware is found on NPM, there’s a third party (NPM, as opposed to the software developer) to report it to so it can be removed. This is not the case for site-served JavaScript - the only one who can remove it is the site operator.

Does that mean the listed commit hash would be incorrect if a server administrator made modifications and didn’t also change the listed commit hash? I thought updating software would change the commit hash automatically, and I (incorrectly?) assumed the listed commit hash would be updated automatically.

Would plugin-injected JavaScript be disabled with safe_mode=no_themes,no_unofficial_plugins?

So, would the only way to avoid nonfree software while using Discourse be to package a Discourse client as a browser extension or Haketilo package or something similar?

I’m not sure what you mean by that considering my original question is about software freedom, and not trust.

I disagree that everyone you listed has to be trusted.

  • The server administrators would not have to be trusted if you don’t run software served by them, for example if you get the Discourse client from GitHub and package it so it can be used with that server.
  • In many cases, people collaborating on software might read some of each others’ commits, so I don’t have to trust all authors individually.

So that would mean the Discourse Meta client is proprietary software, right? Though, it is possible to use safe mode to disable the plugin JS.

Maybe, but that’s not very helpful if I want to avoid nonfree software.

@NateDhaliwal
I have read the license in the Discourse git repo, but (because of the CLA) it does not necessarily apply to derivatives of Discourse outside of that repo. I would like to see a notice on every Discourse distribution that says which of the distributed software is libre. It would even (IMO) fit with the spirit of the GPL: “you must show them these terms so they know their rights”.

@Mevo

Yes, it is possible, to run JavaScript from a browser extension or proxy, such a Haketilo or GreaseMonkey, though this can be very impractical for some software, for example if it updates very often, as would be the case for software where data is baked into the JavaScript software. Haketilo also doesn’t have support for some kinds of scripts, for example scripts with a type of “module”.

Yes, I think your understanding is correct overall. Though packaging the JavaScript as a browser extension or for Haketilo or GreaseMonkey would effectively result in an independent installed client, even though it would be using JavaScript.

@HAWK

I’m guessing you mean “Everything” as in “everything that’s part of Discourse”, as in, not including plugins like discourse-customer-flair-plugin?

Tutto ciò che fa parte del prodotto principale che ospitiamo (incluso Meta), con l’eccezione che ho indicato sopra, è gratuito e open source.

Alcuni plugin dipendono da piattaforme proprietarie per funzionare, ma ciò non ha nulla a che fare con il fatto che Discourse sia open source o meno.

5 Mi Piace

Tutte le istanze di Discourse ospitate da CDCK o da noi (sono co-fondatore di un’azienda che ospita Discourse) stanno eseguendo uno o alcuni plugin closed-source per fornire alcune funzionalità specifiche dell’ambiente di hosting.

Penso ci sia molta confusione tra una distribuzione nel senso classico (ecco un repo github e sentiti libero di fare quello che vuoi) e una distribuzione nel senso più moderno (ecco un sito web che invia Javascript al tuo browser). Inoltre, c’è confusione tra Discourse https://github.com/discourse/discourse e Discourse-e-tutti-i-suoi-plugin-e-componenti-tema-di-prima-e-terze-parti-aggiunti-dagli-amministratori-del-sito.

È un hash di commit, quindi se vengono apportate modifiche dopo averlo scaricato dal repository e prima di eseguirne il commit, ti trovi già in una situazione del genere. Non è necessario che sia un atto malevolo, accade anche se vengono applicate patch di sicurezza (che di solito vengono fatte prima di eseguirne il commit in un branch pubblico). Ora, in generale, le patch di sicurezza non sono lato client, ma potrebbero introdurre del codice lato client aggiornato.

Sì, almeno in teoria. Non sono sicuro di quanto sia difficile aggirarlo (deliberatamente o accidentalmente).

:thinking: Was the iOS SSL Flaw Deliberate? - Schneier on Security

Sarebbe un modo, non sono sicuro se sia l’unico. Se lo fai, dovresti aggiornarlo quasi quotidianamente per evitare problemi.

Anche se tutto questo argomento è un’interessante discussione legale, sembra un po’ staccato dalla realtà.

3 Mi Piace

@HAWK

Esiste un repository separato con una licenza per i plugin che non ho trovato in precedenza, come discourse-customer-flair-plugin? Il JavaScript servito al browser ha un link a una mappa sorgente ma nessuna licenza per quanto ne sappia.

La mia comprensione di “codice di hosting/infrastruttura” non includerebbe il JavaScript lato client; è corretto?

@RGJ

Sono d’accordo. Penso di essere confuso su cosa si applichi effettivamente la parola “Discourse”.

Ah, okay, quindi immagino che non ci sarebbe davvero un buon modo per dirlo.

Buon punto, qualcuno potrebbe cercare di nascondere un difetto come questo. Ma sembra più facile mitigare quel problema esaminando il codice di terze parti piuttosto che fidarsi di ogni singola persona che abbia mai modificato il codice upstream, anche se probabilmente nessuno dei due approcci sarebbe completamente praticabile.

Sì, anche se è possibile che la maggior parte degli aggiornamenti possa essere gestita automaticamente.

Suppongo che in questo caso sia in gran parte vero.

1 Mi Piace

Solo per tua informazione, @JacobK1: Discourse è ben fatto, non c’è bisogno di taggare qualcuno quando si cita quella persona. La citazione stessa genererà già una notifica :+1: (era anche per creare sottosezioni, ammettiamolo :pray: )

2 Mi Piace