Nouveautés GNU General Public License Version 3 : Différence entre versions
(2 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 100 : | Ligne 100 : | ||
* La [[GNU General Public License]] v.2 | * La [[GNU General Public License]] v.2 | ||
− | [[ | + | [[Catégorie:Nouveautés]] |
Version actuelle datée du 13 janvier 2008 à 00:17
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 — la GNU Affero GPL suivit peu de temps après, et d'autres restent dans le bac : 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 des licences 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 firent grincer des dents, elle fut sans surprise 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.
Sommaire
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 s'émanciper 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 :
Un article O reprend les définitions comprises dans la GNU GPL, et de nouvelles notions-clés apparaissent aux côtés des anciennes :
- Nouvelles :
- « Copyright » : la notion de copyright est envisagée le plus largement possible en lui assimilant d'autres types de droits exclusifs, comme ceux portant sur les typographies des semi-conducteurs .
- « 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 « propagate » 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'Affero GPL, ou se tourner vers l'Open Software License)[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).
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 conclus 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). De plus, cette terminaison automatique est tempérée s'il s'agit d'une première violation, et en fonction de la réaction du concédant.
3- Modularité de la GPL v.3
Il est ici question d'une gestion particulière de la compatibilité entre licences pour la compréhension de laquelle il peut être utile de lire cet article
Acceptation de termes additionnels :
La GNU GPL affine son utilisation des droits d'auteur, et c'est l'un des grands changements : des termes additionnels peuvent être attachés aux contributions que l'on ajoute au logiciel (Article 7):
- 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). Une nuance doit néanmoins être faite : la licence autorise expressément de supprimer ses permissions, mais 1) c'est ici réduire les libertés accorder, 2) ce n'est évidement possible que si la licence qui confère plus de droits nous y autorise.
- 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 (pour la seule 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 General Public License v.2