Dans le monde des logiciels libres, les licences jouent un rôle crucial en définissant les droits et obligations des utilisateurs et développeurs.
Parmi elles, la licence AGPL (Affero General Public License) se distingue par son approche stricte en matière de partage de code. Si elle garantit une transparence maximale, elle soulève également des inquiétudes, notamment pour les entreprises qui souhaitent intégrer des logiciels sous AGPL dans leurs projets. Alors, la licence AGPL est-elle une menace ou une opportunité pour les entreprises ? Cet article explore ses spécificités, ses avantages et ses inconvénients.
Les principaux types de licences open source
Pour comprendre la spécificité de l'AGPL, il est essentiel de situer cette licence dans le paysage plus large des licences open source. Voici un aperçu des principales catégories :
- Licences permissives :
Ces licences, comme la MIT ou la Apache 2.0, permettent une grande liberté d'utilisation, y compris dans des projets propriétaires. Elles sont prisées par les entreprises pour leur flexibilité. - Licences copyleft :
La GNU GPL (General Public License) impose que tout logiciel dérivé reste sous la même licence, garantissant ainsi le partage des améliorations. - Licences copyleft renforcé :
L'AGPL appartient à cette catégorie. Elle va plus loin que la GPL en exigeant que le code source soit partagé non seulement pour les logiciels distribués, mais aussi pour ceux utilisés via un réseau (comme les applications web).
Pour une explication plus détaillée, vous pouvez vous référer à ces deux très bons articles :

Les différents types de licences open source expliqués par sfeir.dev

Différences entre licences GPL et MIT
Dans cet article, nous allons expliquer plus en détails la licence AGPL.
Qu'est-ce que la licence AGPL ?
La licence AGPL, introduite par la Free Software Foundation, vise à combler une lacune de la licence GPL. Avec l'essor des services en ligne, de nombreux logiciels GPL sont utilisés sans être distribués (c'est-à-dire recopiés dans le but d'être installés), échappant ainsi à l'obligation de partage du code source. L'AGPL corrige cela en imposant que tout logiciel modifié, même utilisé uniquement via un réseau, soit rendu public.
Les obligations imposées par l'AGPL :
- Partage du code source : Toute modification d'un logiciel AGPL doit être rendue publique, même si le logiciel n'est pas distribué physiquement, mais seulement rendu accessible via le réseau (en tant que service SaaS par exemple).
- Transparence totale : Les utilisateurs finaux doivent avoir accès au code source complet, y compris pour les applications web.
Cas d'utilisation typique :
Un exemple concret est Minio, un système de stockage objet compatible Amazon S3 qui a adopté l'AGPL au détriment de la licence Apache utilisée précédemment. Cette décision illustre les tensions entre les avantages du modèle open source et les contraintes imposées par les nouveaux modes de distribution des logiciels sur le Cloud. D'autres éditeurs comme MongoDB ou Elastic Search sont dans une démarche similaire avec une évolution vers des licences plus restrictives ressemblant à l'AGPL.
Une interprétation de la License tout en nuance
Il est important de se poser la question: est-il possible d'intégrer un composant sous AGPL ou GPL dans une solution propriétaire ? (tant que ce composant n'est pas modifié ni amélioré).
Rappelons que le noyau Linux est sous licence GPL, alors qu'il est à la base d'innombrables solutions propriétaires. Cependant, cet exemple ne peut pas être généralisé pour autant, et chaque cas doit être étudié par un juriste afin de s'assurer de la conformité de votre projet.
En revanche, il n'est pas conforme à cette licence de développer un composant basé sur un élément AGPL et de diffuser ce composant sans publier les changements apportés au code source. De même, proposer un composant dérivé d'un logiciel AGPL via Internet selon un modèle SaaS (Software as a Service) sans publier les modifications du code source constitue une violation des termes de la licence AGPL, qui a été spécifiquement conçue pour combler la "faille SaaS" présente dans d'autres licences libres comme la licence GPL.
Exemple de contentieux
L'étude juridique ne doit pas être prise à la légère, car dans certains cas, l'entreprise éditrice du composant sous licence libre peut se retourner contre les distributeurs qu'elle estime enfreindre les termes de la licence. Par exemple, Minio estime que Nutanix ne respecte pas les termes de la licence pour son produit Nutanix Objects, basé sur Minio, mais dont le code source n'est pas distribué.
Si certains éditeurs optent pour une posture plutôt stricte, d'autres annoncent clairement les règles comme ProjecQtOr.

Différences entre GPL et AGPL
Afin de comprendre ces différences, il suffit de comparer les deux contrats de licence.
- Texte officiel de la licence AGPL
- Texte officiel de la licence GPL
En entrant ces deux documents dans un comparateur de texte, nous constatons seulement deux différences principales: le préambule et l'article 13.
Préambule de la licence AGPL
Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software.
A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public.
The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.
An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license.
Ici, il est expliqué la différence entre les deux licences (GPL et AGPL).
La seconde différence concerne l'article 13, qui reprend ce concept plus en détails, et qui stipule que les licences AGPL et GPL sont compatibles.
En résumé, ce que montre la comparaison des deux contrats est que la licence GPL s'applique pour les logiciels distribués (une copie transmise à un tiers), alors que la licence AGPL s'applique également aux logiciels accédés par le réseau (comme un service en mode SaaS).
Les inconvénients et risques de l'AGPL
L'AGPL n'est pas sans poser des défis, notamment pour les entreprises :
- Risque de divulgation involontaire :
Les entreprises doivent être vigilantes pour éviter de partager des informations sensibles ou stratégiques via le code source. - Incompatibilité avec les modèles propriétaires :
L'AGPL peut limiter l'intégration de logiciels dans des projets commerciaux, en raison de son obligation de partage, comme nous l'avons détaillé précédemment. - Complexité juridique :
Comprendre et respecter les obligations de l'AGPL peut nécessiter des ressources juridiques importantes, en particulier pour les entreprises novices en open source. - Réputation et perception :
Certaines entreprises hésitent à utiliser des logiciels AGPL par crainte d'être perçues comme trop "ouvertes" ou vulnérables.
Comment les entreprises peuvent-elles tirer parti de l'AGPL ?
Pour exploiter les avantages de l'AGPL tout en minimisant ses risques, les entreprises peuvent adopter plusieurs stratégies :
- Audit juridique et technique :
Avant d'intégrer un logiciel AGPL, il est crucial de comprendre ses implications juridiques et techniques. - Formation des équipes :
Sensibiliser les développeurs et les décideurs aux spécificités de l'AGPL peut éviter des erreurs coûteuses. - Contribution à la communauté :
En participant activement au développement de logiciels AGPL, les entreprises peuvent renforcer leur image de marque et bénéficier des retours de la communauté. - Définir une politique open source claire :
Une politique interne bien définie peut guider les décisions concernant l'utilisation et la contribution aux logiciels open source.
Conclusion : Menace ou opportunité ?
La licence AGPL est à la fois une chance et un défi pour les entreprises. Si elle garantit une transparence maximale et favorise l'innovation collaborative, elle impose également des contraintes juridiques et techniques importantes. Pour les entreprises prêtes à jouer le jeu de l'open source, l'AGPL peut être un levier puissant d'innovation et de différenciation. Cependant, pour celles qui privilégient des modèles propriétaires ou qui ne souhaitent pas partager leur code, elle peut représenter un frein.