[Traduit de l'anglais]

Pourquoi mettre à jour vers la GPLv3

La version 3 de la licence publique générale GNU (GNU GPL) est sortie, permettant une mise à jour des logiciels libres à partir de la version 2. Cet article explique pourquoi une mise à jour de la licence est importante.

Tout d'abord, il est essentiel de noter que la mise à jour est un choix. La GPL version 2 restera une licence valide, et rien de désastreux n'arrivera si quelques programmes restent sous GPLv2 tandis que d'autres passent à la GPLv3. Ces deux licences sont incompatibles mais cela n'est pas un sérieux problème.

Quand nous disons que la GPLv2 et la GPLv3 sont incompatibles, cela signifie qu'il n'y a pas de possibilité légale de combiner du code sous GPLv2 avec du code sous GPLv3 dans un même programme. Puisque toutes deux sont des licences libres, chacune dit : « si vous incorporez du code sous cette licence dans un programme plus grand, ce dernier doit aussi être sous la même licence ». Il est impossible de les rendre compatibles. Nous aurions pu ajouter une clause de compatibilité avec la GPLv2 dans la GPLv3, mais cela n'aurait pas convenu, car la GPLv2 aurait eu besoin d'une clause similaire.

Heureusement, l'incompatibilité de licence n'a de sens que lorsque vous voulez lier, fusionner ou combiner du code de deux programmes différents en un seul. Il n'y a pas de problème à avoir des programmes sous GPLv3 et GPLv2 les uns à côté des autres dans un système d'exploitation. Par exemple, la licence TEX et la licence Apache sont incompatibles avec la GPLv2, mais cela ne nous empêche pas d'avoir TEX et Apache dans le même système avec Linux, Bash et GCC, car ce sont tous des programmes séparés. Par conséquent, si Bash et GCC évoluent vers la GPLv3 tandis que Linux reste sous la GPLv2, il n'y pas de conflit.

Garder un logiciel sous GPLv2 ne créera pas de problème. La raison pour migrer est l'existence de problèmes que la GPLv3 va traiter.

L'un des principaux dangers écartés par la GPLv3 est la tivoïsation.1 « Tivoïsation » veut dire que certains appareils (appelés appliances2), qui ont des ordinateurs internes, contiennent des applications sous GPL que vous ne pouvez changer, l'appareil s'éteignant à la détection d'un programme modifié. La raison habituelle d'une tivoïsation est la présence dans un programme de fonctionnalités que beaucoup d'utilisateurs voudront changer ; le fabricant, qui le sait, essaie d'empêcher ces changements. Les fabricants de ces ordinateurs profitent de la liberté accordée par les logiciels libres, mais ne vous laissent pas en faire autant.

Certains pensent que la concurrence entre appareils dans un marché libre devrait suffire à maintenir les fonctionnalités malveillantes à un faible niveau. Peut-être que la seule concurrence empêcherait les fonctionnalités inutiles, arbitraires et malveillantes telles que « doit s'éteindre entre 1 heure et 5 heures de l'après-midi, chaque mardi », mais, même ainsi, le choix des maîtres n'est pas la liberté. La liberté signifie que c'est vous qui contrôlez ce que font les programmes, et non pas simplement que vous avez la possibilité de supplier ou menacer quelqu'un qui décide à votre place.

Dans le domaine crucial de la « gestion numérique des restrictions » (DRM) – fonctionnalités malveillantes conçues pour restreindre l'usage que vous faites des données de votre ordinateur – la concurrence n'est d'aucune aide, car la concurrence pertinente est interdite. Depuis la loi sur le copyright du millénaire numérique (DMCA) aux États-Unis, et autres lois similaires dans de nombreux autres pays, il est illégal de distribuer des lecteurs de DVD à moins de restreindre leur usage selon les règles de la « conspiration du DVD » (son site web est www.dvdcca.org, mais il ne semble pas que ces règles y soient publiées). Le public ne peut rejeter les dispositifs de DRM en achetant des lecteurs qui en soient dépourvus, car ils n'existent pas. Peu importe le nombre de produits parmi lesquels vous pouvez choisir, ils ont tous des menottes numériques équivalentes.

La GPLv3 garantit votre liberté d'ôter ces menottes. Elle n'interdit pas les dispositifs de DRM ni aucune autre fonction. Elle ne met aucune limite à l'ajout ou au retrait à un programme d'une fonctionnalité importante. Par contre, elle s'assure que vous êtes aussi libre d'enlever des fonctionnalités désagréables que le distributeur de votre copie l'était d'en ajouter. La tivoïsation est la façon dont ils vous refusent cette liberté. Afin de protéger votre liberté, la GPLv3 l'interdit.

L'interdiction de tivoïsation s'applique à tout produit dont l'utilisation par les consommateurs, même occasionnelle, est probable. La GPLv3 la tolère uniquement pour des produits presque exclusivement réservés aux entreprises et aux organisations.

La GPLv3 résiste à une autre menace, celle des accords de brevets comme le pacte Novell-Microsoft. Microsoft veut utiliser ses milliers de brevets pour faire payer aux utilisateurs le privilège de faire tourner GNU/Linux ; il a conclu cet accord pour essayer d'obtenir cela. L'accord offre aux clients de Novell une protection assez limitée face aux brevets de Microsoft.

Microsoft a fait quelques erreurs dans l'accord Novell-Microsoft, et la GPLv3 est conçue pour les retourner contre Microsoft, en étendant cette protection limitée à toute la communauté. Afin d'en profiter, les programmes doivent utiliser la GPLv3.

Les avocats de Microsoft ne sont pas stupides et pourraient s'arranger pour éviter ces erreurs la prochaine fois. C'est pourquoi la GPLv3 dit qu'il n'y aura pas de « prochaine fois ». Publier un programme sous GPLv3 le protège des futures tentatives de Microsoft de faire collecter des royalties à son profit par les redistributeurs, auprès des utilisateurs.

La GPLv3 offre aussi à l'utilisateur une protection explicite contre les brevets, face aux contributeurs et redistributeurs de programmes. Avec la GPLv2, les utilisateurs s'appuyaient sur une licence de brevet implicite pour s'assurer que la société qui leur en avait fourni une copie ne les attaquerait pas pour violation de brevet, ni eux ni les personnes à qui ils avaient redistribué des copies.

La licence de brevet explicite de la GPLv3 ne va pas aussi loin que nous l'aurions souhaité. Idéalement, nous aurions voulu que quiconque redistribue du code sous GPL abandonne tout brevet logiciel, et que quiconque ne redistribue pas de code sous GPL fasse de même, parce que les brevets logiciels ne devraient pas exister. Les brevets logiciels sont un système absurde et vicieux qui met les développeurs en danger d'être poursuivis par des sociétés dont ils n'ont jamais entendu parler, aussi bien que par tous les géants du secteur. Typiquement, les grands programmes combinent des milliers d'idées ; il n'est donc pas étonnant qu'ils mettent en œuvre des idées couvertes par des centaines de brevets. Les sociétés géantes collectionnent des milliers de brevets et s'en servent pour intimider les petits développeurs. On voit déjà que les brevets freinent le développement de logiciels libres.

La seule manière de faire du développement logiciel en toute sécurité est d'abolir les brevets logiciels, et un jour nous atteindrons ce but. Mais nous ne pouvons le faire avec une licence de logiciel. N'importe quel programme, libre ou non, peut être tué par un brevet logiciel entre les mains d'une tierce partie non concernée, et la licence du programme ne peut l'empêcher. Seules des décisions de justice ou des changements dans la loi sur les brevets peuvent offrir au développement logiciel une protection contre les brevets. Si nous avions essayé de faire cela avec la GPLv3, nous aurions échoué.

En conséquence, la GPLv3 cherche à limiter et canaliser le danger. En particulier, nous avons essayé de sauver le logiciel libre d'un destin pire que la mort : être rendu privateur,3 de fait, par des brevets. La licence explicite de la GPLv3 s'assure que les sociétés utilisant la GPL, donnant les quatre libertés, ne se servent pas de leurs brevets pour dire à quelques utilisateurs : « ceci ne vous concerne pas », « ceci ne vous inclut pas ». Cela empêche aussi les collusions dans ce but avec d'autres détenteurs de brevets.

D'autres avantages sont inclus dans la GPLv3 : une meilleure internationalisation, une résiliation en douceur, un support pour BitTorrent et la compatibilité avec la licence Apache. L'un dans l'autre, beaucoup de raisons de faire cette mise à jour.

Les changements ne cesseront probablement pas, une fois la GPLv3 sortie. Si de nouvelles menaces aux libertés des utilisateurs se développent, nous devrons travailler sur une GPLv4. Il est important de faire en sorte que les programmes n'aient pas de problème d'adaptation à cette future version, si jamais nous l'écrivons.

Une manière de le faire est de publier un programme sous « GPL version 3 ou toute version supérieure ». Une autre est que l'ensemble des contributeurs à un programme établissent une procuration à un représentant qui puisse décider d'une évolution vers les futures versions de la GPL. La troisième voie est que tous les contributeurs assignent un copyright à un représentant désigné, lequel serait en position de mettre à jour la version de licence. D'une façon ou d'une autre, les programmes devraient offrir cette flexibilité en prévision des futures versions de la GPL.


Notes de traduction
  1.   Tivoïsation : cf Le jargon français. Nom féminin [société]. Tivoization en anglais, selon le terme inventé par RMS. Contournement de l'esprit des obligations légales d'une licence libre, en particulier la GPL, par des moyens techniques. Le terme a été forgé d'après le nom de la société TiVo qui, ayant utilisé du logiciel sous GPL dans ses magnétoscopes numériques (le noyau Linux en particulier), en a bien publié le code source, mais en faisant en sorte que les éventuelles versions modifiées ne puissent pas fonctionner avec son matériel, celui-ci ne voulant bien exécuter que des programmes présentant les bonnes signatures numériques.
  2.   Appliance : cf Le jargon français. Nom féminin et adjectif [machine]. Se dit de toutes sortes de machines dont la principale caractéristique est de pouvoir être (théoriquement) simplement branchées pour fonctionner immédiatement de manière parfaitement opérationnelle. Le plus fou, c'est que cette promesse est souvent tenue !
  3.   Autre traduction de proprietary : propriétaire.