A ceci pres que ceci presuppose que le linkage avec une librairie produit une oeuvre derivee. C'est assez controverse. Admettons que ce soit le cas. Un probleme present est aussi qu'on ne peut changer la licence d'un code dont on est proprietaire.
Beaucoup de licences libres (reconnues tant par la FSF que par l'OSI) sont incompatibles avec la GPL, empechant le linkage de morceaux de codes libres entre eux... C'est d'ailleurs pourquoi la licence Apache explique que le linkage ne produit pas d'oeuvre derivee, tandis que c'est sous-entendu dans l'OSL. Les licences restent copyleft, mais dans un sens moins restrictif que la GPL. Le copyleft fort de la GPL est peu retrouve ailleurs, et la plupart du temps, il est possible d'utiliser une lib proprietaire avec un logiciel libre (meme si ce n'est pas conseille)... pour autant que la licence choisie ne soit pas la GPL. Je considere donc la GPL techniquement comme plus contraignante que d'autres licences libres, car c'est elle qui introduit ce copyleft fort.
L'appellation virale ou contagieuse sert souvent a designer ce caractere copyleft. Si on considere que le copyleft ne s'applique pas au linkage avec une librairie, il est permis l'utiliser un programme sous licence LA avec une librairie sous licence LB avec des licences incompatibles.
On arrive aussi a des cas bizarres. Un exemple est la librairie CBLAS. L'implementation d'ATLAS est sous BSD, et celle de la GSL sous GPL. Un code utilisant cblas et lie dynamiquement a une implementation de cblas peut etre distribue independamment de celui, mais ne peut etre utilise avec la GSL s'il n'est pas sous GPL, et si l'est, il ne peut l'etre avec une implementation proprietaire (style le cblas d'INTEL). L'interface cblas est standardisee, donc le developpeur n'a pas a se soucier du choix de la librairie... excepte pour la licence. Et via quelques precautions, sauf erreur de ma part, l'utilisateur peut changer de librairie cblas sans devoir recompiler le programme appelant, donc en conservant le meme binaire. On peut donc arriver a un casse-tete assez propre a la GPL, et je n'ose me prononcer sur la validite juridique. Il faut a mon sens etre conscient de ceci avant de choisir de coder en GPL. Le developpeur qui n'est pas d'accord avec cette interpretation forte de la notion d'oeuvre derivee, et dans un certains sens, viral, devra considere une autre licence libre. La LGPL repond partiellement a ce point, excepte la clause permettant de passer un code LGPL sous GPL. Les autres licences copyleft sont typiquement incompatibles avec la GPL. Bref, c'est pas si simple que cela... Certains auteurs ont d'ailleurs abandonne la GPL pour l'OSL pour ces raisons (exemple: msnlib).
[^] # Re: Viral
Posté par slashbin . En réponse à la dépêche Vers une licence libre européenne promue par la commission ?. Évalué à 1.
Beaucoup de licences libres (reconnues tant par la FSF que par l'OSI) sont incompatibles avec la GPL, empechant le linkage de morceaux de codes libres entre eux... C'est d'ailleurs pourquoi la licence Apache explique que le linkage ne produit pas d'oeuvre derivee, tandis que c'est sous-entendu dans l'OSL. Les licences restent copyleft, mais dans un sens moins restrictif que la GPL. Le copyleft fort de la GPL est peu retrouve ailleurs, et la plupart du temps, il est possible d'utiliser une lib proprietaire avec un logiciel libre (meme si ce n'est pas conseille)... pour autant que la licence choisie ne soit pas la GPL. Je considere donc la GPL techniquement comme plus contraignante que d'autres licences libres, car c'est elle qui introduit ce copyleft fort.
L'appellation virale ou contagieuse sert souvent a designer ce caractere copyleft. Si on considere que le copyleft ne s'applique pas au linkage avec une librairie, il est permis l'utiliser un programme sous licence LA avec une librairie sous licence LB avec des licences incompatibles.
On arrive aussi a des cas bizarres. Un exemple est la librairie CBLAS. L'implementation d'ATLAS est sous BSD, et celle de la GSL sous GPL. Un code utilisant cblas et lie dynamiquement a une implementation de cblas peut etre distribue independamment de celui, mais ne peut etre utilise avec la GSL s'il n'est pas sous GPL, et si l'est, il ne peut l'etre avec une implementation proprietaire (style le cblas d'INTEL). L'interface cblas est standardisee, donc le developpeur n'a pas a se soucier du choix de la librairie... excepte pour la licence. Et via quelques precautions, sauf erreur de ma part, l'utilisateur peut changer de librairie cblas sans devoir recompiler le programme appelant, donc en conservant le meme binaire. On peut donc arriver a un casse-tete assez propre a la GPL, et je n'ose me prononcer sur la validite juridique. Il faut a mon sens etre conscient de ceci avant de choisir de coder en GPL. Le developpeur qui n'est pas d'accord avec cette interpretation forte de la notion d'oeuvre derivee, et dans un certains sens, viral, devra considere une autre licence libre. La LGPL repond partiellement a ce point, excepte la clause permettant de passer un code LGPL sous GPL. Les autres licences copyleft sont typiquement incompatibles avec la GPL. Bref, c'est pas si simple que cela... Certains auteurs ont d'ailleurs abandonne la GPL pour l'OSL pour ces raisons (exemple: msnlib).