35 votes

Question de licence AGPL par rapport à Neo4j

Ce truc AGPL est assez déroutant, j'ai lu des articles de blog de l'auteur et d'autres articles expliquant l'AGPL mais c'est toujours difficile à comprendre.

Je veux créer un site web et je suis intéressé par l'utilisation de Neo4j pour alimenter certaines fonctionnalités de ce site.
- Le site sera à des fins commerciales, c'est-à-dire des recettes publicitaires ou des recettes de fonctionnalités d'abonnement.
- Le site sera unique - je ne le distribuerai pas ou ne vendrai pas de copies de celui-ci. - Je ne vais pas distribuer le site à quiconque.

Est-ce que la licence AGPL / commerciale signifie que je peux utiliser le système Neo4j sans distribuer mon code source et sans acheter une licence commerciale parce que je ne distribue pas mon site web?

J'ai envoyé un email à l'adresse sur le site web de Neo4j et ils n'ont pas encore répondu mais je suppose que puisque cela relève de l'AGPL, quelqu'un pourrait traduire cela pour moi.

Leur 'guide de licences' (Je voudrais une haute disponibilité et des sauvegardes sans arrêt): http://neo4j.org/licensing-guide/

Liste de prix mentionnant Commercial et AGPL: http://neotechnology.com/price-list

Article de blog de l'éditeur "expliquant" le modèle de licence: http://blogs.neotechnology.com/emil/2011/04/graph-databases-licensing-and-mysql.html

Merci beaucoup.

David

31voto

DavidJBerman Points 554

Je peux voir qu'il y a encore beaucoup de confusion sur ce sujet. J'ai fait beaucoup de recherches à ce sujet. J'ai discuté de cela avec des avocats de deux cabinets différents, avec les gens de MongoDB, et avec les gens de Neo4j.

Quelle était la conclusion? AVIS CONTRADICTOIRE. Lorsque tant de personnes peuvent lire l'AGPL et avoir des interprétations différentes, alors ce n'est tout simplement pas clair.

Selon MongoDB, l'interprétation est la suivante : si vous ne modifiez pas le code source sous AGPL, ou ne le distribuez pas, alors vous n'avez pas besoin de publier le code source de votre propre code. Selon Neo4j, qui affirme que leur interprétation provient de la FSF, si vous écrivez du code qui se connecte à du code sous AGPL, alors vous devez publier votre code source. Selon les deux avocats avec qui j'ai parlé, ils l'ont lu et ont tous deux accepté l'interprétation des gens de MongoDB.

C'est pourquoi nous avons des juges! Mais qui veut se retrouver devant les tribunaux en cas de litige? De plus, nous ne voulons pas décourager des entreprises comme MongoDB ou Neo Technologies ou d'autres de publier des logiciels en open source.

C'est la seule réponse concluante à laquelle j'ai pu parvenir.

Alors, où se situe le développeur à présent? La conclusion à laquelle je suis arrivé est la suivante : Si vous voulez utiliser du code sous AGPL, ou vous connecter à du code sous AGPL, contactez le propriétaire du logiciel et demandez-lui quelle est son intention et ses exigences à votre égard, et gardez une trace des e-mails à ce sujet.

Envoyez un e-mail à l'entreprise qui publie le code, expliquez ce que vous prévoyez de faire, et demandez-leur s'ils exigent que vous publiez votre code basé sur leur modèle de licence sélectionné.

29voto

mpontes Points 772

Malheureusement pour eux, l'interprétation de Neo Technology de l'AGPL est erronée.

Comme la GPL, l'AGPL ne se propage qu'aux versions modifiées du code source AGPL. Tant l'AGPL que la GPL exigent que vous accordiez une licence à tout ce qui est modifié à partir du code source AGPL (ou même à tout nouveau code qui y est lié). La différence entre ces deux licences est que la GPL vous oblige uniquement à distribuer le code source lorsque vous distribuez le produit, pas lorsque vous rendez le produit accessible via le réseau (tel qu'un site web). L'AGPL le fait. Elle cible spécifiquement des éléments tels que les logiciels frontend utilisés pour les sites web et généralement placés sur un serveur et accessibles directement par le monde extérieur (pensez aux "applications web").

Si j'ai bien compris, Neo4J peut être intégré dans l'application. Par exemple, si votre application est un site web et que vous utilisez Neo4J incorporé dans le code de votre site, les termes de l'AGPL exigeront que vous publiiez le code source de votre site web, car votre logiciel (le site web) est considéré comme une œuvre dérivée de Neo4J, car il est lié à du code sous licence AGPL.

Cependant, si vous utilisez Neo4J en tant que serveur autonome, il n'y a pas d'exigence de licence de votre code en tant qu'AGPL. La seule chose qui pourrait rendre votre code "contaminé" par l'AGPL serait si vous utilisiez une bibliothèque (pilote) pour interagir avec le serveur qui était sous licence AGPL. Ce n'est pas le cas, les pilotes que j'ai vus étaient uniquement sous licence GPL.

De plus, cela est aggravé par le fait que vous n'avez même pas besoin d'une telle bibliothèque et la communication avec Neo4J se fait par une API REST HTTP. Créer un logiciel qui interagit avec un autre logiciel via une API REST ne qualifie en aucun cas votre logiciel de modification ou de dérivation du logiciel original, selon toute mesure ou toute licence, y compris selon les définitions de code dérivé fournies par des licences telles que la GPL et l'AGPL.

L'utilisation de l'AGPL pour le logiciel backend est plutôt malhonnête et inutile, car elle ne fait pas beaucoup plus que la GPL dans la plupart des cas. Notez que même si l'API REST n'existait pas et que les pilotes pour interagir avec Neo4J étaient tous sous licence AGPL, on pourrait facilement utiliser Neo4J dans un contexte commercial en ayant le module qui interagit avec Neo4J comme un logiciel séparé du reste de vos applications, et en communiquant strictement avec lui via une interface telle qu'une API SOAP ou REST HTTP. Ce logiciel devrait être sous licence AGPL, mais vous n'auriez pas besoin d'en distribuer le code source tant que vous ne distribuez pas le code ou ne laissez personne interagir directement avec votre module AGPL via le réseau. Mais vous n'avez même pas besoin de faire une telle chose, puisque Neo4J le fait déjà pour vous en exposant une API REST.

Ils devraient vraiment rédiger eux-mêmes une licence open source adaptée à leurs objectifs, puisque l'AGPL ne leur offre pas la protection qu'ils pensent obtenir. Peut-être n'ont-ils pas engagé un avocat ou ont-ils engagé quelqu'un avec une mauvaise connaissance des termes de licence open source.

11voto

Alin Points 224

À partir du site Web de neo4j 1 :

Vous développez des applications en ligne essentielles à votre entreprise en source fermée

Si vous utilisez Neo4j pour construire des applications en ligne en source fermée qui sont essentielles à votre entreprise, alors vous voudrez nous parler de l'octroi de licences commerciales pour les éditions avancées ou entreprise de Neo4j. Celles-ci offrent les fonctionnalités de surveillance, de sauvegarde et de haute disponibilité dont vous aurez besoin pour réussir - sans oublier l'accès au support de notre équipe d'ingénierie de premier plan. Si vous n'avez pas besoin des fonctionnalités de fiabilité des éditions avancées ou entreprise, alors vous êtes libre d'utiliser l'édition Communauté de Neo4j Server sous licence GPL - ce qui signifie que vous pouvez l'utiliser n'importe où vous utiliseriez quelque chose comme MySQL. Utilisé de cette manière, seules les modifications que vous apportez au logiciel Neo4j lui-même devraient être open-source et partagées avec la communauté.

10voto

Vagif Verdi Points 2380

L'AGPL signifie que la seule utilisation "libre" de la bibliothèque est lorsque votre application web est utilisée en interne par vos employés. Dans ce cas, vous pouvez conserver votre code source et ne pas le donner à qui que ce soit.

Mais si vous exposez votre application web à des utilisateurs externes (non vos employés), vous devez leur fournir un code source de votre application web. Ou acheter une licence commerciale.

6voto

user556634 Points 57

Sur la base de leurs commentaires ici, je suis totalement déçu par les employés de Neo4j. Ils agissent totalement de mauvaise foi car ils _contredisent_ la déclaration suivante, qui se trouve sur leur site Web. Veuillez la relire et ensuite présenter vos excuses pour ce qui équivaut à du vol à la tire de la communauté des développeurs.

"Vous construisez des applications en ligne essentielles à votre entreprise Si vous utilisez Neo4j pour construire des applications en ligne essentielles à votre entreprise, alors vous voudrez parler avec nous des licences commerciales des éditions Avancée ou Entreprise de Neo4j. Elles offrent les fonctionnalités de surveillance, de sauvegarde et de haute disponibilité dont vous aurez besoin pour réussir - sans oublier l'accès au support de notre meilleure équipe d'ingénierie.

Si vous n'avez pas besoin des fonctionnalités de fiabilité des éditions Avancée ou Entreprise, alors vous êtes libre d'utiliser la version Communauté de Neo4j Server sous licence GPL - ce qui signifie que vous pouvez l'utiliser partout où vous utiliseriez quelque chose comme MySQL. Utilisé de cette façon, seules les modifications que vous apportez au logiciel Neo4j lui-même doivent être open-source et partagées avec la communauté."

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X