Catégorie : Réfléchir     Tags :      

     Retrouvez cet article dans : Linux Magazine 84

    La licence GPL a connu depuis sa création un énorme succès. Nombreux sont, en effet, les développeurs ayant placé depuis leurs projets sous cette licence, certains même par effet de mode. Face aux changements technologiques rapides, évolutions légales récentes et futures orchestrées par de puissants lobbies, l’adaptation est une constante et est vitale pour la survie de cette philosophie collaborative, caractéristique des Logiciels libres.

    1. Contexte : quelle est la raison d’être de la version 3 de la GPL ?

    La licence GPL est née de la volonté de Richard Stallman, initiateur du mouvement du « Logiciel libre », de rendre libre l’utilisation et la distribution des logiciels et de lutter ainsi contre les restrictions imposées dans les logiciels propriétaires. Il y formalisa quatre libertés fondamentales (utiliser librement un logiciel, le distribuer à volonté, la possibilité de le modifier et d’en copier des morceaux). Il y spécifia en outre que le dérivé d’un logiciel placé sous la licence GPL est soumis à cette même licence. Il interdit donc d’y ajouter des modifications propriétaires ou de réutiliser des parties de code dans un logiciel propriétaire. La liberté du logiciel est de cette façon garantie à quiconque possède une copie et en devient indissociable.
    Après avoir rédigé une première version telle qu’un programmeur peut l’écrire, Richard Stallman a souhaité offrir à cette licence en 1991 un habillage juridique, pour qu’elle ne puisse pas être contestée par une quelconque législation et lui donner ainsi plus de crédibilité, plus de force. Par ailleurs, une seule et même version de la licence serait utilisée par tous les développeurs (remarquez que le texte de la GPL est soumis au copyright).
    Il confia cette tâche à un avocat, Eben Moglen, coauteur avec lui de la version 2 de la GPL en 1992. Cette version, même si le cœur énonce des principes compatibles avec la plupart des législations (signataires de la Convention de Berne), s’est fortement inspirée des dispositions légales nord-américaines.
    Le contexte a sensiblement évolué depuis, tant du point de vue technologique que légal. Un « toilettage » de la version 2 de la GPL s’avère ainsi nécessaire. Voici le planning à suivre dans la phase de consultation publique, avant adoption de la nouvelle version officielle de la GPL (GPLv3) :

    /img-articles/lm/84/art-2/fig-1.jpg

    Tout le monde peut apporter ses commentaires sur le site de la Free Software Foundation : http://gplv3.fsf.org/comments/.

    2. Quelles sont les principales dispositions ?

    2.1 Le cœur des licences GPL

    La Licence GPLv3 reprend les grands principes de la GPLv1 et v2 :

    • Les quatre libertés fondamentales des Logiciels libres selon la FSF (énoncées plus haut).
    • Le Copyleft ou « gauche d’auteur » qui consiste à « détourner » le principe du copyright pour préserver la liberté d’utiliser, d’étudier, de modifier et de diffuser le logiciel et ses versions dérivées. C’est lui qui oblige à rendre disponible le code source de la version modifiée.

    2.2 Les objectifs de la version 3

    La Free Software Foundation a publié une première trame de la version 3 de la GPL qui est pour l’instant soumise aux commentaires du public.

    • Cette consultation vise à identifier toutes les problématiques auxquelles sont confrontés les utilisateurs dans le contexte actuel et trouver des solutions.
    • Elle se veut être une version plus internationale et n’avoir pas comme principale source la législation nord-américaine.
    • Elle tente d’apporter des premiers changements majeurs, notamment sur les questions de la gestion numérique des droits (DRM) et les brevets logiciels (face à la pratique réelle et actuelle de brevetabilité des logiciels).
    • Par ailleurs, elle entend rendre compatible la licence GPL avec plus de licences libres en réduisant les restrictions.

    3. En quoi diffèrent la GPLv2 et le projet de la nouvelle licence ? Leur compatibilité ? Laquelle choisir ?

    Attention ! Ce paragraphe ainsi que le reste de l’article s’appuient sur la version en cours de développement du 16 janvier 2006.

    3.1 Les DRM

    Cette notion n’apparaît pas dans la GPLv2. Elle a été introduite dans le projet de la nouvelle licence GPL. Richard Stallman souhaite en effet éviter que les Logicielles libres ne soient restreints dans leur utilisation par les DRM, i. e. Digital Rights Management qu’il qualifie de Digital Restriction Management.
    Au préambule du projet, il affirme que les DRM sont « incompatibles » avec les principes de la nouvelle version et que, par conséquent, les développeurs ne doivent pas associer de DRM avec leurs logiciels sous cette licence. Ainsi, la future GPL 3, dans ses dispositions actuelles, pourrait empêcher certains fabricants comme TiVo (qu’il évoque explicitement lors de son intervention au FISL le 21/04/2006 à Porto Alegre : http://mulheres.softwarelivre.org/news/6363) ou Linksys d’exploiter Linux pour certains de leurs produits tels que le lecteur/enregistreur de salon...
    En effet, dans le cas de TiVo, un produit permettant d’enregistrer des programmes TV a été lancé en utilisant le système Linux. Si le code est bien accessible aux utilisateurs, qui peuvent ainsi faire des modifications, une fois celles-ci réalisées, l’appareil ne fonctionne plus. Ce qui n’est pas acceptable selon Richard Stallman, car cela empêche l’utilisateur d’adapter le code à son goût. De plus, le brouillon de la GPLv3 indique qu’« aucun logiciel soumis à cette licence ne constitue une partie d’une mesure technique de protection efficace ». Cette disposition vise simplement à protéger le bénéficiaire de la licence contre l’éventualité d’un procès l’accusant d’avoir par exemple contourné une TPM (Trusted Platform Module) en modifiant le logiciel.
    Cette puce électronique que l’on trouve de plus en plus dans les ordinateurs portables est un microcontrôleur qui comprend à l’intérieur du même circuit intégré, des moteurs de cryptage RSA et SHA-1, un générateur de nombres aléatoires, un générateur de clés, une mémoire de stockage non volatile, un processeur ainsi que le code du programme de gestion de cette puce.
    La puce TPM est pratiquement un ordinateur à elle seule, mais un ordinateur uniquement dédié au cryptage. Un de ses avantages est qu’elle génère la clé qui est stockée dans sa mémoire et de la sorte la rend totalement inviolable : seuls les utilisateurs authentifiés et les programmes associés à ceux-ci peuvent y avoir accès.
    Cette technologie possède aussi un côté inquiétant. Il est, par exemple, possible – et certains y ont déjà songé ! – de l’associer aux systèmes de protection des droits DRM (Loi DADVSI), aux mises à jour de pilotes ou encore à la surveillance du téléchargement, afin que seules les données autorisées puissent être stockées ou s’exécuter sur l’ordinateur. Concernant la communication des clés privées, le brouillon de la licence n’est pas clair dans le projet, certains comme Linus Torvalds ont interprété les dispositions sur les DRM et le code source du projet comme imposant leur divulgation.

    3.2 Les brevets

    3.2.1 Dans la GPLv2

    Déjà dans le préambule, il est précisé que tout dépôt éventuel de brevet doit accorder expressément à tous le libre usage du produit. Cette disposition n’était cependant pas suffisante face à l’ampleur du phénomène.

    3.2.2 Dans la GPLv3

    Le préambule du projet de licence reprend la disposition de la GPLv2, qui impose à tout développeur plaçant son logiciel sous licence GPL et déposant par ailleurs un brevet (pour se protéger d’un éventuel conflit) d’accorder expressément à tous le libre usage du produit, avec quelques modifications. Il ne pourra par exemple pas réclamer de royalties en invoquant le brevet.
    Ce projet prévoit en plus dans sa disposition 7 e) des mesures de représailles (dans le cas d’une action judiciaire sur le brevet qui viendrait à être engagée par l’utilisateur) et donc va beaucoup loin que la GPLv2.
    Sa disposition 11 protège les utilisateurs contre les poursuites judiciaires à propos d’infractions sur les brevets quand le logiciel est publié sous cette licence.
    En outre, « Cette licence est non exclusive, libre de royalties et mondiale, et couvre tous les brevets ou sous licences détenues, au moment de la distribution de l’œuvre couverte ou dans le futur, qui pourraient être violés par l’œuvre couverte ou tout usage raisonnablement envisagé de l’œuvre couverte. »

    3.3 La compatibilité avec d’autres licences

    Cet objectif est absent de la GPLv2. Dans sa disposition 7, le brouillon du projet autorise les développeurs, sous certaines conditions, à combiner du code sous licence GPL avec du code sous licence autre que la GPL.

    3.4 Tableau récapitulant les principales évolutions

    /img-articles/lm/84/art-2/fig-2.jpg

    La GPLv3 apporte de nouvelles restrictions, mais aussi de nouvelles possibilités. Le choix de version de licence dépendra du type de produit et de la volonté de son auteur.

    4. Questions diverses

    4.1 La GPLv3 s’applique-t-elle aux logiciels « sous licence GPLv2 ou toute version ultérieure » ? Dans quelle mesure ?

    Nombreux logiciels sous licence GPLv2 sont rendus disponibles sous les termes « GPL version 2 ou toute version ultérieure » (« version 2 of the GPL or any later version »).
    Considérons qu’un programme mentionne « Version 2 de la GPL ou toute version ultérieure » et qu’une nouvelle version de la GPL soit publiée (GPLv3). Si la nouvelle version de la GPL donne une permission supplémentaire, celle-ci est immédiatement disponible pour tous les utilisateurs du programme. Mais, si elle comporte une exigence plus restrictive, cela ne limitera pas l’utilisation de la version courante du programme, car ce dernier peut toujours être utilisé selon les termes de la GPL Version 2. Les programmeurs seront toujours autorisés à le modifier ou à en copier du code, selon les termes de la GPL Version 2 même après la publication d’autres versions de la GPL. Le licencié (l’utilisateur) a donc le choix entre la GPLv2 et les dispositions de la nouvelle licence.
    Cas particulier : si un développeur modifie du code « Version 2 de la GPL ou toute version ultérieure » et publie ses modifications, elles seront forcément sous licence « Version 2 de la GPL ou toute version ultérieure ». Ici, le copyleft s’applique et lui empêche le choix de la licence.
    En revanche, pour les logiciels où l’auteur aurait délibérément supprimé le bout de phrase « ou toute nouvelle version ultérieure » et aurait soumis le logiciel à la GPLv2 uniquement, seules les dispositions prévues dans la version 2 de la GPL s’appliqueront, pas celles de la version 3. Le choix n’est alors plus possible.
    Dans le cas où l’auteur d’un logiciel aurait placé son programme sous la licence GPLv2 avec la mention « ou toute nouvelle version ultérieure » avant la publication de la nouvelle version et où il n’adhérerait pas aux dispositions de la nouvelle licence, il pourrait selon certains se fonder sur ce qu’on appelle l’erreur, en langage juridique, pour que seule soit appliquée la licence GPLv2. L’erreur est un vice du consentement qui peut remettre en cause la validité d’un contrat. Cet argument n’est pas recevable juridiquement. En effet, la licence GPL est un contrat-type proposé par la FSF. Le fait que l’auteur soumette son logiciel à cette licence l’engage pleinement. Il fait une offre ferme et précise qui est assimilable à un contrat d’adhésion, puisque le licencié n’a plus qu’à utiliser le logiciel pour manifester son acceptation.
    Si le donneur de licence ne précise pas le numéro de version, la GPL retient une solution favorable au licencié qui pourra choisir entre les différentes versions publiées par la Free Software Foundation (disposition 9 de la GPLv2 et 14 du projet GPLv3).

    4.2 Mode d’emploi pour passer à la version 3

    Si vous avez le copyright sur votre programme, vous pourrez le passer à la « GPLv3 ou toute version ultérieure » en distribuant le programme avec un nouveau numéro de version, quelle que soit la licence actuelle (« Version 2 de la GPL ou toute version ultérieure », « Version 2 de la GPL seulement »…). L’utilisateur sera alors soumis aux conditions de la GPLv3 et versions suivantes de licence.
    En revanche, si vous souhaitez inclure du code sous « GPLv2 uniquement » dans votre programme (sur lequel vous avez le copyright et qui est lui sous GPLv3 avec ou sans la mention « ou toute version ultérieure »), vous devez solliciter l’accord de l’auteur du code à inclure (article 10 de la GPLv2). Il en est de même, si vous voulez inclure votre code dans un logiciel sous licence GPLv2 uniquement (sans mention « ou toute version ultérieure ») et que vous souhaitez que vos lignes de codes soient placées sous licence « GPLv2 ou toute version ultérieure » ou « GPLv3 ou toute version ultérieure ». L’accord de donneur de licence est impératif et, dans ce cas, se manifestera par un changement de version du logiciel.

    5. Ce qu’ils en pensent

    5.1 Linus Torvalds

    Linus Torvalds s’oppose au projet de la version 3 de la GPL dans son mail envoyé le 25 janvier 2006 sur la mailing list du noyau Linux (http://lkml.org/lkml/2006/1/25/273). Il indique clairement que le « noyau Linux restera sous la juridiction de la GPLv2 et pas autre chose et indique qu’il n’a jamais été écrit ‘GPLv2 ou toute version plus récente’ ». Il motive son veto par la disposition sur la gestion des droits (Digital Rights Management). Selon le projet de la GPLv3 : « le DRM n’est pas compatible avec les objectifs mêmes visés par la GPL qui consiste à protéger les utilisateurs ». Pour lui, il est « insensé d’obliger les gens à donner aux utilisateurs leurs clés privées de signatures ».
    Cette annonce d’exclusion du noyau du système d’exploitation de la GPLv3 serait liée à une interprétation erronée de la licence en cours de définition, selon la Free Software Foundation France (fsffrance.org). « La GPLv3 telle que rédigée, signifie qu’il faut publier des clés privées, impératif inacceptable, je l’admets. Le brouillon n’est pas clair sur les DRM, chapitre sensible, il sera donc rédigé à nouveau », a indiqué Loïc Dachary, membre de FSF France. (http://www.zdnet.fr/actualites/informatique/0,39040745,39306538,00.htm)

    5.2 Alan COX

    Alan Cox, un des programmeurs les plus impliqués dans le développement du noyau Linux, ne partage pas l’avis de Linus Torvalds. Pour lui, la GPLv3 permettra aux gens de partager plus de code et indique que les dispositions sur la DRM sont sans effet sur le noyau Linux du fait que « DRM is general used by applications ».

    5.3 Debian :

    Dans un article intitulé « Notes on the GPLv3 » (http://www.newsforge.com/article.pl?sid=06/01/27/1432248&from=rss), Benjamin Mako Hill, chercheur au MIT Media Lab et un des contributeurs à la distribution Debian, écrit que pour travailler à l’élaboration d’une nouvelle version, il faut se poser quelques questions de base sur la version en cours :

    • Respecte-t-elle les quatre libertés fondamentales décrites dans le document d’origine ?
    • Maintient-elle les principes fondamentaux et les objectifs de la précédente version ?
    • Introduit-elle des problèmes pratiques et des inconvénients qui pourraient nuire au mouvement Open Source ?
    • Introduit-elle des problèmes qui pourraient freiner, voire empêcher des personnes de contribuer au mouvement Open Source ?

    Dans sa majorité la communauté Debian est assez favorable à la nouvelle version de la licence GPL à l’état de Projet, notamment sur l’aspect de la possibilité de combiner du code sous licence GPL avec du code sous licence non GPL, mais il existe encore des dispositions à revoir.

    5.4 Position de SUN :

    Le président de Sun, dans son blog, le 27/01/2006, fait part de son avis favorable concernant la nouvelle version de la licence GPL. Il indique son intention de placer Solaris sous une double licence (CDDL et GPLv3) et, de cette façon, amener à plus de synergie entre Solaris et Linux et à amener les deux communautés à plus d’échange (http://blogs.sun.com/roller/page/jonathan?entry=hp_and_sun_partnering_around).

    Conclusion

    Grâce à l’articulation du droit d’auteur et du contrat, la GPL permet de gérer l’évolution d’un logiciel dans le temps à travers une multiplicité d’auteurs. Plus que la réservation de son œuvre, l’auteur privilégie le partage en recherchant à garantir la liberté de l’œuvre par le contrôle sur sa divulgation, sa paternité, son respect, sa reproduction et sa représentation.
    Pour ce faire, si le logiciel est quelque part développé de façon anarchique, il existe une structure juridique pour protéger son développement. En effet « entre le fort et le faible, entre le riche et le pauvre, entre le maître et le serviteur, c’est la liberté qui opprime et la loi qui libère », disait Lacordaire pour critiquer le Code Civil, parce qu’il était rédigé par les puissants.
    Le monde du Libre doit se servir de l’arme juridique, laquelle doit s’adapter au contexte qui a évolué et aux menaces ambiantes. Une révision de la GPL s’impose, comme nous l’avons vu.  Le projet actuel est intéressant de par les nouveautés qu’il introduit, mais beaucoup reste à faire avant l’adoption du texte officiel. Il existe des dispositions pas toujours claires et quelque peu ambiguës telles que sur les DRM par exemple.
    On peut s’interroger par rapport aux restrictions prévues dans ce projet et se demander si, à force de mettre en place des mécanismes qui garantissent les libertés des logiciels, nous ne sommes pas en train de les enfermer sur eux-mêmes ? Trop de liberté tue la liberté !

    Références :

    • Projet de licence GPLv3 : http://gplv3.fsf.org/draft
    • Comparaison entre les dispositions de la GPLv2 et du projet GPLv3 : http://www.groklaw.net/articlebasic.php?story=20060118155841115
    • FAQ de la GNU GPL :
      http://www.gnu.org/licenses/gpl-faq.fr.html
    • DRMS et Logiciels libres : http://www.debatpublic.net/Members/paigrain/blogue/DRMS
    • Autres liens intéressants sur le site : http://www.fsf-europe.org/projects/gplv3/gplv3.fr.html#info

     Retrouvez cet article dans : Linux Magazine 84

    Posté par (La rédaction) | Signature : Anabella Mettier | Article paru dans

    Laissez une réponse

    Vous devez avoir ouvert une session pour écrire un commentaire.


    • Il y a actuellement

    • 709 articles/billets en ligne.