C'est aujourd'hui 29 Juin 2007, à midi, que la
Free Software Foundation a officiellement publié la troisième version de sa célèbre
General Public Licence, la licence de logiciel libre la plus connue et la plus utilisée. Cette nouvelle version est le fruit d'environ 18 mois de conception, révision et commentaires, pendant lesquels la FSF a appelé la communauté (tous les acteurs de l'industrie du logiciel, en particulier du logiciel libre) à participer au processus d'élaboration du texte.
La problématique des licences de logiciels (et en particulier des logiciels libres) est assez complexe. C'est pourquoi je vais essayer de vous présenter le cadre global de cette licence, avant de décrire les changements apportés par cette nouvelle version, et les réactions et les conséquences sur plusieurs grands acteurs du logiciel (libre).
Qu'est-ce que la GPL ?
Les logiciels, comme toute création, sont soumis au droit d'auteur (dans les pays anglo-saxons on utilise plutôt la notion de
copyright). Cela veut dire que l'auteur peut (et doit) choisir la manière dont on utilise son logiciel. Ce choix s'exprime par une licence, qu'il distribue avec son logiciel, et qui précise les droits et les devoirs des utilisateurs.
Les licences libres
La plupart des licences des logiciels sont utilisées pour restreindre la façon dont vous pouvez les utiliser : elles peuvent par exemple préciser que si vous utilisez le logiciel à des fins commerciales, vous devez donner de l'argent à son auteur. Les logiciels libres sont une catégorie particulière de logiciels, que vous connaissez sûrement (sinon, vous devriez consulter l'
article Wikipédia à ce sujet), qui utilisent leurs licences pour garantir à l'utilisateur quatre libertés supplémentaires (qui ne sont pas prévues par le droit d'auteur classique) :
- la liberté d'exécuter le programme, pour tous les usages
- la liberté d'étudier le fonctionnement du logiciel
- la liberté de redistribuer des copies du logiciel
- la liberté d'améliorer le logiciel, et de distribuer des versions modifiées
Pour écrire un logiciel libre, il suffit de livrer avec ce logiciel un texte qui précise ces quatre libertés. Cependant, si vous n'êtes pas avocat, vous risquez de laisser dans votre texte des failles juridiques, qui pourraient être exploitées pour faire quelque chose que vous n'aviez pas prévu (et oui, il n'y a pas que les logiciels qui ont des bugs !). Pour plus de sécurité, il est donc conseillé de réutiliser une des licences libres déjà existantes, qui ont été vérifiées et solidifiées par des juristes. Il existe plusieurs licences libres répandues, vous pourrez en avoir une présentation, ainsi qu'une aide à l'utilisation, dans
ce tuto du SDZ.
La spécificité de la GPL
La licence libre la plus utilisée est la GPL. C'est une licence très particulière car elle possède une propriété d'
héritage : si vous modifiez un programme placé sous GPL, et que vous décidez de redistribuer le logiciel modifié, vous devez placer votre modification sous licence GPL elle aussi. Cette propriété est décrite par le créateur de la GPL,
Richard Stallman, comme une technique de défense : vous vous assurez, quand vous distribuez un logiciel sous GPL, que les libertés que vous garantissez à vos utilisateurs seront conservées, et qu'on ne pourra pas les leur enlever. À l'inverse, certains logiciels libres (par exemple sous
licence BSD) peuvent être redistribués sous la forme de logiciels propriétaires, qui ne rétribuent pas leurs améliorations à la communauté et aux auteurs. Cette différence est la base d'un désaccord profond entre certains membres de la communauté du Logiciel Libre, chacun ayant une préférence pour l'une ou l'autre des positions (par exemple les contributeurs des systèmes d'exploitation libres BSD (
FreeBSD,
NetBSD,
OpenBSD...) jugent cette obligation nuisible.
Cette particularité peut aussi être comprise selon un point de vue communautaire : quand vous placez un logiciel sous GPL, vous donnez des droits aux utilisateurs, mais vous vous assurez aussi que les versions futures seront données à la communauté en retour. Cette licence est donc très intéressante pour la collaboration, puisqu'elle garantit que personne ne peut redistribuer le logiciel pour son seul profit. Ainsi, des grandes entreprises de l'informatique (IBM, Novell, Intel, Sun..) contribuent continuellement au
noyau Linux, placé sous GPL, en étant certaines que leurs concurrents ne pourront pas reprendre ces améliorations à leur compte, sans participer eux aussi.
Cette obligation est désignée habituellement sous le terme de
copyleft, par opposition au "copyright", représentant les règles traditionnelles du droit d'auteur. Pour reprendre le jeu de mot en français, on utilise parfois le terme de "gauche d'auteur".
Les changements de la V2 à la V3
La GPL est conçue dans le but de préserver les libertés qu'elle offre aux utilisateurs du logiciel. Cependant, l'informatique évolue très vite, et de nouveaux enjeux apparaissent, qui peuvent avoir un effet sur les libertés liées aux logiciels. Ainsi, il est parfois nécessaire de mettre à jour les licences des logiciels, afin de les protéger de nouvelles "menaces", ou de permettre une meilleure interaction avec les nouvelles technologies.
La version 2 de la GPL date de 1991, il était donc temps de la mettre à jour.
La tivoisation
La première menace apparue depuis la GPL V2 est la tivoisation : on sait vérifier au lancement d'un logiciel qu'il n'a pas été modifié par l'utilisateur. Il est donc techniquement possible d'utiliser du logiciel libre contenant une fonctionnalité qui fait que s'il est modifié, il refuse de se lancer à nouveau. On l'appelle la tivoisation, du nom de la première entreprise ayant utilisé ce procédé, Tivo. Elle met en danger la deuxième liberté (liberté d'étudier le fonctionnement du logiciel), et a donc été explicitement interdite par la GPLV3 : il est illégal d'empêcher l'utilisateur d'un logiciel sous GPLV3 de faire tourner une version modifiée du programme.
Le problème des brevets logiciels
La deuxième menace importante est liée aux
brevets logiciels. Les
brevets sont une manière d'aider les inventeurs de procédés techniques à diffuser leurs inventions, en s'assurant d'être payés par les entreprises les utilisant pour faire du profit. Ils ne concernent normalement pas les logiciels, car on ne peut pas breveter des idées, et ne sont donc pas reconnus en Europe. Cependant, l'industrie du logiciel a commencé il y a quelques années à breveter en masses divers concepts, en faisant valider des brevets aux États-Unis, et parfois en Europe (en exploitant des failles du système européen de gestion des brevets). Ils présentent un danger pour les logiciels (libres ou non), parce que contrairement au droit d'auteur, on peut enfreindre un brevet sans plagier un autre logiciel : il suffit d'avoir mis en place la même idée.
La GPLV3 inclut une protection qui empêche de distribuer un logiciel libre tout en menaçant ses utilisateurs avec des brevets logiciels : si vous distribuez un logiciel sous GPLV3, vous vous engagez automatiquement à ne pas attaquer vos utilisateurs avec des brevets portant sur ce logiciel. Il est de plus impossible de profiter de traitement particulier (si l'entreprise Untel vous a promis de ne pas vous faire de procès) pour distribuer du logiciel sous GPLV3 à des gens qui ne sont pas protégés eux aussi : la GPLV3 évite les accords "discriminatoires".
Internationalisation, simplification
La GPLV2 était basée sur le droit des États-Unis (même si dans la pratique, les tribunaux des autres pays ont toujours reconnu sa validité, les avocats de la FSF ayant beaucoup travaillé sur ce sujet). Elle a cependant eu un rayonnement international, et est utilisée par des contributeurs de tous les pays. Pour plus de neutralité, la GPLV3 a été reformulée de manière à utiliser des notions de droit totalement internationales. Elle a aussi été réécrite avec la simplicité en vue : les développeurs qui n'ont pas forcément une formation juridique poussée doivent pouvoir comprendre les implications des licences qu'ils choisissent.
Autres licences
La GPLV3 a aussi travaillé la façon dont elle interagit avec les autres licences de logiciels libres. Elle est maintenant compatible avec la licence libre Apache (on peut convertir du code placé sous licence Apache en code GPL, et donc l'inclure dans un projet placé sous licence GPL).
D'autres licences sont basées sur la GPL. Les plus connues sont la
LGPL (licence générale amoindrie), utilisée principalement pour les bibliothèques logicielles, et la
GFDL (licence générale de documentation), qui sert en particulier de licence aux textes de la
Wikipédia (qui sont des textes libres).
Elles sortent elles aussi de nouvelles versions, basées sur la GPLV3, pour plus de cohérence et de solidité de l'ensemble.
Le changement de licence : passage de la V2 à la v3
Les personnes ayant le droit de changer la licence d'un logiciel sont ses auteurs. Pour passer un programme de la GPLv2 à la GPLv3, il faut donc obtenir l'accord de tous ses auteurs, tous ses contributeurs : chaque bout de code écrit par quelqu'un doit passer sous GPLv3, ou recodé.
C'est simple pour les petits projets, ou les projets ayant centralisé le copyright (en demandant à leurs contributeurs de céder leurs droit à une seule et même personne), mais cela peut devenir un casse-tête pour les gros projets, ayant de nombreux contributeurs, dont certains sont perdus de vue, voire morts (il faut alors demander à leurs
ayant droit).
Il existe cependant un cas de figure assez répandu qui facilite la conversion : quand un programmeur place un logiciel sous GPL, il précise la version concernée. Une pratique assez courante est de placer son logiciel sous version "GPL v2 ou suivante". Ces logiciels, même s'ils ont été écrits il y a longtemps, peuvent donc être placés sous GPLv3 sans effort particulier des auteurs : il suffit de prendre la copie que l'on a, de déclarer qu'elle est sous GPLv3, et de la distribuer.
Il faut aussi noter que le passage sous GPLv3 n'est en aucun cas obligatoire. Un programmeur préférant la version 2 peut tout à fait y rester, et écrire encore de nombreux logiciels avec cette licence.
Réactions et Conséquences
Voici quelques réactions d'individus, de projets ou de groupes informatiques liés à la parution de cette nouvelle licence.
Richard Stallman
Richard Stallman est le créateur de la Free Software Foundation, et du système d'exploitation libre GNU. Il a dirigé le processus d'élaboration de cette nouvelle version, et a rédigé un texte (en anglais) pour inciter les programmeurs à changer de version :
Why Upgrade to GPL Version 3.
Voici un extrait (traduit par moi-même, il faudra être indulgent

) résumant assez bien sa vision générale de la licence.
« Le public ne peut pas rejeter les DRM en achetant des logiciels non soumis aux DRM, parce que de tels logiciels n'existent pas. Quel que soit le produit que vous choisissez, on vous impose des menottes numériques.
La GPL V3 s'assure que vous êtes libre de vous débarrasser de menottes, quelles qu'elles soient. Elle n'interdit pas les DRM, ou toute autre fonctionnalité que vous pourriez ajouter (ou enlever) à un programme. Par contre, elle s'assure que vous êtes libres de retirer des fonctionnalités qui vous déplaisent, de la même manière que le distributeur du logiciel était libre de les ajouter. »
La plupart des projets du système GNU vont passer à la GPL V3.
Linux
Linux est un grand projet, aux contributeurs très nombreux, et qui n'est pas placé sous une version "GPLV2 ou suivante" : la licence de Linux est "seulement GPLV2". Il est donc extrêmement improbable que le noyau passe dans son ensemble à la GPLV3. Son créateur et principal développeur, Linus Torvalds, a même plusieurs fois indiqué pendant la conception de la GPLV3 que cette licence lui déplaisait. Suite aux processus de dialogues et de commentaires, les points qui le gênaient ont pour la plupart été reformulés, et il se dit maintenant prêt à une évolution progressive vers la GPL V3.
Sun Microsystems
Sun est un acteur important de l'industrie du logiciel. C'est l'éditeur du célèbre langage de programmation Java, et de nombreuses technologies liées, ainsi que du système d'exploitation Solaris. Sun est un contributeur du noyau Linux, et participe au logiciel libre : il a libéré la majorité de Java, et supporte une version totalement libre et communautaire de son système, OpenSolaris.
Sun a annoncé à plusieurs reprises qu'ils s'intéressaient beaucoup à la GPL V3. Alors qu'il utilise actuellement sa propre licence, la
CDDL, il est intéressé par la GPL qui leur permettrait d'obtenir plus de contributions de la communauté du Logiciel Libre. La GPLv3 est un choix stratégique, car en plaçant le code de leur système sous version 3 seulement, ils peuvent empêcher Linux (sous GPLv2), qui est un concurrent, de réutiliser leur code.
Conclusion
Encore une fois, le monde du logiciel libre montre une richesse assez surprenante : justifiée par des motifs idéologiques assez simples (garantir la liberté des utilisateurs), cette nouvelle version a enclenché un processus communautaire considérable (4 "brouillons" de la licence ont été publiés, avec revue et commentaires de la communauté), et a des implications complexes à l'échelle de l'industrie du logiciel.
J'espère que vous discernez mieux maintenant les enjeux liés à cette nouvelle licence, et que vous avez survécu à la lecture de cette (trop

) longue news.