Considero di utilizzare Discourse per il mio futuro sito web (grazie per aver creato un software così eccellente).
Nel caso in cui apporti delle modifiche (non necessariamente sotto forma di plugin), queste devono essere rilasciate sotto licenza GPL?
Le modifiche sono destinate esclusivamente al mio sito web.
Sono consapevole che la GPL si applica solo alla distribuzione. Tuttavia, software come Discourse include sempre una parte front-end consegnata al browser. Questo rende tutte le modifiche soggette alla GPL?
Allo stesso modo per i plugin: tutti i plugin dovranno essere sotto licenza GPL?
Il punto di Jay, sospetto, non era di natura giuridica. Vuoi mantenere la possibilità di aggiornare con un clic e ridistribuire Discourse da zero. Tutte le modifiche tecniche dovrebbero essere plugin o componenti del tema. Esiste già un’API, supporto per SSO, OAuth e webhook, e hai sempre la facoltà di ospitare l’elemento Discourse su un sottodominio dello stesso dominio. Utilizza queste funzionalità per integrare software aggiuntivo. Considera l’alternativa: un incubo di fusioni manuali delle modifiche al core e di gestioni di migrazioni su misura. Sgradevole, rischioso e… costoso!!!
I plugin ti permettono di modificare il software core in modo esteso e in tantissimi modi. Tecnicamente, il potenziale è illimitato. Agire in questo modo ti costringe a integrare le modifiche nel modo giusto, ottenendo una soluzione più robusta e affidabile, che possa sfruttare tutto il lavoro svolto dal team core per le funzionalità e l’integrità dell’app principale.
Tieni presente che, ad esempio, con la tua app di social media, potresti avere un plugin per facilitare la connessione al tuo forum Discourse.
Sono già disponibili una varietà di plugin per utilizzare servizi come:
Autenticazione Facebook
Steam
WeChat
E molti altri. Il problema con la modifica o il fork del codice è che rischi di introdurre potenziali problemi di sicurezza e bug che tu e il tuo team dovreste correggere da soli.
Il team di Discourse ha reso il sistema altamente personalizzabile tramite plugin, temi e componenti dei temi, oltre all’uso di CSS e script.
Consiglierei piuttosto di esplorare le funzionalità offerte da Discourse per vedere come può adattarsi alle tue esigenze senza modifiche dirette e drastiche.
Esiste persino un plugin di chat sociale chiamato Babblechat.
La mia risposta era di natura tecnica. A meno che tu non intenda avere un team di diverse persone dedicate esclusivamente all’integrazione di nuove modifiche, vorrai sviluppare plugin per risolvere il tuo problema. In tal caso, le tue preoccupazioni legali diventano irrilevanti.
Non sono sicuro che sia rilevante in un senso o nell’altro. Il problema fondamentale è che, se esegui un fork di Discourse, non potremo offrire alcun tipo di supporto.
Gli unici metodi supportati per l’estendibilità sono plugin, temi e l’utilizzo degli hook nel file container.yml. Non ci sono limiti a ciò che è possibile realizzare con questi strumenti; fare un fork non ha assolutamente senso.
Grazie a tutti per i contributi. Ho trovato questo articolo con una discussione interessante. Il codice lato client dovrebbe essere sotto licenza GPL, ma non quello lato server.
Penso che tu possa non aver colto il punto? Se crei un plugin su GitHub e lo inserisci in un repository privato, hai il pieno controllo sulla modifica di Discourse (sebbene tramite l’approccio dei plugin) e possiedi e controlli interamente tali modifiche. Nessuno altro le vedrà e, per quanto ne so, non dovresti temere implicazioni legali. Tutto ciò mentre puoi comunque beneficiare delle modifiche supportate al core.
Un plugin ti permette di modificare sia il front-end che il back-end.
Fare un fork di Discourse e modificarlo diventerà molto complicato molto rapidamente, indipendentemente dalla situazione legale, quindi non è consigliato.
Potrebbe essere meglio fornire a Robert link a configurazioni altamente personalizzate di Discourse per migliorare la sua comprensione e/o alcuni dei plugin e temi più potenti.