Je compte utiliser Discourse pour mon futur site web (merci d’avoir créé ce logiciel formidable).
Dans le cas où j’apporterais des modifications (pas nécessairement sous forme de plugin), cela obligerait-il mes modifications à être sous licence GPL ?
Les modifications sont uniquement pour mon site web.
Je suis conscient que la GPL ne s’applique qu’à la distribution. Cependant, des logiciels comme Discourse ont toujours une partie front-end livrée au navigateur. Cela rend-il toutes les modifications soumises à la GPL ?
De même pour les plugins : tous les plugins seront-ils sous licence GPL ?
Que se passe-t-il dans le cas où un développeur crée une application web plus large intégrant Discourse, par exemple :
une application de réseau social avec un composant forum
utiliser Discourse différemment d’une application de forum typique, par exemple comme section de commentaires pour un article.
L’ensemble de l’application sera-t-il contraint d’utiliser la licence GPL ?
Je suis conscient que les discussions ici ne constituent pas un avis juridique, mais j’apprécierais un premier retour d’expérience.
Je pense que le point de Jay n’était pas d’ordre juridique. Vous souhaitez conserver la possibilité de mettre à jour en un clic et de redéployer Discourse à partir de zéro. Toutes les modifications techniques doivent être des plugins ou des composants de thème. Il existe déjà une API, un support SSO, OAuth et des webhooks, et vous avez toujours la possibilité d’héberger l’élément Discourse sur un sous-domaine du même domaine. Utilisez ces fonctionnalités pour vous intégrer à d’autres logiciels. Considérez l’alternative : un cauchemar de fusion manuelle des modifications du noyau et de gestion de migrations sur mesure. Désagréable, risqué et… coûteux !!!
Les plugins vous permettent de modifier considérablement le logiciel de base de nombreuses façons. Techniquement, le potentiel est illimité. Agir de cette manière vous force à intégrer les modifications de la bonne façon, ce qui aboutit à une solution plus robuste et fiable, capable de tirer parti de tout le travail acharné de l’équipe principale sur les fonctionnalités et l’intégrité de l’application principale.
Gardez à l’esprit que, par exemple, avec votre application de réseaux sociaux, vous pourriez disposer d’un plugin pour faciliter la connexion à votre forum Discourse.
Il existe déjà une variété de plugins créés pour utiliser des services tels que :
Authentification Facebook
Steam
WeChat
Et bien d’autres. Le problème avec la modification ou le fork, c’est que vous vous retrouvez avec des problèmes potentiels de sécurité et de bogues que vous et votre équipe devrez corriger vous-mêmes.
L’équipe de Discourse a rendu la plateforme très personnalisable grâce aux plugins, aux thèmes et aux composants de thème, ainsi qu’à l’utilisation de CSS et de scripts.
Je vous recommanderais plutôt d’explorer ce que Discourse a à offrir pour voir comment il peut s’intégrer sans modifications directes radicales.
Il existe même un plugin de chat social appelé Babblechat.
Ma réponse était de nature technique. À moins que vous ne prévoyiez d’avoir une équipe de plusieurs personnes qui ne feraient que fusionner de nouvelles modifications, vous voudrez développer des plugins pour résoudre votre problème. Vos préoccupations juridiques deviennent alors caduques.
Je ne suis pas sûr que cela ait vraiment d’importance dans un sens ou dans l’autre. Le problème fondamental est que si vous faites un fork de Discourse, nous ne pourrons fournir aucun support.
Les seuls moyens pris en charge pour l’extensibilité sont les plugins, les thèmes et l’utilisation des hooks dans le fichier container.yml. Il n’y a aucune limite à ce qu’ils vous permettent d’accomplir, et faire un fork n’a vraiment aucun sens.
Merci à tous pour vos contributions. J’ai trouvé cet article qui propose une bonne discussion. Le code côté client devrait être sous licence GPL, mais pas celui côté serveur.
Je pense que vous avez peut-être mal compris le propos ? Si vous créez un plugin sur GitHub et le placez dans un dépôt privé, vous avez un contrôle total sur la modification de Discourse (bien que via l’approche des plugins) et une pleine propriété et maîtrise de ces modifications. Personne d’autre ne les verra et, à ma connaissance, vous n’avez pas à craindre de conséquences juridiques. Tout cela tout en pouvant bénéficier des modifications prises en charge du noyau.
Un plugin vous permet de modifier le front-end et le back-end.
Forker et modifier Discourse va rapidement devenir très compliqué, indépendamment de la situation juridique, ce qui n’est donc pas recommandé.
Il vaudrait mieux donner à Robert des liens vers des configurations Discourse hautement personnalisées pour améliorer sa compréhension et/ou certains des plugins et thèmes les plus puissants.