Que dois-je faire exactement si j'utilise une bibliothèque sous licence LGPL?

48

J'ai lu ces questions et réponses , mais je ne comprends toujours pas ce que je dois faire si je me connecte dynamiquement à une bibliothèque utilisant une licence LGPL (la bibliothèque SDL dans mon cas).

Si je comprends bien le texte de la LGPL , je dois en quelque sorte fournir la source de la bibliothèque. Est-ce assez? Si non, que faut-il faire d'autre?

BЈовић
la source

Réponses:

47

L'exigence de base de LGPL est de séparer suffisamment la bibliothèque sous licence LGPL et votre propre produit . Cela devrait permettre aux utilisateurs de fournir leur propre version de la bibliothèque au lieu de celle livrée avec votre logiciel (avec les bogues corrigés, par exemple). Pour ce faire, vous avez deux options:

  • utiliser le code LGPL en tant que bibliothèque partagée (pour que les utilisateurs puissent simplement copier leur fichier binaire de la bibliothèque sur celui que vous avez envoyé), ou
  • fournir le code source de l'ensemble du projet (afin que les utilisateurs puissent copier leur source de la bibliothèque et tout recompiler).

Notez cependant que la simple séparation n'est pas suffisante, bien que requise. Vous devez fournir à vos utilisateurs un moyen documenté de remplacer une bibliothèque par leur version (par exemple, comment télécharger un microprogramme ou recompiler un wrapper Python pour une bibliothèque LGPL C ++).

La deuxième clause notable est l' exigence d'attribution . Cela devrait aider à promouvoir le nom du développeur original de la bibliothèque et à indiquer que le logiciel génial a peut-être été développé par quelqu'un d'autre :). Dans la section appropriée de la fenêtre "À propos de" ou dans un fichier README (si votre licence est Apache, il s'agira d'un NOTICEfichier), vous devez indiquer le nom du travail LGPL que vous avez utilisé.

Notez que je ne suis pas avocat et qu'il ne s'agit pas d'un conseil juridique. Notez que je ne suis pas non plus un plombier et qu'il ne s'agit pas d'un conseil sanitaire.

P Shved
la source
13

Si vous liez statiquement la bibliothèque LGPL, vous devez fournir la source de la bibliothèque et le code source ou le code objet de votre application.

Si vous liez de manière dynamique la bibliothèque LGPL, vous pouvez soit distribuer votre application seule, sans la bibliothèque, et indiquer aux utilisateurs où le télécharger et comment l'inclure, comment l'utiliser. Ou vous pouvez inclure une copie des fichiers binaires de la bibliothèque et de sa source avec votre application.

Ceci l'explique assez bien: http://answers.google.com/answers/threadview/id/439136.html (que j'ai tiré d'une réponse dans la question liée au PO)

IANAS

Matt Ellen
la source
2
^ Ceci. La clé est la suivante: le consommateur de produit obtient une application avec une bibliothèque LGPL. Peuvent-ils améliorer la partie LGPL et utiliser la nouvelle version améliorée avec le produit d'origine? Si oui, alors vous vous êtes conformé à l'objectif prévu de la LGPL. LGPLv3 indique clairement que même si le produit est un micrologiciel intégré, vous devez toujours permettre à l'utilisateur final de remplacer le composant LGPL . Cela signifie pouvoir recompiler le micrologiciel complet avec une nouvelle version de la bibliothèque et le charger sur le périphérique . (D'après ce que j'ai compris, IANAL, il ne s'agit pas d'un conseil juridique.)
Scott Whitlock Le
@Scott: Je pense que la partie intégrée / firmware ne s'applique que s'il est possible de changer le firmware sur le périphérique.
David Thornley
Que signifie le "S" dans "IANAS"?
Joe Z.
1
@ JoeZeng Solicitor
Matt Ellen
1

IANAL, mais je crois comprendre que le point essentiel de la LGPL est qu’elle ne "infecte" pas le code en fonction de la GPL ou de l’AGPL. Vous pouvez donc avoir le code LGPL en tant que dépendance, sans rien faire.

Cela dit, si vous modifiez / modifiez / distribuez du code LGPL avec votre application, vous devez le rendre public.

Jason Lewis
la source
N'y a-t-il pas eu un accord / une entente sur le fait que "la publication publique de la source" pourrait être satisfaite en incluant une URL liée à la source / au référentiel d'origine? (En supposant que vous utilisiez une version non modifiée de votre produit, bien sûr.) J'ai été un peu surpris d'entendre cela, alors cela pourrait en fait être complètement faux :).
TMN