« Le code sous licence AGPL (Affero General Public License) ne doit pas être utilisé chez Google »
l'entreprise avertit ses développeurs que l'AGPL comporte plus de risques que d'avantages

Google d'Alphabet a interdit depuis plus d'une décennie l'utilisation de la licence GNU AGPL (Affero General Public License) autour de son écosystème d'outil. La société estime qu'en raison du fait qu'une grande partie de son code est intégrée, l'utilisation de cette licence représente un risque énorme pour elle. Dans une note sur son site Web, la société a formellement interdit à son équipe de développeurs open source d'enregistrer du code sous licence AGPL dans ses référentiels ou de l'utiliser dans un produit Google de quelque manière que ce soit. Il faut noter que l'AGPL est une licence très critiquée dans la communauté open source.

Google a averti son équipe de développeurs open source en ces termes : « cette licence impose des restrictions sur les logiciels utilisés sur un réseau, restrictions qu'il est extrêmement difficile pour Google de respecter. L'utilisation d'un logiciel sous licence AGPL implique que tout ce vers quoi il pointe doit également être sous licence AGPL. Même si vous pensez ne pas avoir de lien important, cela représente un risque énorme pour Google, car une grande partie de notre code est intégrée. Les risques sont largement supérieurs aux avantages ». Mais pourquoi Google exclut-il cette licence de ses développements ?

Selon Google, le principal risque présenté par la licence AGPL est que tout produit ou service qui dépend du code sous licence AGPL, ou qui inclut tout élément copié ou dérivé du code sous licence AGPL, peut être soumis à la viralité de la licence AGPL. « Cet effet viral exige que le code source complet correspondant du produit ou du service soit distribué au monde entier sous la licence AGPL. Cet effet est déclenché si le produit ou le service est accessible par une interface réseau distante, de sorte qu'il n'est même pas nécessaire que le produit ou le service soit effectivement distribué », explique Google.

Nom : agpl_license_icon_160876.png
Affichages : 2121
Taille : 24,5 Ko

En effet, comme son nom l'indique, la licence GNU AGPL fait partie de la famille GNU GPL, qui comprend également la licence LGPL, la GPLv2 et la GPLv3. Toutes ces licences open source font partie du projet GNU de Richard Stallman, un système d'exploitation libre et open source et la philosophie qui l'accompagne concernant le partage et la modification des logiciels. Comme les GPL, l'AGPL est une licence copyleft forte. La GPL originale d'Affero était basée sur la GPLv2 et publiée en 2002. Cette licence n'a pas été publiée par Richard Stallman lui-même, mais par un certain Henry Poole pour sa start-up de logiciels, Affero inc.

Cependant, la Free Software Foundation (FSF) de Stallman a publié plus tard sa propre version, cette fois basée sur la GPLv3, en 2007, en conservant "Affero" dans le nom comme un clin d'œil à cette histoire. La nouvelle version contenait un verbiage établissant la compatibilité entre l'AGPL et la GNU GPLv3. Aujourd'hui, la version 3 est la principale version utilisée. La licence AGPL s'applique principalement aux logiciels utilisés pour fournir un service sur un réseau. L'idée derrière la licence AGPL était de s'attaquer à la "faille du fournisseur de services d'application (ASP)", qui, selon Henry Poole et Stallman, existait dans la GPL.

La faille ASP signifiait que les fournisseurs de logiciels en tant que service (SaaS) et d'autres logiciels fonctionnant principalement sur un réseau étaient exemptés (ou pouvaient potentiellement prétendre à une exemption) des termes de la licence GPL. En fait, ils ne les "distribuaient" pas techniquement au sens traditionnel du terme. Pour combler cette lacune, l'AGPL précise que l'utilisation en réseau compte comme une distribution du logiciel. Plus précisément, la licence stipule ce qui suit : « GNU AGPL exige que l'opérateur d'un serveur réseau fournisse le code source de la version modifiée qui y est exécutée aux utilisateurs de ce serveur ».

« Ainsi, l'utilisation publique d'une version modifiée, sur un serveur accessible au public, donne au public l'accès au code source de la version modifiée ». Disons que vous créez un logiciel. Un autre développeur le reprend et le modifie, puis fournit l'accès à cette modification à des clients payants via un modèle de logiciel en tant que service. Sous la GPLv3, cette modification deviendrait essentiellement propriétaire, car elle n'est pas techniquement distribuée. Sous GNU AGPL, cependant, ce développeur devrait rendre son code source modifié disponible au téléchargement. Cela pourrait en effet gêner Google et d'autres acteurs du Web.

« Étant donné que les principaux produits de Google (Search, Gmail, Maps, YouTube) sont des services avec lesquels les utilisateurs interagissent via une interface réseau distante, les conséquences d'un ingénieur dépendant accidentellement de l'AGPL pour l'un de ces services sont si importantes que nous maintenons une interdiction agressivement large de tous les logiciels AGPL afin de nous assurer doublement que l'AGPL ne pourra jamais être incorporée dans ces services d'une quelconque manière que ce soit », explique Google aux développeurs. Il estime toutefois que dans certains cas, elle pourrait autoriser l'AGPL.

Il y a plus de dix ans, en mars 2011, Chris DiBona, directeur de l'open source chez Google, a déclaré que l'entreprise continue d'interdire la licence open source AGPL parce que cela permet de "gagner du temps d'ingénierie et parce que la plupart des projets AGPL ne sont pas utiles à Google". DiBona avait déclaré que l'interdiction de l'AGPL par la société est "plus une question de procédure qu'autre chose". « Si vous regardez l'intérieur de Google et la façon dont nous créons des logiciels, nous ne lançons pas beaucoup de logiciels vers le monde extérieur », avait-il expliqué sur la position de Google vis-à-vis de l'AGPL.

« Avec l'AGPL, vous devez être très prudent avec la façon dont il est exprimé. Sinon, vous devez invoquer le partage à de nombreux endroits différents. [L'interdiction] a vraiment pour but de faire gagner du temps aux ingénieurs », a-t-il ajouté. Selon des statistiques qu'il a fournies à l'époque, les robots d'exploration de Google ont révélé que le Web renfermait à la fin de l'année 2010 plus de 31 millions de projets à code source ouvert, représentant 2 milliards de lignes de code. Quarante-huit pour cent de ces projets seraient sous la licence GPL, 23 % utiliseraient la LGPL, 14 % la licence BSD, 6 % Apache et 5 % la licence MIT.

Nom : imageLikeEmbed.png
Affichages : 2060
Taille : 90,0 Ko

« Toutes les autres licences sont utilisées par moins de 5 % des projets. La licence préférée de Google est Apache, car ses concessions de brevets sont équitables », a précisé DiBona. Contrairement à la GPL, la licence Apache n'impose pas de gauche d'auteur, ce qui signifie que ceux qui utilisent le code Apache n'ont pas besoin de redistribuer leurs modifications à la communauté. Il avait également indiqué qu'il n'y a pas de projets AGPL dont la société a vraiment besoin. « Cela peut sembler un peu brusque, mais une grande partie des logiciels AGPL [disponibles], nous n'avons pas besoin de les utiliser », avait-il déclaré.

Aujourd'hui, les licences open source permissives dominent le secteur. La licence Apache 2.0 et la licence MIT sont bien plus populaires que la famille des licences GPL et représentent ensemble plus de 50 % des principales licences open source actuellement utilisées (34 % des projets utiliseraient Apache 2.0 et 29 % la licence MIT). Selon des données recueillies au cours de l'année dernière, 78 % des composants open source seraient publiés sous une licence permissive. C'est une augmentation de 2 % par rapport aux 76 % de 2020. Seuls 22 % des licences open source seraient des licences copyleft, contre 24 % en 2020.

D'autres personnes critiquent également régulièrement la licence AGPL et se tiennent à l'écart des logiciels publiés sous GNU Affero, mais certains estiment que la plupart des plaintes en rapport avec l'AGPL ne sont pas fondées. « La plupart des craintes entourant l'AGPL sont absurdes, et il y a beaucoup d'entreprises et de contributeurs qui comprennent la licence et adhèrent aux termes sous lesquels les logiciels AGPL sont livrés. Si Google veut limiter ses options, alors que les petits concurrents ont une longueur d'avance en comprenant et en utilisant leurs options AGPL, c'est bon pour le marché », a écrit un critique de Google.

En réponse, un employé de Google a déclaré : « je n'aime pas les licences de type Affero, je ne les ai jamais aimées et je suis inquiet de les déployer sur n'importe quel serveur, même pour un usage privé (seulement moi). Vérifiez attentivement les licences des logiciels que vous déployez, car vous pourriez en violer les termes simplement en les installant. Malheureusement, ces licences sont généralement approuvées par la FSF et l'OSI. Même Debian les inclut également. Les licences de type Affero imposent à celui qui déploie le logiciel des responsabilités supplémentaires auxquelles il ne s'attend pas ou dont il n'a pas conscience », a-t-il ajouté.

Source : Google

Et vous ?

Quel est votre avis sur le sujet ?
Que pensez-vous de la position de Google vis-à-vis de la licence GNU AGPL ?
Que pensez-vous des licences GNU Affero ? Pensez-vous que l'on devrait les éviter ?

Voir aussi

Une Cour estime que qualifier un produit d'open source alors qu'il ne l'est pas constitue une publicité mensongère, qui pourrait influencer les décisions d'achat des clients

Les tribunaux italiens considèrent que les clauses des logiciels libres sont applicables, et condamnent deux développeurs pour non-conformité à la GPL

Licences open source 2020 : les licences permissives en croissance continue, tandis que les licences copyleft connaissent un lent déclin, selon un rapport