Qu’est-ce qu’une licence AGPL ? Réponses aux principales questions
Les développeurs pensent souvent que les exigences en matière de licences logicielles relèvent de la responsabilité expresse du service juridique. Compte tenu du grand nombre de composants open source disponibles et des implications des exigences des licences, chaque développeur devrait au moins connaître les principes généraux qui régissent ces licences et la manière dont chacune d’elles peut affecter son logiciel.
Au vu des implications qui en découlent pour le projet, chaque équipe doit examiner toutes les exigences relatives à la licence de son logiciel. Avant de publier un logiciel mis à jour ou modifié, les organisations doivent effectuer un audit complet de la conformité des licences. En outre, le faire à chaque étape du projet peut éviter des problèmes ultérieurs. La licence publique générale GNU Affero (AGPL) mérite d’être étudiée.
Qu’est-ce qu’une licence AGPL ?
Commençons par nous intéresser à l’origine de la licence AGPL. En 1988, Richard Stallman a rédigé sa licence publique générale (GPL) visant à protéger les droits des créateurs à garder leurs logiciels en open source à tout moment. La licence GPL en est actuellement à sa troisième version (GPLv3), chaque nouvelle version améliorant la précédente.
Dans le cadre de la licence GPLv3, la Free Software Foundation (FSF) a fourni deux types de licences supplémentaires : la licence publique générale limitée (LGPLv3) et la licence publique générale Affero (AGPLv3). La version AGPL de la licence publique générale vise à appliquer des droits de copyleft complets à tous les logiciels qui l’utilisent.
Quels sont les avantages et les inconvénients de la licence AGPL ?
Dans la licence GPL standard, la clause de réciprocité entre en vigueur dès qu’un développeur publie un logiciel. Le principe du copyleft vise à mettre l’ensemble du code source à la disposition de toute la communauté open source. Avec la licence AGPL, les équipes des logiciels peuvent s’assurer que toutes les modifications apportées à la base de code sont mises à la disposition du public, même pour les applications côté serveur.
C’est la vocation du logiciel qui va déterminer laquelle des licences AGPL 3.0, LGPL 3.0 ou GPL 3.0 standard convient le mieux. Les licences copyleft sont idéales pour les développeurs qui veulent s’assurer que toutes les modifications ultérieures sont mises à la disposition de la communauté, tandis que les licences permissives comme la licence MIT leur donnent plus de liberté pour apporter des modifications propriétaires par la suite.
Quelques avantages de la licence AGPL :
Elle oblige les équipes à établir leur stratégie de licence dès le début du projet et à s’y tenir.
Elle garantit que tout extrait de code développé par la communauté open source reste disponible et empêche les autres de remanier et de vendre des logiciels open source.
Inconvénients de la licence AGPL :
Elle dissuade certaines équipes de créer des librairies open source, car elle oblige tous les autres codes à devenir des logiciels sous GPL.
Elle est parfois considérée comme excessive, car tout module dans une librairie dépendante qui utilise l’AGPL soumet tous les autres logiciels à des restrictions similaires.
Elle prive les équipes de la possibilité de rendre le logiciel propriétaire par la suite.
Les entreprises peuvent-elles utiliser les logiciels sous licence AGPL ?
Bien que tout le monde puisse utiliser la licence AGPLv3, celle-ci n’est pas populaire auprès des entreprises. Les restrictions imposées à toute version ultérieure du logiciel sous licence AGPL rendent son adoption difficile lorsqu’il existe des intérêts commerciaux concurrents.
La plupart des entreprises préfèrent utiliser des licences permissives qui leur donnent la liberté d’utiliser des composants open source et de transformer par la suite leur version du logiciel en produit commercial, contrairement à ce permet une licence copyleft comme l’AGPL.
Qu’est-ce qu’une licence copyleft ?
Les licences copyleft appliquent un principe défendu pour la première fois par Stallman dans son Manifeste GNU. Dans les années 1960, il était courant pour les développeurs de partager ouvertement tout code source afin de s’entraider, créant ainsi un sentiment de communauté et de collaboration. Cette tendance s’est affaiblie dans les années 1980, quand les organisations ont commencé à appliquer des droits d’auteur sur leur code source. Le copyleft est l’opposé du droit d’auteur : il autorise l’utilisation, la modification et la redistribution de tout code source sous une licence copyleft, comme la GPL.
Peut-on utiliser la licence AGPL avec des applications à code source fermé ?
La licence AGPLv3 est une licence copyleft forte qui impose d’utiliser l’open source pour tous les composants dérivés d’un travail antérieur. Elle met fin à l’échappatoire du côté serveur, où le code source n’est pas disponible si le logiciel n’est pas publié. La licence AGPL considère comme utilisateur toute personne qui accède à l’application côté serveur si elle est accessible au public. Pour les applications qui résident à l’intérieur du réseau de l’organisation, l’AGPL ne déclenche pas la publication du code source.
La licence AGPLv3 est-elle compatible avec la licence GPLv3 ?
Les utilisateurs qui combinent un travail sous la licence GPLv3 avec un logiciel sous licence AGPL peuvent conserver les droits de la licence GPLv3 sur le travail non modifié. Toute version modifiée du travail sous licence GPLv3 devra utiliser la licence AGPLv3.
La licence AGPL, en raison de son obligation open source n’est actuellement utilisée que dans moins de 1 % des projets open source.
Mettez en place une gestion efficace de la conformité des licences avec Snyk
Snyk peut aider les équipes qui ont besoin de maintenir un contrôle rigoureux de leur conformité aux licences. Notre outil de gestion des licences, pensé pour les développeurs, donne aux utilisateurs une vue claire des librairies et dépendances dans leur code. En aidant les développeurs à comprendre et à gérer la conformité des licences, cet outil permet d’éviter que le projet ne rencontre par la suite des problèmes imprévus. La solution de gestion de la conformité des licences de Snyk permet de s’assurer que tous les composants dérivés de travaux open source sont compatibles avec les exigences de l’entreprise en matière de licences.
Pour découvrir comment Snyk aide vos équipes à gérer les licences AGPL version 3, planifiez une démoou démarrez votre essai gratuitdès aujourd’hui.
Cap sur la capture du drapeau
Découvrez comment résoudre les défis de capture du drapeau en regardant notre atelier virtuel à la demande.