English [en]   català [ca]   Deutsch [de]   français [fr]   日本語 [ja]   русский [ru]  

Rencontrez les personnes qui contribuent à améliorer GNU, au GNU Hackers' Meeting !

Le 8ème GNU Hackers' Meeting aura lieu à Munich, en Allemagne, du 15 au 17 août 2014. Pendant ces trois jours, il y aura des conférences sur les nouveaux programmes GNU, l'état du système GNU et les dernières nouvelles de la communauté du logiciel libre.

Inscrivez-vous maintenant pour réserver votre place.

L'original de cette page est en anglais.

Guide rapide de la GPLv3

par Brett Smith

[L'article original en anglais est également disponible aux formats PDF et reStructuredText.]

Après une année et demie de consultation publique, des milliers de retours et quatre brouillons, la version 3 de la GNU General Public License (GPLv3) a enfin été publiée le 29 juin 2007. Bien qu'il y ait eu de nombreuses discussions à propos de cette licence depuis la parution de son premier brouillon, peu de gens ont parlé des avantages qu'elle procure aux développeurs. Nous publions ce guide afin de combler ce manque. Nous débuterons par un rappel succinct sur les logiciels libres, le copyleft (ou gauche d'auteur) et les objectifs de la GPL. Nous passerons ensuite en revue les principaux changements apportés à la licence afin de voir en quoi ils vont dans le sens des objectifs de la GPL et des intérêts des développeurs.

Les principes de base de la GPL

Personne ne doit être limité par les logiciels qu'il utilise. Il y a quatre libertés que tout utilisateur doit posséder :

  • la liberté d'utiliser le logiciel à n'importe quelle fin,
  • la liberté de modifier le programme pour répondre à ses besoins,
  • la liberté de redistribuer des copies à ses amis et voisins,
  • la liberté de partager avec d'autres les modifications qu'il a faites.

Quand un programme offre à ses utilisateurs toutes ces libertés, nous le qualifions de logiciel libre.

Les développeurs qui écrivent des logiciels peuvent les publier sous les termes de la GNU GPL. Ce faisant, leur logiciel sera libre et le restera, indépendamment de qui modifiera et distribuera ce logiciel. Nous appelons cela copyleft : le logiciel est bien soumis au droit d'auteur, mais plutôt que d'utiliser ces droits pour restreindre l'utilisation que peuvent en faire les utilisateurs (comme c'est le cas dans les logiciels privateurs1), nous les utilisons pour nous assurer que tous les utilisateurs auront ces libertés.

Nous mettons à jour la GPL afin d'empêcher son copyleft d'être sapé par des évolutions législatives ou technologiques. La dernière version protège les utilisateurs contre trois dangers récents :

  • La « tivoïsation » : Certaines entreprises ont créé différents types d'équipements qui font tourner des logiciels sous GPL, et ont ensuite bidouillé le matériel pour qu'elles puissent modifier les logiciels mais que vous ne puissiez pas le faire. Si un équipement peut faire tourner n'importe quel logiciel, cet équipement est un ordinateur polyvalent. Dès lors, son propriétaire doit pouvoir contrôler ce que fait cet équipement. Quand un équipement vous empêche de faire cela, nous appelons cela la tivoïsation.
  • Des lois prohibant les logiciels libres : certaines lois, comme la Digital Millennium Copyright Act,2 ou la Directive de l'Union européenne sur le copyright, ont rendu délictueux le fait d'écrire ou de distribuer un logiciel qui peut casser un dispositif de DRM (gestion numérique des restrictions) ; voir plus loin). Il ne faut pas que ces lois interfèrent avec les droits que vous confère la GPL.
  • Des accords discriminants autour des brevets : l'entreprise Microsoft a récemment commencé à dire qu'elle n'intenterait pas de procès pour violation de brevet contre les utilisateurs de logiciels libres… « pour peu » qu'ils aient obtenu le logiciel d'un fournisseur qui paie Microsoft pour ce privilège. En fin de compte, Microsoft cherche à obtenir une rétribution pour l'utilisation de logiciels libres, ce qui interfère avec la liberté des utilisateurs. Aucune entreprise ne doit être en mesure de faire cela.

La version 3 de la GNU GPL apporte aussi un certain nombre d'améliorations quant à la lisibilité et l'utilisation pour tout un chacun. Mais même avec tous ces changements, la GPLv3 n'est pas une licence radicalement nouvelle ; c'est plutôt une évolution par rapport à la version précédente. Bien qu'une bonne partie du texte ait changé, beaucoup de ces changements visent seulement à simplifier ce que la GPLv2 disait déjà. En ayant cela à l'esprit, voyons ensemble les principaux changements dans la GPLv3 et en quoi ces changements améliorent la licence pour les utilisateurs et les développeurs.

Neutraliser les lois prohibant les logiciels libres, sans interdire les DRM

Vous êtes certainement au courant de l'existence de la gestion numérique des restrictions (DRM) sur les DVD et d'autres médias. Vous êtes sans doute aussi au courant des lois qui ont rendu illégale l'écriture de vos propres outils pour les contourner, comme par exemple la loi américaine dite Digital Millennium Copyright Act et la Directive de l'Union européenne sur le copyright. Personne ne doit pouvoir vous empêcher d'écrire le code que vous souhaitez écrire, et la GPLv3 protège ce droit qui est le vôtre.

Il est toujours possible d'utiliser du code sous GPL pour écrire des programmes qui mettent en œuvre des DRM. En revanche, si quelqu'un le fait avec du code sous GPLv3, la section 3 de la licence stipule que le système ne pourra être considéré comme une mesure de protection effective. Ceci veut dire que si vous cassez le DRM, vous serez libres de distribuer ce logiciel et vous ne serez pas menacé de sanctions du fait des lois DMCA ou assimilées.

Comme toujours, la GNU GPL ne bride pas les gens dans les logiciels qu'ils font, elle les empêche juste de brider l'usage que les autres en font.

Protéger votre droit de bricoler

La tivoïsation est une dangereuse tentative visant à restreindre la liberté des utilisateurs : le droit de modifier votre logiciel devient caduc si aucun de vos ordinateurs ne vous le permet. La GPLv3 empêche la tivoïsation en requérant du distributeur qu'il vous fournisse toutes les informations et toutes les données nécessaires pour installer des versions modifiées sur l'équipement. Cela peut être aussi simple qu'un ensemble d'instructions, ou cela peut aller jusqu'à inclure des données spéciales telles que des clés cryptographiques ou des informations sur la façon de contourner un test d'intégrité dans le matériel. Tout cela dépend de la façon dont le matériel est fait, mais quelle que soit l'information dont vous avez besoin, vous devez être en mesure de l'obtenir.

Cette exigence a une portée limitée. Les distributeurs ont toujours le droit d'utiliser des clés cryptographiques quelle qu'en soit l'utilisation, et ils n'auront l'obligation de fournir une clé que si elle vous est indispensable pour modifier les logiciels sous GPL sur l'équipement en question. Le projet GNU lui-même utilise GnuPG pour attester de l'intégrité de tous les logiciels sur son site FTP ; des mesures de ce type sont bénéfiques pour l'utilisateur. La GPLv3 n'empêche pas les gens d'utiliser la cryptographie, et nous ne le voudrions pas. Elle se contente d'empêcher des gens de vous priver des droits que la licence vous accorde, que cette privation se fasse par le biais de la technologie, d'une loi sur les brevets ou de toute autre façon.

Une protection plus forte contre la menace des brevets

Au cours des 17 années écoulées depuis la publication de la GPLv2, le paysage des brevets logiciels a considérablement évolué et les licences de logiciel libre ont développé de nouvelles stratégies pour y répondre. La GPLv3 est, elle aussi, à l'image des ces changements. Dès que quelqu'un transfère un logiciel régi par la GPLv3 après qu'il l'a créé ou modifié, cette personne doit fournir à tous les destinataires les licences de brevet nécessaires à l'exercice des droits que confèrent la GPLv3. De plus, si jamais le bénéficiaire d'une licence cherche à engager un procès pour violation de brevet à l'encontre d'un autre utilisateur en vue de l'empêcher d'exercer ses droits, la licence de l'attaquant sera révoquée.

Ce que cela signifie pour les utilisateurs et les développeurs est qu'ils pourront travailler avec des outils régis par la GPLv3 sans se soucier d'éventuels contributeurs désespérés qui essayent plus tard d'intenter un procès pour violation de brevet. Avec ces changements, la GPLv3 accorde à ses utilisateurs plus de protection que n'importe quelle autre licence de logiciel libre contre les agressions faites par l'entremise de brevets.

Clarifications autour des compatibilités entre licences

Si aviez trouvé des portions de code que vous souhaitiez incorporer dans un projet sous GPL, la GPLv2 stipulait que la licence de l'autre code ne devait pas comporter de quelconque restriction qui ne soit pas déjà présente dans la GPLv2. Si c'était le cas, nous disions que la licence était « compatible GPL ».

Toutefois, certaines licences avaient des limitations qui n'étaient pas spécialement restrictives, parce qu'elles étaient très simples à respecter. Par exemple, certaines licences disent qu'elles ne vous permettent pas d'utiliser certaines marques. Ce n'est pas une clause vraiment restrictive : si cette clause n'était pas là, vous n'auriez toujours pas le droit d'utiliser cette marque. Nous avons aussi toujours dit que ces licences étaient compatibles avec la GPLv2.

Aujourd'hui, la GPLv3 donne explicitement droit à quiconque d'utiliser du code qui a des limitations comme celle-là. Ces nouveaux termes de la licence devraient permettre de clarifier certaines incompréhensions quant aux licences qui sont compatibles GPL, quant aux raisons pour cela et quant à ce que vous pouvez faire avec du code compatible GPL.

Nouvelles licences compatibles

En plus de ces clarifications concernant les règles autour de licences déjà compatibles GPL, la GPLv3 introduit la compatibilité avec quelques autres licences. La licence Apache 2.0 en est un parfait exemple. Nombre de logiciels libres de grande qualité sont disponibles sous cette licence, et ont rassemblé de fortes communautés. Nous espérons que ces changements dans la GPLv3 nourriront plus de coopération et de partage au sein de la communauté du logiciel libre. Ce diagramme illustre certaines relations de compatibilité entre différentes licences de logiciel libre, parmi les plus courantes :

Diagramme représentant les relations de compatibilité entre différentes
licences de logiciel libre.

Les flèches pointant d'une licence à une autre indiquent que la première licence est compatible avec la seconde. Ceci est vrai même en suivant plusieurs flèches à la suite ; donc, par exemple, la licence ISC est compatible avec la GPLv3. La GPLv2 est compatible avec la GPLv3 si le programme vous permet de choisir « toute version ultérieure » de la GPL, ce qui est le cas de la plupart des logiciels fournis sous cette licence. Ce diagramme n'est pas complet (se reporter à notre page de licences pour une liste plus complète des licences compatibles avec la GPLv2 et la GPLv3) mais illustre au moins le fait que la GPLv3 est compatible avec à peu près tout ce qui était compatible GPLv2.

La GNU AGPL version 3 a aussi été intégrée dans la réflexion. La GPL Affero initiale était destinée à assurer aux utilisateurs d'une application web un accès à ses sources. La version 3 étend cet objectif : elle s'applique à tous les logiciels en réseau, donc elle s'applique bien aussi à des programmes comme les serveurs de jeux. Les termes supplémentaires sont aussi plus flexibles, donc si quelqu'un utilise des sources sous AGPL dans un programme sans interface réseau, il n'aurait qu'à fournir les sources de la même façon qu'avec la GPL. En rendant les deux licences compatibles, on s'assure que les développeurs de logiciels seront en mesure de renforcer leur copyleft tout en continuant à s'appuyer sur la masse de code fonctionnel disponible sous GPL.

Moyens supplémentaires à la disposition des développeurs pour fournir les sources

Une des exigences fondamentales de la GPL est que, lorsque vous distribuez du code compilé aux utilisateurs, vous devez aussi leur fournir un moyen d'obtenir le code source. La GPLv2 vous fournissait quelques façons de le faire, et la GPLv3 les laisse intactes avec quelques clarifications. La GPLv3 vous offre aussi de nouveaux moyens de fournir les sources quand vous transférez le code compilé via le réseau. Par exemple, quand vous hébergez du code compilé sur un serveur web ou FTP, vous pouvez tout simplement fournir des instructions pour indiquer aux visiteurs comment obtenir le code source d'un serveur tiers. Grâce à cette nouvelle option, satisfaire à l'exigence de disponibilité du code source devrait être sensiblement plus facile pour bon nombre de petits distributeurs qui font seulement de petites modifications à de grands corpus de code source.

La nouvelle licence devrait aussi simplifier la transmission du code compilé via BitTorrent. Tout d'abord, les gens qui se contentent de télécharger ou de partager le torrent sont exemptés des exigences de la licence pour cette transmission du logiciel. Ensuite, quiconque initie le torrent peut fournir le code source en disant simplement aux autres utilisateurs du torrent sur quel serveur public il est disponible.

Ces nouvelles options aident à garder la GPL en phase avec les usages de la communauté concernant la mise à disposition des sources, sans rendre l'obtention de ces sources plus difficile pour les utilisateurs.

Moins de sources à distribuer : de nouvelles exceptions pour les bibliothèques système

Les deux versions de la GPL requièrent que vous fournissiez toutes les sources nécessaires à la construction du logiciel, y compris les bibliothèques utilisées, les scripts de compilation, etc. Elles définissent aussi la limite des bibliothèques système : vous n'avez pas à fournir le code source de certains éléments de base du système d'exploitation, tels que les bibliothèques C.

La GPLv3 a ajusté la définition des bibliothèques système pour y inclure les logiciels qui ne rentrent pas directement dans le système d'exploitation, mais dont on peut raisonnablement attendre que tous les utilisateurs du logiciel les aient. Par exemple, cela inclut les bibliothèques standards des langages de programmation usuels tels que Python et Ruby.

Cette nouvelle définition clarifie aussi le fait que vous pouvez combiner un logiciel sous GPL avec des bibliothèques système incompatibles avec la GPL, telles que la bibliothèque C d'OpenSolaris, et les distribuer de manière combinée. Ces modifications simplifieront la vie des distributeurs de logiciels libres qui souhaitent fournir ces combinaisons à leurs utilisateurs.

Une licence globale

La GPLv2 parle beaucoup de « distribution » [to distribute] : quand vous partagez le programme avec quelqu'un d'autre, vous le distribuez. La licence ne précise jamais de quelle distribution il s'agit, dans la mesure où ce terme a été emprunté aux lois des États-Unis sur le copyright. Nous nous attendions à ce que ce soit là que les juges en cherchent la définition. Toutefois, nous avons découvert plus tard que les lois homologues de certains autres pays utilisaient le même terme, mais dans d'autres acceptions. De ce fait, un juge d'un de ces pays pourrait interpréter la GPLv2 différemment d'un juge des États-Unis.

La GPLv3 utilise un terme nouveau, « transfert » [to convey], et en fournit une définition. Ce « transfert » a précisément le sens que nous souhaitions donner à « distribution », mais maintenant que le terme est directement défini dans la licence, il devrait être facile aux gens, où qu'ils soient, de comprendre ce que nous voulions dire. Il y a par ailleurs quelques autres modifications mineures à différents endroits de la licence qui vont aussi aider à garantir que la licence soit appliquée de la même façon partout dans le monde.

Quand les règles sont violées : un chemin facilité vers leur respect

Sous la GPLv2, si vous aviez violé la licence d'une quelconque façon, vos droits étaient automatiquement perdus et ce de manière permanente. La seule façon de les retrouver était d'en faire la requête écrite auprès des détenteurs du copyright. Bien qu'une défense solide contre de telles violations soit souhaitable, cette politique pouvait causer de longues migraines lorsque quelqu'un violait involontairement ces règles. Demander à tous les détenteurs de copyright un accord formel pour la restauration de sa licence pouvait être ardu et coûteux : une distribution GNU/Linux typique se fonde sur le travail de milliers de gens.

La GPLv3 propose une remise de peine pour bonne conduite : si vous violez la licence, vous récupérerez vos droits dès que vous cesserez votre infraction, à moins qu'un détenteur de copyright ne vous contacte sous 60 jours. Après réception d'une telle notification, vous récupérerez pleinement vos droits si c'est votre première infraction et que vous la corrigez sous 30 jours. Sinon, vous pouvez arranger l'affaire directement avec le détenteur du copyright qui a pris contact avec vous, et vos droits seront alors rétablis.

Le respect de la GPL a toujours été la première priorité du FSF Compliance Lab et d'autres groupes cherchant à mettre en œuvre la licence à l'échelle mondiale. Ces modifications assurent que le respect de la licence reste la première priorité pour ces gens, et incitent ceux qui violent les termes de la licence à la respecter.

L'apothéose

Certaines de ces modifications vous semblent certainement moins importantes que d'autres. C'est normal. Chaque projet est différent et attend différentes choses de sa licence. Mais il y a de fortes chances qu'un certain nombre de ces améliorations vous aident dans votre travail.

Prises dans leur ensemble, toutes ces améliorations illustrent une dernière chose : nous avons réalisé un meilleur copyleft. Il permet de mieux protéger les libertés des utilisateurs, et il facilite aussi la coopération avec la communauté du logiciel libre. Mais la mise à jour de la licence n'est qu'une partie du travail : afin que les gens profitent des avantages qu'elle apporte, il faut aussi que les développeurs utilisent la GPLv3 dans leurs projets. En publiant vos propres logiciels sous cette nouvelle licence, toute personne ayant affaire à vos logiciels en profitera, que ce soit les utilisateurs, les autres développeurs, les distributeurs ou même les avocats. Nous espérons que vous utiliserez la GPLv3 lors de votre prochaine publication.

Si vous souhaitez en apprendre plus sur le passage de votre projet vers la GPLv3, le FSF Compliance Lab serait enchanté de vous aider. Sur notre site web, vous pouvez trouver des informations de base pour utiliser la licence, et une FAQ répondant aux questions usuelles que se posent les gens à son propos. Si votre cas est plus compliqué, prenez contact avec nous et nous ferons tout notre possible pour vous aider dans cette transition. Ensemble, nous pouvons aider à protéger la liberté de tous les utilisateurs.


Notes de traduction
  1. Autre traduction de proprietary : propriétaire. 
  2. Loi sur le copyright du millénaire numérique. 

[logo de la FSF]« Notre mission est de préserver, protéger et promouvoir la liberté d'utiliser, étudier, copier, modifier et redistribuer les programmes informatiques, et de défendre les droits des utilisateurs de logiciel libre. »

La Fondation pour le logiciel libre (FSF) est le principal sponsor institutionnel du système d'exploitation GNU. Soutenez GNU et la FSF en achetant des manuels et autres, en adhérant à la FSF en tant que membre associé, ou en faisant un don, soit directement à la FSF, soit via Flattr.

Haut de la page