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.