La nouvelle version de la GNU GPL v.3
Après 18 mois de rédaction, de prises de commentaires, de concertations publiques, et quatre ébauches successives, la nouvelle version de la GNU GPL (General Public License) est annoncée publiquement le 29 juin dernier. À cette sortie, s’ajoute celle de la LGPL v.3 (Lesser General Public License), bien moins médiatisée — d’autres restent dans le bac et suivront prochainement : l’AGPLv3, la FDLv2, et la SFDL.
C’est une famille entière de licences qui est en train de se redessiner, et, à travers elle, les idées qu’elles transportent. Si elles sont compatibles entre elles, elles ne le sont pas à l’égard des versions antérieures, et l’on peut s’attendre à une période de flottement dans les mois, voire les années à venir, où les versions 2 et 3 de la GNU GPL coexisteront sans pouvoir se combiner (toutes les lignes de code ne peuvent être relicenciées automatiquement sous une version ultérieure — notamment celles de Linus Torvald et des autres développeurs du noyau Linux).
Plus qu’une refonte juridique, la nouvelle GPL évolue dans les libertés qu’elle prône et les principes qu’elle défend. D’une part, elle prend des décisions « politiques », et, d’autre part, elle accentue le caractère égalitaire qui prolonge l’essence même du copyleft (mis à mal entre autres par l’accord Novell/Microsoft).
L’analyse de la licence doit se faire dans son intégralité, et même si certaines clauses ou contraintes font grincer des dents, force est de constater qu’elle sera sans aucun doute validée tant au regard de l’OSD (Open Source Definition) que la DFSG (Debian Free Software Guidelines). Enfin, si l’on a pu parler de continuum, il faut reconnaître que les libertés sont, pour le moins, précisées et renforcées.
« (Voici une courte analyse, certainement perfectible, mais qui permet de pointer les principales évolutions de la licence. N’hésitez pas à apporter votre pierre à l’édifice
) »
Aux modifications structurelles de la licence (1), de nouvelles stipulations s’ajoutent aux anciennes (2), et une certaine modularité de la GPL (3) prend forme.
1- Modifications structurelles
Moins d’interprétation :
L’évolution l’est sans conteste du point de vue de l’écriture (preuve en est de la liste des définitions qui s’étoffe) : si les licences étaient auparavant très perfectibles juridiquement, elles sont ici quasi-exhaustives et assurent une plus grande sécurité juridique (côté utilisateurs comme concédants).
La nouvelle licence se veut plus internationale, et utilise à cette fin un vocabulaire exploité par aucune législation spécifique — ce qui lui permet de se détacher de toute attache territoriale (limitant l’interprétation, des utilisateurs et surtout des juges, aux seules définitions inscrites dans la licence).
Les notions-clés :
On trouve de nouvelles notions-clés aux côtés des anciennes :
- Nouvelles :
- « propagate » (répandre, propager) : tout acte soumis au droit d’auteur, exception faite de l’utilisation du logiciel ou d’une modification privée ;
- « convey » (communiquer/transmettre) : toute « propagation » qui permet à l’autre partie de faire ou recevoir des copies. Les interactions par le réseau ne sont pas prises en compte (voir alors l’AGPL, ou se tourner vers l’OSL)1 ;
- « Corresponding Source » (article 6) : il s’agit ici du code source qui doit être livré. Celui-ci comprend aussi toutes les informations utiles à la modification du code, et exclut expressément les bibliothèques systèmes, ainsi que tout composant habituellement fourni avec les composants majeurs (du système : noyau, gestionnaire de fenêtres, etc.).
- Anciennes :
- les termes « part of the work » et « work as a whole » qui constituent la portée de la licence : est soumis à la GPL tout logiciel qui inclut du code sous GPL ou qui forme un tout aux côtés d’un logiciel sous GPL (à quelques exceptions) ;
- l’agrégat est mieux défini : « une compilation du code couvert (par la licence) avec d’autres œuvres séparées et indépendantes, qui ne sont pas par leur nature des extensions du code couvert, et qui ne sont pas combinées comme un programme plus large, sur ou dans un média de stockage ou de distribution, est appelé un agrégat ». Les droits sur celui-ci (droit d’auteur pour une compilation) ne peuvent être exercés pour les droits conférés par la licence (article 5) ;
- la « sphère privée », chère à la GPL, est ici mieux définie et protégée (en cas de sous-traitance par exemple) : on ne regarde plus qui le fait, mais pour qui il le fait (distinction finaliste). Certains regretteront ce choix pragmatique — d’où d’ailleurs l’appellation « SHING GPL » (« Sun HP IBM Nokia Google », principaux bénéficiaires de cette clause).
1 Le draft originaire devait initialement combler cette lacune, voir ce billet (↑)
2- Nouvelles stipulations
Vis-à-vis des mesures techniques, de protection et d’information (ADPIC, EUCD, DADVSI) :
La position prise à l’encontre des DRM est en deux temps (article 3) :
- L’auteur d’un logiciel sous GPL renonce à ce que celui-ci soit considéré comme une mesure technique (a priori, autant de protection que d’information — MTP/MTI) ;
- Le concédant se voit imposer une obligation de cohérence vis-à-vis des DRM : ne pas limiter les libertés conférées par une interdiction du contournement de mesures techniques.
Le Peer to peer :
Le P2P, est enfin pris en considération, dans ses deux facettes :
- limitation de ses conséquences vis-à-vis des utilisateurs qui téléchargent par ce biais une copie de logiciel sous GNU GPL (section 9) — ils n’ont donc pas à fournir les sources ;
- possibilité d’user de ce vecteur de distribution par les distributeurs (section 6e).
Tivoization :
La GPL v.3 voulait encadrer les limitations matérielles mises en place par Tivo dans ses magnétoscopes numériques (indirectement : le distributeur doit donner les informations nécessaires à la modification du logiciel). Cette stipulation est réservée aux « Produits de Consommation », et la possibilité est conservée au sein des organisations et entre professionnels. C’est ici une stipulation héritée du régime américain du American Magnuson-Moss Warranty Act, susceptible de causer quelques problèmes d’interprétation par les diverses juridictions.
Quant aux brevets :
La GNU GPL inaugure une procédure assez complexe en matière de brevet, qui :
- garantit une licence sur les brevets détenus par le concédant à l’égard de toute personne recevant sa contribution (licence néanmoins limitée à cettedite contribution) ;
- oblige, en cas de connaissance de brevets portant sur le logiciel transmis (alternativement) :
- à rendre le code source disponible ;
- à renoncer au bénéfice de licences sur cesdits brevets ;
- à s’engager à étendre la licence au destinataire du logiciel ;
- lorsque l’on transfère ou propage un tel logiciel en consentant aux destinataires finaux de ce logiciel spécifique une licence sur les brevets, alors cette licence est étendue à tous les destinataires dudit logiciel et des travaux subséquents ;
- lorsque l’on est bénéficiaire d’un tel arrangement, inégalitaire vis-à-vis des autres distributeurs, on s’engage alors à ne pas distribuer ce produit (non discrimination) — ceci à l’exception des accords conclu avant le 28 mars 2007 (article 11).
Terminaison automatique :
Il y a dorénavant une terminaison automatique (tempérée) des droits (avec procédure de semonce) (article 8).
3- Modularité de la GPL v.3
Acceptation de termes additionnels :
C’est l’un des grands changements, des termes additionnels peuvent être attachés aux contributions que l’on ajoute au logiciel :
- les permissions additionnelles : soit pour le programme entier, soit pour une partie seulement. Elles peuvent être enlevées à tout moment, voire même automatiquement suivant l’usage fait des droits. Rien d’exceptionnel : ce n’est que la consécration et l’extension contractuelles d’une pratique déjà bien entérinée (mais l’exprimer participe à une meilleure sécurité juridique).
- termes supplétifs (qui peuvent donc remplacer les obligations de la GPL) :
- exclusion de garantie ou limitation de responsabilité différentes de celle de la GPL (permet de mettre les siennes) ;
- idem quant aux notices légales (celles-ci doivent néanmoins être des « reasonable legal notice ») ;
- clauses renforcées permettant de distinguer différentes versions ;
- limitation de l’utilisation publicitaire des noms des licenciés ou des auteurs ;
- certaines stipulations sur les marques ;
- les garanties à l’égard de toute promesse du concédant qui engagerait les concédants antérieurs.
Cette technique de flexibilité permet d’assurer la compatibilité de la GPL v.3 à l’égard d’autres licences libres auparavant incompatibles (plus permissives, mais avec des obligations spécifiques) : Apache, LaTeX, etc..
Néanmoins, il faudra confronter chaque licence aux différentes clauses, au cas par cas, afin d’être certain de leur compatibilité (des interprétations risquent de diverger, comme c’était déjà le cas entre les licences GPL et Apache).
Dans l’idée, le cumul de ces permissions additionnelles avec ces termes supplétifs devrait permettre la diffusion de combinaisons logicielles auparavant impossibles. Et ceci soit :
- sous une seule et même licence, la GNU GPL v3, en utilisant des termes supplétifs au sein de certaines parties (par exemple sous Apache) ;
- soit sous diverses licences, et ceci même si l’ensemble forme un tout, lorsque les autres licences peuvent s’analyser comme une combinaison de permissions additionnelles et de termes supplétifs.
Il y a donc une modularité intéressante qui est mise en place, et qui demandera certainement un temps d’adaptation aux utilisateurs comme aux juristes. Le seul regret en la matière pourrait être l’absence de remise en cause suffisante du copyleft à l’égard d’autres licences copyleft (ce qui aurait assuré une compatibilité plus étendue).
Enfin, on peut d’ores et déjà prévoir quelques complications puisque, en conséquence de cette compatibilité (et de la conservation de la portée du copyleft), savoir un logiciel sous GNU GPL ne suffira plus pour déterminer les obligations à respecter (le tout étant bien sous GPL, mais les clauses spécifiques de certaines parties peuvent imposer des limitations ou des conditions à la distribution du tout) : ainsi, un logiciel sous GNU GPL pourra comporter une partie ‘+ Apache’, une partie ‘+ ceci’ et une autre ‘+cela’ ; le licencié devant respecter le tout lorsqu’il distribue d’un bloc.
Compatibilité expresse :
Il y a une compatibilité expresse qui est prévue avec l’AGPL v3 (pour la portion sous cette licence), et qui prévoit alors que l’ « utilisation en réseau » s’appliquera à la combinaison (Article 13).
La compatibilité « LGPL vers la GPL » est conservée : dorénavant, la LGPL n’est plus qu’une extension/exception à la GPL, qui confère des droits/autorisations supplémentaires (la distribution sous licence GNU LGPL doit ainsi s’accompagner des deux licences).
QUELQUES RÉFÉRENCES :
La licence GNU LGPL v.3
La licence GPL v.3
La page dédiée de la FSF Europe
Le brouillon actuel de la licence AGPL v.3
Le brouillon actuel de la licence GNU FDL v.2
Le brouillon actuel de la GNU FDL v.1
Le discours de lancement des nouvelles versions de RMS
La GNU GPL v.2
L’ensemble du contenu de ce wiki est issu du travail collaboratif de multiples acteurs, et comporte des informations qui ne sont pas forcément complètes, exhaustives, exactes ou à jour ; par ailleurs, celles-ci ne constituent en aucun cas un avis professionnel ou juridique (si vous avez besoin d’avis spécifiques, consultez toujours un professionnel dûment qualifié).



