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.
- Indication des modificationsLes modifications apportées à l'original doivent être signalées.
- Divulgation du sourceLe code source doit être fourni lors de la distribution.
- Même licenceLes versions modifiées et dérivés doivent être distribués sous la même licence (ou une licence compatible).
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 GPL (GNU General Public License) 3.0 a été publiée par la Free Software Foundation (FSF) le 29 juin 2007. Elle repose sur le principe du copyleft : chacun peut librement utiliser, étudier, modifier et distribuer le logiciel, mais en cas de distribution, il faut garantir les mêmes libertés aux destinataires. Distribuer un programme qui inclut ce code ou le combine impose de fournir l'ensemble du programme sous GPL avec le code source correspondant. GNU Bash, GIMP et GNU Emacs, entre autres, utilisent la GPL-3.0-or-later.
Ce qui a changé par rapport à la GPL-2.0
- Licence de brevets explicite (article 11) : les contributeurs accordent les droits de brevet nécessaires à leur contribution.
- Informations d'installation (Installation Information) : si vous distribuez un logiciel GPL-3.0 intégré à un « produit utilisateur (User Product) » comme un appareil domestique, vous devez aussi fournir les informations (clés de signature, etc.) permettant d'installer un logiciel modifié sur cet appareil (article 6). On parle couramment de disposition « anti-tivoïsation ».
- Délai de régularisation (article 8) : en cas de première violation, les droits sont rétablis si vous corrigez la situation dans les 30 jours suivant la notification du titulaire. Avec la GPL-2.0, les droits prenaient fin dès la violation.
- Compatibilité élargie : elle accepte le code Apache-2.0 et peut être combinée avec l'AGPL-3.0 (article 13).
Ce qu'il faut respecter lors de la distribution
- Fournir la source correspondante complète (scripts de compilation inclus), ou la fournir par l'un des moyens de l'article 6, comme une offre écrite.
- Conserver les mentions de droit d'auteur et de licence, et indiquer le fait et la date des modifications (article 5).
- Ne pas imposer de conditions supplémentaires restreignant les droits que la GPL accorde aux destinataires (p. ex. un contrat interdisant la redistribution).
Idées reçues fréquentes
- « Utiliser du code GPL oblige toujours à publier » — L'obligation naît lors de la transmission (conveying). Si vous l'utilisez uniquement en interne ou seulement sur un serveur, l'obligation de fournir le source de la GPL-3.0 ne s'applique pas. Pour couvrir aussi l'usage réseau, il faut l'AGPL-3.0.
- « Un logiciel GPL ne peut pas être vendu » — Il peut l'être. Vous ne pouvez simplement pas empêcher les destinataires de le redistribuer.
- « Mon programme qui tourne sur un programme GPL devient aussi GPL » — Les programmes exécutés séparément ou qui communiquent par des moyens standard sont généralement considérés comme un « agrégat ». L'appréciation de la combinaison varie selon le mode de liaison et d'échange de données.
- « La GPL-3.0 et la GPL-2.0 sont compatibles » — Si la GPL-2.0 est en version only et non « or later », elles sont incompatibles (guide only vs or-later).
Comment l'appliquer
Placez le texte tel quel dans LICENSE (ou COPYING selon la convention GNU) et ajoutez l'avis officiel GNU en tête de chaque fichier source. C'est cet avis qui détermine l'option « or later ». Les identifiants SPDX sont GPL-3.0-only ou GPL-3.0-or-later (le simple GPL-3.0 est un identifiant obsolète dans SPDX).
Dans quels cas l'utiliser ?
Elle convient aux applications, outils et projets communautaires dont l'auteur souhaite que les améliorations fondées sur son code ne s'échappent pas dans des produits fermés mais reviennent à tous. Pour une bibliothèque, envisagez aussi la LGPL-3.0 afin que des applications fermées puissent l'utiliser.
Peut-on intégrer du code GPL-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) | Impossible | Tout le programme combiné et distribué devrait être publié avec son source sous la même licence GNU : impossible de l'intégrer en conservant la licence du projet. |
| MIT | Impossible | Tout le programme combiné et distribué devrait être publié avec son source sous la même licence GNU : impossible de l'intégrer en conservant la licence du projet. |
| Apache-2.0 | Impossible | Tout le programme combiné et distribué devrait être publié avec son source sous la même licence GNU : impossible de l'intégrer en conservant la licence du projet. |
| MPL-2.0 | Impossible | Tout le programme combiné et distribué devrait être publié avec son source sous la même licence GNU : impossible de l'intégrer en conservant la licence du projet. |
| LGPL-2.1 | Possible sous conditions | L'ensemble combiné doit être distribué selon les conditions de la GPL-3.0. |
| LGPL-3.0 | 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é. |
| AGPL-3.0 | Possible | 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.