Autorisations, conditions et limitations en un coup d'œil
Conditions
- Mention de droit d'auteur et de licenceLors de la distribution, une copie de la licence et la mention de droit d'auteur doivent être incluses.
- Divulgation du sourceLe code source doit être fourni lors de la distribution.
- Indication des modificationsLes modifications apportées à l'original doivent être signalées.
- Même licence (par bibliothèque)Les modifications de la bibliothèque doivent rester sous la même licence, mais cela peut ne pas s'appliquer aux programmes qui l'utilisent.
Limitations
- Limitation de responsabilitéLa licence précise qu'aucune responsabilité n'est assumée pour les dommages.
- Absence de garantieLa licence précise qu'aucune garantie n'est fournie.
Classement autorisations/conditions/limitations : données de choosealicense.com (GitHub, licence MIT).
De quelle licence s'agit-il ?
La LGPL (GNU Lesser General Public License) 3.0 est une licence pour bibliothèques publiée le même jour que la GPL-3.0 (29 juin 2007). Ce n'est pas un document complet et autonome mais la GPL-3.0 assortie de permissions supplémentaires : son texte commence d'ailleurs par « les conditions de la version 3 de la GPL, complétées par les permissions supplémentaires suivantes ». La principale permission supplémentaire consiste à pouvoir distribuer aux conditions de votre choix un programme qui utilise la bibliothèque (Combined Work). Les modifications apportées à la bibliothèque elle-même doivent toujours être publiées sous LGPL (ou GPL). Qt (au choix LGPL-3.0, GPL ou licence commerciale) en est un exemple typique.
Distribuer un programme qui utilise la bibliothèque (article 4)
- Indiquer de façon visible que le programme utilise une bibliothèque LGPL et que la LGPL s'applique.
- Fournir des copies de la GPL-3.0 et de la LGPL-3.0.
- Permettre à l'utilisateur de remplacer la bibliothèque par une version modifiée. La liaison dynamique (bibliothèque partagée) y satisfait généralement ; en cas de liaison statique, il faut fournir par exemple les fichiers objets permettant de relier à nouveau.
- Ne pas imposer de conditions interdisant l'ingénierie inverse destinée au débogage de ces modifications.
- Fournir la source correspondante de la partie bibliothèque et, pour un produit utilisateur, les informations d'installation de l'article 6 de la GPL-3.0.
Idées reçues fréquentes
- « Utiliser une bibliothèque LGPL oblige à publier le source de l'application » — Non. Si vous respectez les conditions ci-dessus, l'application peut rester fermée. L'obligation de publication porte sur les modifications de la bibliothèque elle-même.
- « La liaison statique est strictement interdite » — Elle n'est pas interdite. Elle est simplement contraignante, car il faut fournir les fichiers objets, etc., pour que l'utilisateur puisse remplacer la bibliothèque et relier le programme.
- « La LGPL-3.0 peut être utilisée dans un projet GPL-2.0 » — Elle est incompatible avec la GPL-2.0-only. Pour combiner, le projet doit pouvoir être distribué sous GPL-3.0.
Comment l'appliquer
Par convention, on place ensemble le texte de la GPL-3.0 dans COPYING et celui de la LGPL-3.0 dans COPYING.LESSER (le générateur fournit les deux fichiers). Dans chaque fichier source, on utilise l'avis GNU en remplaçant « General Public License » par « Lesser General Public License ». L'identifiant SPDX est LGPL-3.0-only ou LGPL-3.0-or-later.
Dans quels cas l'utiliser ?
Elle convient aux bibliothèques dont l'auteur souhaite une large adoption, y compris dans des applications fermées, tout en voulant que les améliorations de la bibliothèque elle-même soient publiées. Si vous voulez un copyleft faible plus simple, par fichier, comparez aussi avec la MPL-2.0. La comparaison est détaillée dans le guide Permissive ou copyleft.
Peut-on intégrer du code LGPL-3.0 dans un autre projet ?
Verdict général lorsque du code publié sous cette licence est intégré et distribué dans un projet sous l'une des licences ci-dessous. Voir d'autres combinaisons dans le vérificateur de compatibilité →
| Projet de destination | Verdict | Remarque |
|---|---|---|
| Logiciel propriétaire (commercial) | Possible sous conditions | L'utilisation par liaison en tant que bibliothèque est possible, mais l'utilisateur doit pouvoir remplacer et relier la partie LGPL, et la source de la partie LGPL doit être fournie. Si vous copiez et mélangez le code, l'ensemble combiné doit respecter les conditions de la (L)GPL. |
| MIT | Possible sous conditions | L'utilisation par liaison en tant que bibliothèque est possible, mais l'utilisateur doit pouvoir remplacer et relier la partie LGPL, et la source de la partie LGPL doit être fournie. Si vous copiez et mélangez le code, l'ensemble combiné doit respecter les conditions de la (L)GPL. |
| Apache-2.0 | Possible sous conditions | L'utilisation par liaison en tant que bibliothèque est possible, mais l'utilisateur doit pouvoir remplacer et relier la partie LGPL, et la source de la partie LGPL doit être fournie. Si vous copiez et mélangez le code, l'ensemble combiné doit respecter les conditions de la (L)GPL. |
| MPL-2.0 | Possible sous conditions | L'utilisation par liaison en tant que bibliothèque est possible, mais l'utilisateur doit pouvoir remplacer et relier la partie LGPL, et la source de la partie LGPL doit être fournie. Si vous copiez et mélangez le code, l'ensemble combiné doit respecter les conditions de la (L)GPL. |
| LGPL-2.1 | Possible sous conditions | L'ensemble combiné doit être distribué selon les conditions de la GPL-3.0. |
| GPL-2.0 | Impossible | Le code en version 3.0 n'est pas compatible avec les conditions de la GPL-2.0 (only) et ne peut pas y être intégré. |
| GPL-3.0 | Possible | La LGPL-3.0 étant la GPL-3.0 assortie de permissions supplémentaires, il suffit d'ignorer ces permissions dans un ensemble combiné sous GPL-3.0. |
| AGPL-3.0 | Possible | La LGPL-3.0 étant la GPL-3.0 assortie de permissions supplémentaires, il suffit d'ignorer ces permissions dans un ensemble combiné sous GPL-3.0. La GPL-3.0 et l'AGPL-3.0 autorisent la combinaison par leur article 13 respectif. Dans l'ensemble combiné, l'obligation de fournir le source via le réseau pour la partie AGPL demeure. |
Le contenu de ce site est fourni à titre d'information générale et ne constitue pas un conseil juridique. Pour toute décision de distribution, de contrat ou de litige, consultez un avocat ou un autre professionnel.