Pourquoi la GPL Affero ?

La GNU Affero General Public License (licence publique générale Affero de GNU, ou AGPL) est une version modifiée de la version 3 de la GNU GPL ordinaire. Elle a une seule exigence supplémentaire : si vous exécutez un programme sur un serveur et laissez d'autres utilisateurs communiquer avec lui, votre serveur doit aussi leur permettre de télécharger le code source correspondant au programme qui est exécuté. Si ce qui s'exécute est votre version modifiée du programme, les utilisateurs du serveur doivent obtenir le code source tel que vous l'avez modifié.

L'objectif de l'AGPL est d'éviter un problème qui affecte les développeurs de programmes libres qui sont souvent utilisés sur des serveurs.

Supposez que vous développiez et publiiez un programme libre sous la GNU GPL ordinaire. Si le développeur D modifie le programme et le publie, la GPL l'oblige à distribuer sa version sous la GPL également. Ainsi, si vous obtenez une copie de cette version, vous êtes libre d'incorporer tout ou partie de ses modifications dans votre propre version.

Mais supposez que ce programme soit surtout utile sur des serveurs. Quand D modifie le programme, il est très probable qu'il va le faire tourner sur son propre serveur et ne va jamais distribuer de copies. Alors vous n'obtiendrez jamais de copie du code source de sa version, et par conséquent n'aurez jamais la possibilité d'incorporer ses changements dans votre version. Cela ne vous fera peut-être pas plaisir.

Utiliser l'AGPL permet d'éviter ce résultat. Si D exécute sa version sur un serveur que tout le monde peut utiliser, vous pouvez l'utiliser aussi. À supposer qu'il ait, comme le veut la licence, mis le code source de sa version à disposition des utilisateurs, vous pouvez le télécharger et ensuite incorporer ses modifications dans votre version (s'il n'a pas respecté cette exigence, envoyez-lui votre avocat).

L'AGPL de GNU, comme la version 3 de la GPL ordinaire, contient un texte vous permettant de lier des modules placés sous l'une ou l'autre de ces licences en un seul programme.

Le problème que l'AGPL ne traite pas, c'est celui du SaaS (logiciel en tant que service). À notre connaissance, il est impossible de traiter ce problème avec une licence de logiciel. [1]

Le SaaS est l'utilisation du serveur réseau de quelqu'un par d'autres personnes, pour faire leurs propres tâches informatiques. Ces personnes doivent envoyer leurs données au serveur, qui fait le traitement informatique et leur renvoie les résultats. Le SaaS pose problème parce que les utilisateurs ne peuvent pas contrôler le traitement que le serveur fait pour eux

Si un programme de ce serveur est publié sous l'AGPL, cela implique que les utilisateurs ont un moyen de télécharger le code source de ce programme. C'est très bien, mais d'avoir le code source ne leur donne aucun contrôle sur ce que fait le serveur pour eux. Cela ne leur dit pas non plus quels autres programmes s'exécutent éventuellement sur ce serveur pour examiner leurs données ou les modifier d'une tout autre façon.