LGPL l' exige si un programme utilise la bibliothèque éditée par LGPL, les utilisateurs doivent être capables de reconnecter le programme avec une version différente de la bibliothèque:
...
d) Effectuez l'une des actions suivantes:
0) Transmettre la source minimale correspondante selon les termes de cette licence et le code d'application correspondant sous une forme adaptée à, et selon des conditions qui permettent à l'utilisateur de recombiner ou de relier l'application avec une version modifiée de la version liée pour produire un Travail combiné modifié, de la manière spécifiée par la section 6 de la GNU GPL pour le transport de la source correspondante.
1) Utilisez un mécanisme de bibliothèque partagée approprié pour établir un lien avec la bibliothèque. Un mécanisme approprié est celui qui (a) utilise au moment de l'exécution une copie de la bibliothèque déjà présente sur le système informatique de l'utilisateur, et (b) fonctionnera correctement avec une version modifiée de la bibliothèque qui est compatible avec l'interface avec la version liée.
...
Cependant, dans certains cas, cela peut poser des difficultés considérables. En particulier, les programmes Haskell sont presque toujours compilés statiquement. De plus, le compilateur fait des optimisations inter-modules, il n'est donc pas possible de retirer une partie du code et de le remplacer par une autre. Il est donc très difficile de satisfaire à cette condition. (Voir ce lien sur le wiki de Haskell.)
La liaison dynamique serait une solution, mais dans de nombreux cas, ce n'est pas possible. Par exemple:
- Certaines plates-formes peuvent ne pas avoir de lien dynamique du tout.
- Certaines langues n'ont pas la possibilité de liens dynamiques. Ou, il n'est pas possible de faire des modules multi-plateformes.
- Dans certains cas, la liaison dynamique empêcherait des optimisations importantes. Alors que je dirais que c'est rarement un problème grave, dans des langues comme Haskell, la perte de performances pourrait être considérable.
Par conséquent, je recherche une licence standard de type LGPL qui ne nécessiterait pas la possibilité de se reconnecter (et je comprends que cela supprime un peu de liberté accordée aux utilisateurs). Certains projets utilisent leur propre modification de LGPL, par exemple wxWidgets . Mais je préfère utiliser une licence standard qui est un peu plus officielle, peut-être vérifiée par certains experts juridiques, et compatible (L) GPL. Y en a-t-il comme ça?
(Je serais également intéressé de savoir s'il y a des conséquences imprévues d'une telle modification de la LGPL.)