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.
- Usage réseau assimilé à une distributionLes utilisateurs qui interagissent via le réseau ont aussi droit au code source.
- 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 ?
L'AGPL-3.0 a été publiée par la FSF en novembre 2007. Son texte est presque identique à celui de la GPL-3.0, à l'exception de l'article 13 « Interaction à distance via un réseau ». Avec la GPL, l'obligation de fournir le source ne naît que lors de la « distribution » du programme : un service web qui exécute un logiciel GPL modifié uniquement sur ses serveurs n'a donc pas à publier son source. C'est ce qu'on appelle la « faille SaaS ». L'AGPL la comble. Mastodon, le serveur Nextcloud et Grafana (passé de l'Apache-2.0 en 2021) utilisent l'AGPL-3.0.
Ce qu'exige l'article 13
Si vous modifiez le programme, vous devez offrir de manière visible à tous les utilisateurs qui interagissent à distance avec cette version modifiée via un réseau informatique la possibilité d'obtenir la source correspondante. On y satisfait généralement en plaçant un lien « Code source » dans l'interface du service.
Ce qu'il faut respecter lors de la distribution
Toutes les obligations de la GPL-3.0 (fourniture du source, conservation des mentions, indication des modifications, même licence, interdiction de restrictions supplémentaires) s'appliquent telles quelles, auxquelles s'ajoute l'article 13.
Idées reçues fréquentes
- « Utiliser un logiciel AGPL sur un serveur m'oblige à publier tout mon service » — L'article 13 exige le source du programme modifié lorsqu'il est proposé via le réseau. L'interprétation courante est qu'utiliser une base de données AGPL non modifiée dans un processus séparé ne crée pas à lui seul d'obligation pour toute votre application, mais l'appréciation peut varier selon le mode de combinaison.
- « L'AGPL interdit l'usage commercial » — Non. Elle peut être utilisée dans des services commerciaux, à condition d'en respecter les conditions.
- « L'AGPL n'est pas open source » — C'est une licence open source approuvée par l'OSI et une licence de logiciel libre reconnue par la FSF. La confusion vient du passage de MongoDB de l'AGPL à la SSPL en 2018, mais la SSPL est une licence distincte qui n'a pas obtenu l'approbation de l'OSI.
- « Elle ne peut pas être mélangée avec du code GPL » — La GPL-3.0 et l'AGPL-3.0 autorisent la combinaison par leur article 13 respectif. Dans l'ensemble combiné, la clause réseau de la partie AGPL est maintenue.
Comment l'appliquer
Placez le texte tel quel dans LICENSE et ajoutez l'avis officiel AGPL dans chaque fichier. Pour un service web, intégrer au code une fonction qui affiche un lien vers le dépôt source dans l'interface utilisateur aide aussi ceux qui exploitent une version modifiée à respecter l'article 13. L'identifiant SPDX est AGPL-3.0-only ou AGPL-3.0-or-later.
Dans quels cas l'utiliser ?
Elle sert surtout à publier des logiciels qui tournent principalement sur des serveurs (applications web, outils collaboratifs, plateformes d'analyse) tout en empêchant d'autres entreprises d'exploiter des versions modifiées sous forme de services fermés. Elle est aussi souvent choisie dans les modèles de double licence associés à une licence commerciale.
Peut-on intégrer du code AGPL-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. 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. |
| LGPL-3.0 | Possible sous conditions | L'ensemble combiné doit être distribué selon les conditions de la 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. |
| 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 sous conditions | 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.