La licence open source du MIT exige-t-elle que les dérivés de travail soient rendus publics (sous licence MIT)?

9

Je recherche une licence open source pour une bibliothèque que je souhaite publier. Idéalement, on devrait être autorisé à utiliser cette bibliothèque dans des applications gratuites ou commerciales sans me payer de frais, mais si un travail dérivé de la bibliothèque est créé (toute amélioration de la bibliothèque par exemple), il devrait être mis à la disposition de tous sous ce même licence.

En d'autres termes, je veux mettre l'éthique suivante: "Vous bénéficiez gratuitement de ce travail, et si vous l'améliorez, je peux aussi bénéficier gratuitement de votre amélioration". C'est une licence de type copyleft que je recherche.

La licence MIT ressemble à une solution possible, mais il n'est pas clair pour moi si les œuvres dérivées du code couvert par cette licence DOIVENT être rendues publiques pour tout le monde. Quelqu'un peut-il clarifier / confirmer cela? S'il existe une autre licence open source plus appropriée couvrant mes besoins, je suis également intéressé. Merci.

Jérôme Verstrynge
la source
Une discussion un peu plus avancée est ici: programmers.stackexchange.com/questions/12394/…
Dipan Mehta

Réponses:

9

La licence MIT n'exige pas que les œuvres dérivées soient open source. Vous recherchez la GPL .

La GPL accorde aux destinataires d'un programme informatique les droits de la définition de logiciel libre et utilise le copyleft pour garantir que les libertés sont préservées chaque fois que l'œuvre est distribuée, même lorsque l'œuvre est modifiée ou ajoutée. La GPL est une licence copyleft, ce qui signifie que les œuvres dérivées ne peuvent être distribuées que sous les mêmes termes de licence ...

Fourmi
la source
1
La GPL oblige l'utilisateur à publier des travaux dérivés sous GPL, ce qui pousse trop de restrictions. Je souhaite uniquement que des modifications de ma bibliothèque soient disponibles. Dois-je utiliser LGPL?
Jérôme Verstrynge
8
Dans ce cas, oui - la LGPL est plus appropriée.
Ant
Notez que la (L) GPL ne se déclenche qu'en cas de redistribution. Un utilisateur final qui crée une œuvre dérivée pour un usage privé uniquement n'est pas lié par les obligations (L) GPL. Autrement dit, ce n'est pas une réponse à la question telle qu'elle est formulée.
MSalters
7
@MSalters: Je pense qu'il serait presque impossible de savoir que quelqu'un a dérivé quelque chose de votre code à moins qu'il ne l'ait publié sous une forme quelconque, ce qui rend ce problème quelque peu théorique.
Ant
6

Réponse courte

Une combinaison de la licence publique Eclipse et de la LGPL garantit exactement ce que vous souhaitez: les modifications de votre code doivent être rendues disponibles, mais l'utilisation du code dans un produit plus grand ne force pas le renouvellement de la licence du produit plus grand. La combinaison est nécessaire pour permettre au code d'être utilisé dans les projets GPL et non GPL.

C'est ainsi que des projets tels que JGraphT l'ont fait. Ils ont re-licencié leur projet sous EPL et LGPL. La motivation et la procédure sont décrites dans leur wiki .

Longue réponse

Je pense que la licence publique Mozilla ( MPL ) ou la licence publique Eclipse ( EPL ) est la licence que vous recherchez, car "si un travail dérivé de la bibliothèque est créé (toute amélioration de la bibliothèque par exemple), il [IS ] mis à la disposition de tous sous cette même licence. "

La licence MPL et EPL se situe entre GPL et MIT.

Le MIT permet à l'utilisateur de tout faire, y compris la modification, la vente et de ne pas rendre le code modifié à la communauté.

La GPL oblige l'utilisateur à donner tout le code à la communauté, même si votre bibliothèque ne représente que 1% de l'ensemble du produit.

LGPL oblige l'utilisateur à divulguer la modification de la partie LGPL du code.

MPL et EPL sont similaires à LGPL: cela oblige également l'utilisateur à rendre disponible la source modifiée. La "source modifiée" comprend uniquement la partie du code couvert par MPL / EPL. Cela signifie que l'utilisateur peut créer un nouveau produit à partir de votre bibliothèque. S'il modifie la partie MPL / EPL, il doit la publier. Les nouvelles choses de lui n'ont pas besoin d'être publiées.

Je pense que le MPL / EPL est plus approprié, car LGPL parle explicitement de "bibliothèques" et MPL ne parle que de "Covered Software" (qui est une portée plus large).

Cependant, le choix d'EPL cause des problèmes avec le peignage du logiciel avec le logiciel GPL: l'EPL n'est pas compatible avec GPL . Ce n'est pas le cas si vous utilisez simplement le MPL .

Si vous souhaitez vous assurer que votre code peut être utilisé à la fois dans des projets GPL et non GPL, double licence du code sous LGPL et EPL comme décrit dans la réponse courte.

Exemples

  • JGraphT
  • déconnexion
  • qooxdoo . Ils prévoient "de simplifier et de moderniser les conditions de licence de qooxdoo" et passent ainsi de la double licence au MIT.
koppor
la source
Pouvez-vous expliquer pourquoi vous pensez que le MPL correspond aux critères que le PO recherche?
maple_shaft
La «double licence» devrait-elle ressembler à «si vous utilisez ce logiciel dans un produit sous GPL, ce logiciel vous est concédé sous licence GPL, sinon, sous MPL»? Y a-t-il des projets qui font une telle chose?
9000
@ 9000 Selon la FAQ de GNU , le code est couvert par MPL et GNU. Le deuxième paragraphe est un peu étrange et je n'ai pas vraiment compris les implications.
koppor