Traduction en cours

Cette page est consacrée à la traduction en français de en:Free as in Freedom. Si vous souhaitez participer à la traduction, il vous suffit d’éditer cette page. Merci de corriger les erreurs que vous pourrez y trouver.

Chapitre IX — La licence publique générale GNU
◄  Chapitre 8 Chapitre 10  ►

Au printemps 1985, Richard Stallman était parvenu à la première étape du projet GNU : une version libre (basée sur Lisp) d'Emacs. Cependant, pour atteindre cet objectif, il fut confronté à deux problèmes. Dans un premier temps, il dut reconstruire Emacs pour le rendre interopérable puis, dans un second temps, il dut réorganiser la Communauté Emacs de manière similaire.

La dispute avec UniPress avait révélé une faille dans le contrat social de la Commune Emacs. Là où les utilisateurs s'en remettaient à l'excellente expertise de Stallman, les règles de la commune tenaient bon. Dans les domaines où Stallman n'occupait plus la position de hacker alpha (sur les systèmes Unix pré-1984 par exemple) les personnes et les entreprises étaient libres d'inventer leurs propres règles.

La tension entre la liberté de modifier le code et la liberté pour les auteurs d'exercer leurs privilèges s'est développée bien avant GOSMACS. Le Copyright Act signé en 1976 avait mis à niveau la loi américaine sur le copyright, en étendant cette protection légale aux logiciels. Selon la section 102(b) de ce document, les individus et les entreprises possédaient dorénavant le droit d'exercer leur copyright sur les « termes » d'un logiciel et non les « processus ou méthodes effectivement implémentés dans le programme [1] ». Si l'on essaye de traduire, les programmeurs et entreprises avaient dorénavant le droit de traiter les logiciels comme des livres ou des chansons. D'autres programmeurs pouvaient s'inspirer du travail sous copyright, mais pour le copier ou en réaliser un dérivé non-parodique, ils devaient en premier lieu obtenir la permission de l'auteur original. Bien que cette nouvelle loi garantisse que même les logiciels sans notices de copyright soient dotés d'une protection copyright, les programmeurs s'assurèrent vite de la protection de leurs droits en ajoutant de telles notices à leurs logiciels.

D'abord, Stallman les vit arriver avec inquiétude. Rares étaient les logiciels qui n'empruntaient pas des bouts de code source issus de tel ou tel programme préexistant, et pourtant, d'un coup de stylo, le président du congrès avait donné la possibilité aux programmeurs de s'assurer des droits exclusifs sur des logiciels construits par des communautés. On injectait aussi une dose de formalisme dans ce qui était auparavant un système informel. Même si les hackers pouvaient prouver comment les traînées de sang laissées par des logiciels remontaient et trouvaient leurs origines quelques années auparavant, si ce n'est quelques décennies, les ressources et l'argent qu'engloutissaient chaque bataille juridique sur les notices de copyright étaient hors de portée pour eux. En termes simples, des disputes qui se réglaient auparavant entre hackers se réglaient dorénavant entre avocats. Dans un tel système, les entreprises, et non les hackers, détenaient un avantage automatique.

Ceux qui défendaient le copyright logiciel avaient leurs contre arguments : sans copyright, les produits risquaient de se retrouver dans le domaine public. Mettre une notice de copyright sur un produit servait aussi en tant que preuve de qualité. Les développeurs et entreprises qui liaient leur nom au copyright engageaient aussi leur réputation. Finalement, c'était un contrat autant qu'une déclaration de propriété. En utilisant le copyright comme une forme flexible de licence, un auteur pouvait abandonner certains droits en échange de certains comportements de la part de l'utilisateur. Par exemple, un auteur pouvait renoncer à bloquer les copies non autorisées dans les cas où l'utilisateur renonçait à créer des dérivés commerciaux du produit.

C'est ce dernier argument qui adoucit probablement la réticence de Stallman face aux notices de copyright logiciel. En se penchant sur les années qui débouchèrent sur le projet GNU, Stallman rapporte qu'il a commencé à ressentir la nature bénéfique du copyright aux alentours de la sortie d'Emacs 15.0, la dernière mise à jour importante d' Emacs avant le Projet GNU. « J'avais vu des courriels avec des notices de copyright auxquelles étaient ajoutées de simples licences 'copies conformes permises' », se souvient Stallman. « Elles furent à coup sûr [une] inspiration. »

Pour Emacs 15, Stallman définit un copyright qui donnait aux utilisateurs le droit de faire et redistribuer des copies. Il donnait aussi aux utilisateurs le droit de créer des versions modifiées, sans toutefois pouvoir se rendre propriétaires exclusifs de ces copies modifiées, comme ce fut le cas pour GOSMACS.

Bien qu'utile pour codifier le contrat social de la Commune Emacs, dit Stallman, la licence Emacs 15 restait trop « informelle » pour les objectifs du Projet GNU. Peu après avoir commencé à travailler sur une version GNU d'Emacs, Stallman commença à consulter les autres membres de la Free Software Foundation (FSF) sur la façon d'arrêter les termes de la licence. Il consulta aussi les avocats qui l'avaient aidé à mettre en place la FSF.

Mark Fischer, un avocat de Boston spécialisé dans les lois sur la propriété intellectuelle, se rappelle de ses échanges de l'époque avec Stallman concernant la licence. « Richard avait des opinions très fortes concernant la façon dont cela devait fonctionner », dit Fischer. « Il avait deux principes. Le premier était de rendre le logiciel aussi ouvert que possible. Le second était d'encourager les autres à suivre les mêmes pratiques de publication. »

Encourager les autres à suivre les mêmes pratiques de publication voulait dire fermer la faille qui avait permis à des versions privées d'Emacs de voir le jour. Pour combler cette faille, Stallman et ses collègues du logiciel libre trouvèrent une solution : les utilisateurs seraient libres de modifier GNU Emacs tant qu'ils publiaient leurs modifications. En plus, les produits « dérivés » en résultants devaient automatiquement porter la même licence GNU Emacs. La nature révolutionnaire de cette dernière clause mit du temps à s'imposer. À l'époque, pour Fisher la licence GNU Emacs était un simple contrat. Cela donna un coût à l'utilisation de GNU Emacs. Au lieu d'argent, Stallman facturait aux utilisateurs l'accès à leurs propres modifications futures. Ceci dit, Fischer se souvient que ces termes de contrat étaient inédits.

« Je pense que demander ce prix aux autres était, sinon unique, très inhabituel à l'époque », dit-il.

La licence GNU Emacs fit ses débuts lorsque Stallman finit par publier GNU Emacs en 1985. Suite à cette publication, Stallman voulut connaître les retours de l'ensemble de la communauté hacker sur les moyens d'améliorer les termes de la licence. Parmi ceux qui répondirent se trouvait le futur activiste du logiciel John Gilmore, alors consultant chez Sun Microsystems. Dans le cadre de son emploi de consultant, il avait porté Emacs sur SunOS, la version maison d'Unix chez Sun. A cette occasion, Gilmore avait publié ses modifications comme le requérait la Licence GNU Emacs. Au lieu de voir la licence comme une responsabilité, Gilmore la concevait comme une expression claire et concise de l'esprit hacker. « Jusqu'alors, la plupart des licences étaient très informelles », se souvient Gilmore.

En illustration de ce non-formalisme, Gilmore cite une licence du milieu des années 1980 pour trn, un lecteur de nouvelles écrit par Larry Wall, un hacker qui trouva plus tard la célébrité en tant que créateur de l'utilitaire Unix patch et du langage de script Perl. Dans l'espoir de trouver un équilibre entre la courtoisie usuelle des hackers et le droit d'un créateur à pouvoir dicter les conditions de publication des versions commerciales, Wall utilisait la notice de copyright jointe comme une sonnante tribune éditoriale.

Copyright (c) 1985, Larry Wall
Vous pouvez copier entièrement ou en partie le kit trn tant que vous ne tentez pas d'en faire de l'argent, ou de prétendre que vous l'avez écrit[2].

De telles déclarations, bien que reflétant l'éthique hacker, exprimaient aussi la difficulté de traduire la nature floue et informelle de cette éthique vers le langage rigide et juridique du copyright. En écrivant la Licence GNU Emacs, Stallman avait fait plus que bloquer la faille permettant les dérivés commerciaux. Il avait traduit l'éthique hacker dans des termes compréhensibles à la fois par les avocats et par les hackers. Sollicité lors d'une conversation sur Usenet, Gilmore envoya un courriel à Stallman en novembre 1986, proposant des modifications :

« Vous devriez probablement enlever EMACS de la licence et le replacer par LOGICIEL ou autre chose. Bientôt, on l'espère, Emacs ne sera pas la pièce principale du système GNU, et la licence s'appliquera à l'ensemble [3]. »

Gilmore n'était pas le seul à suggérer une approche plus générale. Fin 1986, Stallman lui-même travaillait sur la prochaine étape du Projet GNU, un débogueur de code source, et cherchait un moyen de retoucher la Licence Emacs afin qu'elle puisse s'appliquer aux deux logiciels. La solution de Stallman était de supprimer toutes les références explicites à Emacs et convertir la licence en un parapluie légal général pour le Projet GNU. La Licence Publique Générale GNU, GPL en abrégé (General Public Licence), était née.

En mettant au point la GPL, Stallman suivit la convention logicielle qui consiste à utiliser des chiffres décimaux pour indiquer les versions prototypes et des nombres entiers pour indiquer les versions matures. En 1989, quatre ans après avoir défini le premier prototype, Stallman publia la version 1.0 de la GPL, la définissant comme licence officielle de GNU Emacs et du débogueur GNU, dit GDB, la seconde majeure incursion de Stallman dans l'univers de la programmation Unix. La licence contenait un préambule dévoilant ses intentions politiques :

La Licence Publique Générale est faite pour s'assurer que vous ayez la liberté de donner ou vendre des copies de logiciel libre, que vous receviez le code source ou que vous puissiez y accéder si vous le souhaitez, que vous puissiez modifier le logiciel ou en inclure des parties dans de nouveaux logiciels libres, et que vous sachiez que vous pouvez faire toutes ces choses.
Pour protéger vos droits, nous devons imposer des restrictions qui empêchent quiconque de vous disputer ces droits, ou même de vous demander d'y renoncer. Ces restrictions se traduisent par certaines responsabilités pour vous si vous distribuez des copies du logiciel, ou si vous le modifiez[4].

En créant la GPL, Stallman avait été forcé de faire un ajustement supplémentaire aux dogmes informels de l'ancienne Communauté Emacs. Là où il avait autrefois demandé que les membres de la Commune publient toutes leurs modifications, Stallman demandait à présent la publication dans les seuls cas où les programmeurs faisaient circuler publiquement, comme Stallman le faisait,leurs versions modifiées. En d'autres termes, les développeurs qui modifiaient Emacs pour leur simple usage personnel n'étaient plus tenus à envoyer les modifications du code source à Stallman. Dans ce qui deviendrait un rare compromis dans la doctrine du logiciel libre, Stallman tranchait dans le coût du logiciel libre. Les utilisateurs pouvaient innover sans que Stallman ne les observe par dessus l'épaule tant qu'ils n'interféraient pas avec Stallman et le reste de la communauté hacker pour la distribution du même logiciel.

Après coup, selon Stallman, le compromis de la GPL était motivé par son propre mécontentement vis à vis de l'aspect Big Brother du contrat social de la Communauté Emacs originelle. Bien qu'il aimât observer les systèmes des autres hackers, la pensée que quelque futur mainteneur de code source puisse utiliser ce pouvoir à des fins condamnables le força à adoucir la GPL.

« C'était mal de demander aux gens de publier toutes leurs modifications », dit Stallman. « C'était mal de leur demander de se référer à un développeur privilégié. Ce genre de centralisation et de privilège pour un seul individu n'était pas cohérent avec une société dans laquelle tous avaient les mêmes droits. »

Au fil des hacks, la GPL figure comme l'un des meilleurs coups de Stallman. Elle a créé un système de propriété collective à l'intérieur des habituels murs propriétaires de la loi sur le copyright. Mais surtout, elle a démontré la similarité intellectuelle entre code législatif et code logiciel. Implicitement, dans le préambule de la GPL réside un message profond : au lieu de considérer la loi sur le copyright logiciel avec suspicion, les hackers devraient plutôt la voir comme un système de plus ne demandant qu'à être hacké.

« La GPL s'est vraiment développée comme n'importe quel module de logiciel libre, avec une vaste communauté discutant sa structure, son respect ou les transgressions qu'ils observaient, et la nécessité d'ajustements ou de compromis légers pour une plus grande acceptation », dit Jerry Cohen, un autre avocat ayant aidé Stallman sur la genèse de la licence. « Le processus s'est très bien déroulé et la GPL dans ses diverses versions est passée du scepticisme général, voire quelquefois des réactions hostiles, à un assentiment unanime. »

En 1986, dans une entrevue pour le magasine Byte, Stallman résume la GPL en des termes imagés. En plus de proclamer les valeurs des hackers, dit Stallman, les lecteurs devraient aussi « la voir comme une forme de jiu-jitsu intellectuel, destiné à retourner contre les voleurs de logiciels le système légal que ceux-ci avaient mis en place [5] ». Des années plus tard, Stallman décrit la création de la GPL en des termes moins hostiles. "Je pensais à des problématiques qui étaient à la fois politiques et légales », dit-il. « J'ai dû faire ce qui pouvait être soutenu par le système législatif dans lequel nous sommes. Dans l'esprit, le boulot consistait à légiférer les bases d'une nouvelle société, mais puisque je n'étais pas un gouvernement, je ne pouvais changer aucune loi. J'ai tâché de le faire en m'appuyant sur le système législatif existant qui n'avait pas été conçu pour quoi que ce soit de semblable. »

À l'époque où Stallman soupesait les problèmes éthiques, politiques et légaux associés au logiciel libre, un hacker californien nommé Don Hopkins lui envoya un manuel pour le microprocesseur 68000. Hopkins, un hacker Unix, comme lui passionné de science-fiction, lui avait emprunté le manuel quelques temps auparavant. En guise de remerciement, Hopkins avait décoré l'enveloppe retour avec des autocollants trouvés lors d'une convention locale de science-fiction. Un autocollant en particulier attira l'attention de Stallman. On y lisait : « Copyleft (L), Tous Droits Renversés ». Suivant la publication de la première version de la GPL, Stallman rendit hommage à l'autocollant, et surnomma la licence du logiciel libre « Copyleft ». Au cours du temps, le surnom et son symbole, un « C » renversé, devinrent le raccourci général de la FSF pour toute méthode de copyright « rendant un programme libre et requérant que toute version modifiée ou étendue du programme soit de même un logiciel libre ».

Un jour, le sociologue allemand Max Weber avança que toutes les grandes religions sont construites autour de la « routinisation » ou de l'« institutionnalisation » du charisme. Chaque religion ayant du succès, argumente Weber, convertit le charisme ou le message du leader religieux originel en un appareillage social, politique et éthique, plus aisément compréhensible et traduisible au cours du temps.

Bien que non religieuse en tant que telle, la GPL se qualifie sûrement comme un exemple de ce processus de « routinisation » à l'oeuvre dans le monde moderne décentralisé du développement logiciel. Depuis son introduction, des programmeurs et entreprises qui ont par ailleurs montré peu de loyauté ou d'allégeance à Stallman ont volontiers accepté le marché de la GPL à sa juste mesure. Quelques-uns ont même accepté la GPL comme mécanisme préemptif de protection pour leurs propres logiciels. Même ceux qui rejettent le contrat de la GPL comme étant trop contraignant reconnaissent son influence.

Keith Bostic était un hacker de ce dernier groupe, un employé de l'Université de Californie à l'époque de la sortie de la GPL 1.0. Le département de Bostic, le Computer Systems Research Group (Groupe de Recherche en Systèmes Informatiques ― CSRG), avait été impliqué dans le développement d'Unix depuis la fin des années 1970 et était responsable de nombreuses parties clef d'Unix, dont le protocole réseau TCP/IP, la pierre angulaire de la communication Internet moderne. A la fin des années 1980, AT&T, le propriétaire originel de la marque Unix, commença à se concentrer pour commercialiser Unix, et s'intéressa à la Berkeley Software Distribution, dite BSD, la version académique d'Unix développée par Bostic et ses pairs à Berkeley, la considérant comme étant la clef d'une technologie commerciale.

Bien que le code source BSD de Berkeley fût partagé entre chercheurs et développeurs commerciaux, avec une licence pour ce code, cette commercialisation représentait un problème. Le code de Berkeley était entremêlé avec du code propriétaire AT&T. Par conséquent, les distributions Berkeley n'étaient disponibles que pour ceux qui avaient déjà une licence Unix chez AT&T. Comme AT&T augmentait le prix de ces licences, ce compromis, qui avait en premier lieu semblé inoffensif, devint de plus en plus lourd à supporter.

Engagé en 1986, Bostic s'était donné comme projet personnel de porter BSD sur l'ordinateur PDP-11 de chez DEC. C'est durant cette période, dit Bostic, qu'il entra en contact avec Stallman lors de ses incursions occasionnelles sur la Côte Ouest. « Je me souviens de discussions animées avec Stallman à propos du copyright, alors qu'il utilisait des stations de travail empruntées au CSRG », dit Bostic. « Nous allions dîner ensuite et continuions à discuter de copyright en mangeant. »

En fin de compte, ces arguments trouvèrent des oreilles réceptives, mais pas de la manière dont Stallman l'eut souhaité. En juin 1989, Berkeley sépara son code réseau du reste de la distribution propriété d'AT&T et le distribua sous la licence de l'Université de Californie. Les termes du contrat étaient libéraux. Tout ce qu'un licencié devait faire était d'aider l'université avec des publicités vantant des programmes dérivés [6]. En contraste avec la GPL, les dérivés propriétaires étaient possibles. Un seul problème empêcha l'adoption rapide de la licence : la publication du code réseau BSD n'était pas celle d'un système d'exploitation complet. Les gens pouvaient étudier le code, mais il ne pouvait être exécuté qu'en conjonction avec d'autres codes aux licences propriétaires.

Au cours des années suivantes, Bostic et les autres employés de l'Université de Californie travaillèrent à combler les parties manquantes pour transformer BSD en un système d'exploitation complet, librement distribuable. Bien que retardé par une bataille juridique avec Unix Systems Laboratories ― la succursale d'AT&T qui possédait la propriété de la marque Unix ― la démarche porta finalement ses fruits au début des années 1990. Bien avant cette date, cependant, de nombreux utilitaires de Berkeley firent leur apparition dans le Projet GNU de Stallman.

« Je pense qu'il est hautement improbable que nous ayons avancé aussi bien que nous l'avons fait sans l'influence de GNU », dit Bostic, rétrospectivement. « C'était une chose sur laquelle ils travaillaient vraiment dur, et nous aimions l'idée. »

À la fin des années 1980, la GPL commençait à exercer un effet gravitationnel sur la communauté du logiciel libre. Il n'était pas nécessaire à un logiciel de porter la GPL pour se qualifier de libre ― il suffit de constater le cas des utilitaires BSD ― mais mettre un programme sous GPL envoyait un message définitif. « Je pense que l'existence même de la GPL a encouragé les gens à penser clairement au fait qu'ils faisaient du logiciel libre et aux méthodes de publication de leur travail », dit Bruce Perens, le créateur d' Electric Fence (un utilitaire Unix populaire) et futur leader de l'équipe de développement de Debian GNU/Linux. Quelques années après la publication de la GPL, Perens décida d'abandonner la licence maison d' Electric Fence en faveur du copyright de Stallman vérifié par des avocats. « C'était en fait très facile à faire », se souvient Perens.

Rich Morin, le programmeur qui avait considéré l'annonce de GNU par Stallman avec un certain scepticisme, se souvient avoir été impressionné par le nombre de logiciels qui commençèrent à s'amasser sous la bannière de la GPL. En tant que leader d'un groupe d'utilisateurs de SunOS, une des tâches principales de Morin durant les années 1980 avait été d'envoyer des cassettes contenant les meilleurs utilitaires gratuits ou libres. Ce travail impliquait souvent de devoir téléphoner aux auteurs des logiciels pour vérifier si leurs programmes étaient protégés par copyright ou s'ils avaient été publiés dans le domaine public. Aux alentours de 1989, dit Morin, il commença à remarquer que les meilleurs logiciels tombaient généralement sous la licence GPL. « En tant que distributeur de logiciel, dès que je voyais les lettres GPL, je savais que j'étais comme à la maison », se souvient Morin.

Pour compenser les efforts qu'il mettait dans la compilation des cassettes pour le groupe d'utilisateurs Sun, Morin demandait un peu d'argent aux destinataires. À présent, avec les logiciels qui migraient sous GPL, Morin mettait subitement deux fois moins de temps à faire ses cassettes, faisant même un peu de profit au passage. Sentant l'opportunité commerciale, Morin transforma son hobby en une entreprise : Prime Time Freeware.

De telles exploitations commerciales s'inscrivaient parfaitement dans le cadre du développement du logiciel libre. « Quand nous parlons de logiciel libre, nous nous référons à la liberté, pas à la gratuité », prévient Stallman dans le préambule de la GPL. A la fin des années 1980, Stallman avait trouvé un simple moyen mnémotechnique : « Ne pensez pas libre comme dans bière gratuite, mais comme dans liberté d'expression. »

La plupart des entreprises ignorèrent les sollicitations de Stallman. Cependant, pour quelques entrepreneurs, la liberté associée au logiciel libre était la même liberté que celle associée aux marchés libres. Sortez la propriété logicielle de l'équation, vous obtenez une situation où même la plus petite des sociétés de logiciels est en mesure de rivaliser avec les IBM et les DEC du monde entier.

Un des premiers entrepreneurs à saisir ce concept fut Michael Tiemann, un développeur étudiant à l'Université de Stanford. Durant les années 1980, Tiemann avait suivi le Projet GNU comme un aspirant musicien Jazz suivant son artiste préféré. Ce n'est cependant pas avant la publication du compilateur C GNU, dit GCC, en 1987, qu'il commença à comprendre le plein potentiel du logiciel libre. Définissant GCC comme une « bombe », Tiemann dit que l'existence même de ce logiciel souligne la détermination de Stallman en tant que programmeur.

« Tout comme chaque écrivain rêve d'écrire LE grand roman américain, chaque programmeur à l'époque des années 1980 parlait d'écrire LE grand compilateur américain », se souvient Tiemman. « Tout à coup, Stallman l'avait fait. C'était une leçon de modestie. »

« Si on évoque individuellement les points où l'on était en échec, GCC en faisait partie », enchérit Bostic. « Personne n'avait de compilateur à l'époque, avant que GCC n'entre dans la danse. »

Au lieu d'entrer en concurrence avec Stallman, Tiemann décida de développer son travail. La version originelle de GCC pesait 110.000 lignes de code, mais Tiemann se souvient d'un logiciel relativement facile à comprendre. Si facile en fait qu'il lui fallut moins de cinq jours pour le maîtriser et une autre semaine pour le porter sur une nouvelle plateforme matérielle, le microprocesseur National Semiconductor 32032. Au cours de l'année suivante, Tiemann commença à jouer avec le code source, créant un compilateur natif pour le langage C++. Un jour, au cours d'un exposé aux Laboratoires Bell, il croisa des développeurs de chez AT&T luttant pour atteindre le même objectif.

« Il y avait 40 ou 50 personnes dans la salle, et j'ai demandé combien travaillaient sur le compilateur natif », se souvient Tiemann. « Mon hôte me dit que l'information était confidentielle, mais ajouta que si je regardais dans la salle, je pouvais m'en faire une bonne idée générale. »

Peu après, poursuit Tiemann, une ampoule s'alluma dans sa tête. « J'avais travaillé sur ce projet pendant six mois. Je me suis simplement dit, que ce soit moi ou le code, voilà un niveau d'efficacité que le marché libéralisé devrait être prêt à récompenser. »

Tiemann trouva une inspiration supplémentaire dans le Manifeste GNU, qui, bien que fustigeant l'avarice de certaines entreprises de logiciels, encourage les autres à considérer les avantages du logiciel libre du point de vue de l'utilisateur. En supprimant le pouvoir du monopole de la question du logiciel commercial, la GPL offre la possibilité aux acteurs les plus astucieux de se battre sur le marché des services et du consulting, les deux niches les plus profitables du marché des logiciels.

Dans un essai daté de 1999, Tiemann rappelle l'impact du Manifeste de Stallman. « Ça ressemblait à de la polémique socialiste, mais j'y ai vu quelque chose de différent. J'y ai vu un business-plan caché [7]. »

Faisant équipe avec John Gilmore, un autre fan du Projet GNU, Tiemann lança un service de consulting logiciel dédié à la personnalisation des logiciels GNU. Nommé Cygnus Support, l'entreprise signa son premier contrat de développement en 1990. À la fin de l'année, l'entreprise avait engrangé 725.000 dollars en contrats de support et de développement. GNU Emacs, GDB et GCC étaient les trois grands outils orientés développeurs, mais ils ne furent pas les seuls développés par Stallman durant la première décennie du Projet GNU. En 1990, Stallman avait aussi développé des versions GNU du Bourne Shell (rebaptisé le Bourne Again Shell, dit BASH), YACC (rebaptisé Bison) et awk (rebaptisé gawk). Comme GCC, chaque logiciel GNU devait être construit pour pouvoir fonctionner sur de multiples systèmes, et non sur une seule plateforme propriétaire. Dans le processus qui rendait les logiciels plus flexibles, Stallman et ses collaborateurs les rendirent souvent plus utiles aussi.

Rappelant l'approche universaliste de GNU, Morin, de chez Prime Time Freeware, désigne un paquet logiciel essentiel, quoique terre à terre, intitulé hello. « C'est le programme hello world, qui consiste en cinq lignes de C, empaqueté comme s'il s'agissait d'une distribution GNU », dit Morin. « Par conséquent, il a toute l'information Texinfo et configure. Il a tous les bons outils d'ingénierie logicielle que le Projet GNU a inventé pour permettre le portage vers les autres environnements de façon aisée. C'est un travail extrêmement important, et cela n'affecte pas seulement tous les logiciels de Stallman, mais aussi tous les autres logiciels du Projet GNU. »

Selon Stallman, améliorer les logiciels venait en second lieu, après les avoir construits. « Pour chaque morceau je pourrais trouver ou non une façon de l'améliorer », dit Stallman lors de son entrevue pour Byte. « Dans une certaine mesure, je bénéficie de la réimplémentation, qui permet l'amélioration de beaucoup de systèmes. Dans une autre mesure, c'est parce que je suis depuis longtemps dans le milieu et que j'ai travaillé sur de nombreux autres systèmes. J'ai donc de nombreuses idées à mettre à l'épreuve [8]. »

Malgré tout, alors que les outils GNU marquèrent la fin des années 1980, la réputation de Stallman acquise au AI Lab pour sa minutie dans la conception devint légendaire à travers la communauté du développement logiciel toute entière.

Jeremy Allison, utilisateur de Sun à la fin des années 1980, et programmeur destiné à lancer son propre projet de logiciel libre, Samba, dans les années 1990, se souvient de cette réputation avec amusement. À la fin des années 1980, Allison commença à utiliser Emacs. Inspiré par le modèle de développement communautaire de ce programme, dit-il, il proposa une modification du code source, pour la voir rejetée par Stallman.

« C'était comme le titre d'une mauvaise publication », dit Allison. « 'Dieu répond aux prières d'un enfant : Non.' »

La stature grandissante de Stallman en tant que programmeur étaient toutefois contrebalancée par ses combats en tant que gestionnaire de projet. Bien que le Projet GNU avançât de succès en succès dans la création d'outils de développement, son incapacité à produire un noyau fonctionnel, le policier central réglant la circulation et qui détermine quel programme a accès au microprocesseur dans tout système Unix, commençait à soulever des mécontentements avant même la fin des années 1980.

Comme pour la plupart des développements du Projet GNU, Stallman avait initié le développement du noyau en cherchant un programme existant à modifier. Une lecture des GNUsletters du Projet GNU à la fin des années 1980 révèle que cette approche, tout comme l'essai initial de construire GCC sur Pastel, était tout sauf idéale. Une GNUsletter de janvier 1987 rapporta que le Projet GNU travaillait à mettre à niveau TRIX, un noyau Unix développé au MIT. En février 1988, selon une autre newsletter, le Projet GNU avait changé son fusil d'épaule pour Mach, un « micro-noyau » léger développé à Carnegie Mellon. Ceci dit, le développement officiel du noyau GNU ne commenca pas avant 1990 [9].

Les délais dans le développement du noyau n'étaient qu'un des soucis pesant sur l'esprit de Stallman à cette époque. En 1989, Lotus Development Corporation poursuivit en justice un des ses rivaux, Paperback Software International, pour avoir copié les commandes de menus du logiciel tableur populaire, Lotus 1-2-3. L'action en justice de Lotus, ajoutée à la bataille Apple-Microsoft sur « l'aspect et le ressenti », offraient un arrière-plan problématique au Projet GNU. Bien que les deux actions fussent en dehors de son champ, elles tournaient toutes deux autour des systèmes d'exploitation et applications développés pour les ordinateurs personnels, et non pas les systèmes matériels compatibles Unix ― elles menaçaient de produire un effet paralysant sur la culture toute entière du développement logiciel. Déterminé à faire quelque chose, Stallman recruta quelques amis programmeurs et composa une publicité dans les magazines pour s'élever contre ces actions en justice. En plus de ces publicités il organisa un groupe de protestation contre les entreprises menant ces actions. Appelé « Ligue pour la liberté de programmer », le groupe mena des actions devant les bureaux de Lotus Inc. et devant le tribunal de Boston qui accueillait le procès Lotus.

Ces manifestations étaient remarquables [10]. Elles illustrent la nature évolutive de l'industrie du logiciel. Les applications avaient tranquillement remplacé les systèmes d'exploitation comme cheval de bataille. Dans sa quête inachevée pour construire un système d'exploitation libre, le Projet GNU semblait désespérément en retard. En effet, le fait même que Stallman ait ressenti le besoin de mettre en place une équipe pour contrer les poursuites juridiques sur « l'aspect et le ressenti » avait renforcé cette idée d'obsolescence aux yeux de certains observateurs.

En 1990, la Fondation John D. et Catherine T. MacArthur valida le statut de génie accordé à Stallman en l'élevant au rang de membre de la confrérie MacArthur, le rendant ainsi récipiendaire de la fameuse Genius Grant, une récompense de 240.000 dollars pour avoir lancé le Projet GNU et avoir donné corps à la philosophie du logiciel libre, ce qui dissipa quelques préoccupations à court terme. D'abord et surtout, cela donna à Stallman, alors bénévole de la FSF et subvenant à ses besoins grâce à des contrats de consulting, la possibilité de dédier davantage de son temps à l'écriture de code source pour GNU [11].

Étonnamment, le prix permit aussi à Stallman de voter. Quelques mois auparavant, un incendie dans l'appartement de Stallman l'avait dépouillé de ses quelques possessions de jeunesse. Stallman se présentait alors lui-même comme « squatteur » [12] « [Le bureau du registre des votants] ne voulait pas accepter de prendre cela comme mon adresse », se souviendrait plus tard Stallman. « Un article de journal à propos du prix MacArthur a évoqué cette situation, et ils m'ont alors laissé m'inscrire [13].

Il est intéressant de noter que le succès final du Projet GNU et du mouvement pour le logiciel libre en général vint d'un des voyages de Stallman. En 1990, il rendit visite à l'Université polytechnique d'Helsinki en Finlande. Au sein du public se trouvait Linus Torvalds, alors agé de 21 ans, futur développeur du noyau Linux ― le noyau libre permettant de combler la faille la plus large du Projet GNU.

Alors étudiant à l'université voisine d'Helsinki, Torvalds considéra Stallman avec amusement. « Je vis, pour la première fois de ma vie, le stéréotype du hacker barbu à cheveux longs », se souvient dans son autobiographie [14]. « Nous n'en avons pas beaucoup à Helsinki [15]. »

Bien que peu familier avec le côté « sociopolitique » de la stratégie de Stallman, Torvalds en apprécia cependant la logique sous-jacente : aucun programmeur n'écrit de code sans commettre d'erreur. En partageant le code source, les hackers plaçaient l'amélioration d'un programme avant toute motivation comme la défense de l'ego ou l'avarice.

Comme de nombreux programmeurs de sa génération, Torvalds ne s'était pas fait les dents sur des ordinateurs mainframe comme l'IBM 7094, mais sur un assortiment bigarré de systèmes informatiques artisanaux. En tant qu'étudiant à l'université, Torvalds avait fait sa découverte de la programmation PC sur Unix, avec le MicroVAX de l'université. Cette progression pas à pas avait offert à Torvalds une perspective différente sur les barrières liées à l'accès aux machines. Pour Stallman, les barrières majeures étaient la bureaucratie et les privilèges. Pour Torvalds, c'était la géographie et l'hiver rude d'Helsinki. Obligé de cheminer à travers l'Université d'Helsinki à seule fin de se connecter sur son compte Unix, Torvalds commença rapidement à chercher une façon de pouvoir se connecter depuis les limites chauffées de son appartement situé hors du campus.

Cette quête conduit Torvalds vers le système d'exploitation Minix, une version allégée d'Unix développée à des fins pédagogiques par le professeur d'université hollandais Andrew Tanenbaum. Le programme était suffisamment léger pour pouvoir résider dans la mémoire d'un PC 386, la machine la plus puissante que Torvalds pouvait s'offrir, mais il lui manquait encore certaines fonctionnalités nécessaires. Il manquait en particulier à Minix l'émulation du terminal, la fonctionnalité permettant à Torvalds de mimer le comportement d'un terminal universitaire, rendant possible la connexion vers le MicroVAX depuis sa maison.

Durant l'été 1991, Torvalds réécrivit Minix en partant d'une page blanche, ajoutant d'autres fonctionnalités dans le processus. A la fin de l'été, Torvalds parlait de son travail en cours comme le « GNU Emacs des programmes d'émulation de terminal [16] ». Se sentant sûr de lui, il sollicita un groupe de discussion Minix pour trouver des copies des standards POSIX, les spécifications qu'un logiciel doit suivre pour être compatible avec Unix. Quelques semaines plus tard, Torvalds envoyait un message rappelant étrangement le message originel de Stallman sur GNU en 1983 :

Bonjour à tous ceux ici utilisant minix-
Je crée un système d'exploitation (libre, juste un passe-temps, ça ne sera pas aussi grand et professionnel que GNU pour clones 386 (486) AT). Ça a mijoté depuis avril, et commence à être prêt. J'aimerais des retours sur ce que les gens aiment ou n'aiment pas dans Minix en général, puisque mon système d'exploitation y ressemble d'une certaine façon (même arrangement physique du système de fichiers (pour des raisons pratiques) entre autres choses)[17].

Le message reçut quelques réponses et après un mois, Torvalds avait publié la version 0.01 du système d'exploitation ― c'est-à-dire la toute première version convenant à la lecture extérieure ― sur un site Internet FTP. Dans le mouvement, Torvalds avait trouvé un nom pour ce nouveau système. Sur son propre disque dur, il avait sauvegardé le programme sous le nom Linux, un nom qui respecte la convention logicielle qui consiste à donner à chaque variante d'Unix un nom finissant avec la lettre X. Trouvant le nom trop « egotistique », Torvalds le changea en Freax, pour finalement voir le responsable du site FTP le renommer avec le premier nom.

Bien que Torvalds ait décidé de construire un système d'exploitation complet, lui et les autres développeurs savaient à l'époque que la plupart des outils fonctionnels requis pour cela étaient déjà disponibles, grâce au travail de GNU, BSD, et des autres développeurs du logiciel libre. Un des premiers outils dont l'équipe de développement de Linux tira avantage fut le compilateur C GNU, un outil rendant possible l'exécution de programmes écrits en langage C.

Intégrer GCC améliora la performance de Linux. Mais cela souleva aussi des problèmes. Bien que la puissance « virale » de la GPL ne s'appliquât pas au noyau Linux, la volonté de Torvalds à emprunter GCC pour l'intégrer dans sa propre distribution logicielle libre le contraignait en quelque sorte à laisser aux autres la possibilité d'emprunter en retour. Comme Torvalds le dirait plus tard : « Je m'étais élevé sur les épaules de géants [18]. Sans surprise, il commença à se demander ce qui pouvait advenir si d'autres personnes venaient vers lui en cherchant une aide similaire. Une décennie après sa décision, Torvalds fait écho à Robert Chassel de la FSF lorsqu'il résume ses pensées du moment :

Vous mettez six mois de votre vie dans ce travail, vous voulez le rendre public et en retirer quelque chose en retour, mais vous ne voulez pas que les gens puissent en tirer avantage. Je voulais que les gens puissent voir [Linux], et qu'ils puissent faire des modifications jusque dans ses entrailles. Mais je voulais aussi m'assurer que ce que j'obtenais en retour était la possibilité de voir ce que les gens en faisaient. Je voulais pouvoir avoir un accès constant aux sources afin que, s'ils faisaient des améliorations, je puisse reproduire ces améliorations moi-même [19].

Quand vint le temps de publier la version 0.12 de Linux, la première intégrant un compilateur GCC, Torvalds décida de déclarer son allégeance au mouvement du logiciel libre. Il remisa l'ancienne licence et la remplaça par la GPL. La décision provoqua un florilège de portages, alors que Torvalds et ses collaborateurs s'intéressaient à d'autres programmes de GNU pour les inclure dans la croissante marmite Linux. Après quelques années, les développeurs de Linux proposèrent leur première version de publication, Linux 1.0, comprenant des versions complètement modifiées de GCC, GDB, et un hôte pour les outils BSD.

En 1994, cette distribution logicielle agglomérée avait obtenu suffisamment de respect dans le monde des hackers, au point que certains observateurs se demandèrent si Torvalds n'avait pas lâché la poule aux oeufs d'or en optant pour la GPL durant les premiers mois du projet. Dans le premier numéro du Linux Journal, l'éditeur Robert Young s'assit avec Torvalds pour un entretien. Quand Young demanda au programmeur finlandais s'il regrettait d'avoir abandonné la propriété exclusive du code source de Linux, Torvalds dit non. « Même avec une compréhension totale de la situation », Torvalds considérait la GPL « comme une des meilleures stratégies de conception » adoptée durant les premiers pas du projet Linux [20].

Que la décision ait été prise sans aucun appel ou déférence à Stallman ou à la FSF parle en faveur de la portabilité grandissante de la GPL. Bien que cela prît quelques années à Stallman pour le reconnaître, le boom du développement de Linux rappelait les souvenirs d'Emacs. Cette fois cependant, l'innovation initiatrice de l'explosion n'était pas un hack logiciel comme Control-R mais la nouveauté de pouvoir faire fonctionner un système similaire à Unix sur l'architecture PC. Les motivations peuvent avoir été différentes, mais le résultat final convient sûrement aux attentes éthiques : une système d'exploitation complet et fonctionnel composé entièrement de logiciels libres.

Comme son message initial au groupe de discussion comp.os.minix l'indique, il faudra quelques mois avant que Torvalds considère Linux comme autre chose qu'un ersatz en attendant que les développeurs GNU sortent le noyau HURD. Cette volonté initiale de ne pas voir Linux en termes politiques fut un véritable camouflet pour la FSF.

En ce qui concerne Torvalds, il était le dernier dans une longue lignée d'enfants démontant et ré-assemblant des choses pour s'amuser. Cependant, en résumant le succès galopant d'une réussite qui aurait pu passer le reste de ses jours sur un vieux disque dur abandonné, Torvalds se félicite d'avoir, dans sa jeunesse, eu la sagesse d'abandonner le contrôle sur son code et d'accepter le marché qu'offrait la GPL.

Torvalds se rappelle du discours de Stallman à l'Université polytechnique en 1991, ainsi que de sa décision subséquente d'opter pour la GPL. Il écrit : « Je n'ai peut-être pas vu la lumière, mais je pense que quelque chose dans son discours s'est ancré en moi [21]. »

Notes

  1. Hal Abelson, Mike Fischer, et Joanne Costello, Software and Copyright Law, version mise à jour (1998). http://www.swiss.ai.mit.edu/6805/articles/int-prop/software-copyright.html
  2. Trn Kit README. http://www.za.debian.org/doc/trn/trn-readme
  3. John Gilmore, citation d'un courriel à l'auteur.
  4. Richard Stallman, et al., GNU General Public License: Version 1 (février 1989). http://www.gnu.org/copyleft/copying-1.0.html
  5. David Betz et Jon Edwards, Richard Stallman discusses his public-domain [sic] Unix-compatible software system with BYTE editors, BYTE (juillet 1996) (Republié sur le site Internet du Projet GNU : http://www.gnu.org/gnu/byte-interview.html.). Cette interview présente un aspect intéressant, si ce n'est candide, des attitudes politiques de Stallman durant les premières années du Projet GNU. Elle est aussi utile pour retracer l'évolution de la rhétorique de Stallman. Décrivant l'objectif de la GPL, Stallman dit, « J'essaye de modifier la façon dont les gens abordent le savoir et la technologie en général. Je pense qu'essayer d'accaparer la propriété du savoir, essayer de contrôler la façon dont les gens peuvent y accéder et le redistribuer, est du sabotage. » Mettons cela en rapport avec une déclaration de l'auteur en Aout 2000: « Je vous conjure de ne plus utiliser l'expression 'propriété intellectuelle' dans vos réflexions. Elle vous entraîne à la confusion car elle fait l'amalgame entre copyrights, brevets, et marques déposées. Ces choses sont tellement différentes dans leurs effets qu'il devient stupide d'essayer d'en parler en les confondant. Si vous entendez parler quelqu'un à propos de propriété intellectuelle, sans les guillemets, alors il ne pense pas très clairement, et vous ne devriez pas le suivre sur ce terrain. »
  6. L'« odieuse clause de publicité » de l'Université de Californie devint par la suite un problème. Cherchant une alternative moins restrictive à la GPL, certains hackers utilisèrent celle de l'Université de Californie, en remplaçant « Université de Californie » par le nom de leur propre institution. Le résultat fut que les logiciels libres qui empruntaient du code à des douzaines d'autres logiciels libres devaient citer les publicités de douzaines d'institutions différentes. En 1999, après une décennie de lobbyisme de la part de Stallman, l'Université de Californie accepta d'abandonner cette clause. Cf The BSD License Problem sur http://www.gnu.org/philosophy/bsd.html
  7. Michael Tiemann, Future of Cygnus Solutions: An Entrepreneur's Account, Open Sources (O'Reilly & Associates, Inc., 1999): 139. http://www.oreilly.com/catalog/opensources/book/tiemans.html
  8. Richard Stallman, Byte (1986).
  9. HURD History. http://www.gnu.org/software/hurd/history.html
  10. Selon un communiqué de la Ligue pour la Liberté de Programmer, les manifestations furent remarquables pour avoir introduit le premier chant de protestation en hexadécimal : - 1-2-3-4, jetez les avocats par la fenêtre ; - 5-6-7-8, innover et non légiférer ; - 9-A-B-C, 1-2-3 n'est pas pour moi ; - D-E-F-O, l'aspect et le ressenti doivent s'en aller. (http://lpf.ai.mit.edu/Links/prep.ai.mit.edu/demo.final.release)
  11. J'utilise le terme « écriture » assez vaguement. En effet, à l'époque du prix MacArthur, Stallman avait commencé à souffrir de douleurs chroniques dans ses mains et dictait son travail à des sténographes employés par la FSF. Bien que certains aient pensé que ces douleurs étaient le résultat de troubles musculosquelettiques, une maladie commune chez les programmeurs, Stallman n'en est pas sûr à 100%. « Ce n'était PAS le syndrome du tunnel carpien », écrit-il. « Mon problème aux mains était localisé dans les mains, pas dans les poignets ». Stallman a depuis appris à travailler sans forcer sur ses poignets après avoir opté pour un clavier au toucher plus sensible.
    Dorothea Salo, une lectrice, ajoute le commentaire suivant : « Les troubles musculo-squelettiques sont un terme générique couvrant une vaste variété de problèmes nerveux, musculaires et ligamenteux, causés par les mouvements répétitifs comme ceux que l'on retrouve lorsque l'on tape au clavier. Stallman n'avait probablement pas le syndrome du tunnel carpien, mais il avait sûrement une quelconque forme de trouble musculo-squelettique. (La description des ses symptômes est vague, mais le syndrome du tunnel cubital pourrait correspondre). »
  12. Reuven Lerner, Stallman wins $240,000 MacArthur award, MIT, The Tech (18 juillet 1990). http://the-tech.mit.edu/V110/N30/rms.30n.html.
  13. Michael Gross, Richard Stallman: High School Misfit, Symbol of Free Software, MacArthur-certified Genius (1999).
  14. Voir Linus Torvalds et David Diamond, Just For Fun: The Story of an Accidentaly Revolutionary (HarperCollins Publishers, Inc., 2001). Trad. fr.: Linus Torvalds et David Diamond, Il était une fois Linux. L'extraordinaire histoire d'une révolution accidentelle, Paris, Osman Eyrolles Multimédia, 2001.
  15. Linus Torvalds et David Diamond, Just For Fun: The Story of an Accidentaly Revolutionary (HarperCollins Publishers, Inc., 2001): 58-59.
  16. Linus Torvalds et David Diamond, Just For Fun: The Story of an Accidentaly Revolutionary (HarperCollins Publishers, Inc., 2001): 78.
  17. Linux 10th Anniversary. http://www.linux10.org/history/
  18. Linus Torvalds et David Diamond, Just For Fun: The Story of an Accidentaly Revolutionary (HarperCollins Publishers, Inc., 2001): 96-97.
  19. Linus Torvalds et David Diamond, Just For Fun: The Story of an Accidentaly Revolutionary (HarperCollins Publishers, Inc., 2001): 94-95.
  20. Robert Young, Interview with Linus, the Author of Linux, Linux Journal (1er mars 1994). http://www.linuxjournal.com/article.php?sid=2736
  21. Linus Torvalds et David Diamond, Just For Fun: The Story of an Accidentaly Revolutionary (HarperCollins Publishers, Inc., 2001): 59.