p.1Au printemps 1985, Richard Stallman était parvenu au premier résultat du projet GNU : une
version d’Emacs basée sur Lisp pour les systèmes d’exploitation de type Unix. Pour la rendre disponible en tant que
logiciel libre, il lui fallait en définir les modalités de publication – ce qui serait en fait l’étape suivante de la charte Emacs.
p.2En réalité, le problème de l’arbitrage entre, d’une part, la liberté de modification et, d’autre
part, les privilèges accordés aux auteurs existait bien avant que Gosmacs ne voie le jour. Le Copyright Act de 1976 avait étendu
aux logiciels la législation américaine sur le copyright. Selon la section 102(b) de cette loi, les individus et les entreprises pouvaient exercer leur copyright sur « l’expression » d’un
logiciel, mais pas sur les « processus ou méthodes eux-mêmes implémentés dans le programme ».
p.3Tout programme s’en trouvait assimilable à un manuel d’algèbre : l’auteur pouvait prétendre à
des droits sur le texte mais pas sur les idées mathématiques ou sur les techniques pédagogiques employées pour les expliquer. Ainsi, avant même que Stallman ne parle de l’utilisation du code de
l’Emacs originel, les autres programmeurs étaient déjà légalement autorisés à rédiger leurs propres implémentations des idées ou des commandes d’Emacs. Ce qu’ils firent. Ainsi Gosmacs n’est-il qu’un
exemple parmi une trentaine d’autres imitations d’Emacs développées pour de nombreux systèmes différents.
p.4Les principes de la charte Emacs ne s’appliquaient qu’au code d’Emacs
développé par Stallman lui-même. Même si cette charte avait eu force de loi, elle n’aurait pu s’appliquer à des imitations développées séparément comme Gosmacs. Certes, faire de Gosmacs un programme
non libre n’était pas éthique, selon les principes du logiciel libre, car il priverait ainsi l’utilisateur de ses libertés ; mais cette question était sans rapport avec l’origine des idées
implémentées dans Gosmacs.
p.5Selon la législation du copyright, un programmeur désirant copier tout ou partie du code d’un
programme existant (avec ou sans modification) devait en demander l’autorisation à son auteur. Bien que la loi sur le copyright de 1976 s’appliquât même en l’absence de mentions légales – chose que
les hackers ignoraient pour la plupart – les mentions interdisant la copie se mirent à fleurir.
p.6Stallman les considéra d’emblée comme les drapeaux d’une armée d’occupation. Rares étaient les
logiciels qui n’empruntaient pas quelques bouts de code source issus de tel ou tel programme préexistant. Pourtant, d’une seule signature, le gouvernement américain avait donné aux programmeurs et
aux compagnies le pouvoir légal d’interdire tout réemploi de ce type. Cette loi injectait aussi une dose de formalisme dans ce qui était jusque-là un système informel. Les litiges, auparavant réglés
entre hackers, étaient dorénavant confiés aux avocats, ce qui conférait un avantage automatique aux entreprises plutôt qu’aux hackers. Certains pensaient que mentionner son nom dans une notice légale
revenait à endosser la responsabilité de la qualité du code, et une notice légale incluait généralement le nom d’une société – les individus ayant d’autres moyens de se prévaloir de l’écriture de
telle ou telle fraction de code.
p.7Cependant, au cours des années précédant la mise en œuvre du projet GNU, Stallman remarqua que le
copyright permettait à un auteur d’autoriser explicitement certains usages normalement interdits par le copyright, et d’assortir ces autorisations de conditions. « J’avais vu des courriels
accompagnés de mentions de copyright assorties de simples licences autorisant la copie verbatim, se souvient-il. Ce fut une source d’inspiration certaine ». Ces licences comportaient notamment l’obligation de ne pas ôter la licence. Stallman voulait pousser la
logique un peu plus loin. Par exemple, une notice légale aurait pu autoriser les utilisateurs à redistribuer des copies, mêmes modifiées, à condition d’accorder à leur tour ce même droit.
p.8Stallman en conclut que recourir au copyright n’était pas forcément contraire à l’éthique ;
plutôt, c’était l’usage qui en était fait habituellement – sans doute encouragé par l’esprit qui avait présidé sa création – qui déniait aux utilisateurs des libertés fondamentales. La plupart des
auteurs n’imaginaient pas d’autre manière d’utiliser le copyright. Il en existait pourtant une : rendre le programme libre et s’assurer qu’il le reste.
p.9Début 1985, pour GNU Emacs 16, Stallman avait préparé une licence
fondée sur le droit d’auteur qui permettait à l’utilisateur de faire des copies et de les distribuer. Permission lui était aussi donnée d’opérer des modifications et de les diffuser, mais uniquement
sous cette même licence. Sur ces versions modifiées, les utilisateurs étaient alors limités dans les droits a priori illimités que pouvaient leur conférer le copyright ; il devenait dès lors
impossible d’en faire des versions privatrices à l’image de Gosmacs. Sans compter qu’ils devaient fournir le code source. Cette disposition vint combler le vide
juridique qui aurait permis l’émergence de versions restreintes et privatrices de GNU Emacs.
p.10Bien qu’utile pour codifier le contrat social de la Commune Emacs, cette première licence
restait trop « informelle » pour ses objectifs. Aussi, peu après la création de la FSF, Stallman commença-t-il à travailler sur une version plus robuste. Il prit conseil auprès des avocats
et des administrateurs qui l’avaient aidé à mettre en place la fondation.
p.11Mark Fischer, un avocat de Boston spécialisé dans le
droit d’auteur, se rappelle leurs échanges de l’époque au sujet de la licence. « Richard avait des opinions très arrêtées concernant la façon dont tout cela devait fonctionner, rapporte-t-il. Il
tenait à deux principes : rendre le logiciel aussi ouvert que possible [il semble d’ailleurs qu’au moment où il prononçait ces mots, Fischer ait été influencé par les partisans de l’open source
car Stallman n’a jamais cherché à rendre les logiciels ‘ouverts’ ], et encourager à utiliser le même mode de publication sous licence ». C’est pour ce second principe qu’étaient conçues les
obligations exprimées dans la licence.
p.12Il y avait là une révolution, mais il fallait du temps pour le comprendre. Fischer raconte qu’à
l’époque, il considérait la licence GNU Emacs comme un simple contrat. Elle indiquait un coût d’utilisation, mais au lieu d’argent, réclamait aux utilisateurs l’accès à leurs propres modifications
futures. Cela dit, Fischer se souvient que les termes du texte étaient uniques en leur genre : « Je crois que demander aux autres d’accepter un tel prix était, sinon inédit, du moins très
inhabituel à l’époque. »
p.13En façonnant la licence GNU Emacs, Stallman initia un changement majeur dans les principes
informels qui avaient donné corps à la Commune Emacs. Là où il avait autrefois exigé que les membres lui envoient toutes les modifications qu’ils écrivaient, il demandait cette fois qu’ils
transmettent le code source et la liberté de modification dès qu’ils choisissaient de redistribuer le programme.
p.14En d’autres termes, ceux qui modifiaient Emacs pour leur usage
personnel n’avaient plus l’obligation de renvoyer le code de leurs modifications. Dans ce qui deviendrait un rare effet de variation dans la doctrine du logiciel libre, Stallman baissait son
« prix ». Les utilisateurs pouvaient innover sans être épiés par lui et distribuer leur version lorsqu’ils le souhaitaient, à condition que les copies distribuées soient assorties de la
permission, pour les détenteurs, de les développer et de les redistribuer à leur tour.
p.15Stallman explique cette évolution par sa propre insatisfaction face à l’aspect Big Brother de l’ancien contrat social de la Commune Emacs. Tout comme il avait un temps jugé utile que tous les utilisateurs lui fassent parvenir leurs modifications, il
en vint à penser qu’il n’était pas juste d’exiger cela.
p.16« C’était un tort que d’exiger des gens la publication de toutes leurs modifications,
dit-il, et c’était un tort que d’exiger qu’ils en réfèrent à un seul développeur privilégié. Ce type de centralisation et de privilège n’est pas compatible avec une société dans laquelle tous sont
égaux en droits. »
p.17La Licence publique générale (General Public License) de
GNU Emacs fit sa première apparition dans une version de GNU Emacs en 1985. Stallman invita les hackers à lui faire des retours pour en améliorer les termes. L’un de ceux
qui répondirent était John Gilmore, futur activiste alors employé comme consultant chez Sun Microsystems. Dans le
cadre de sa mission, il avait porté Emacs sur la version maison d’Unix, SunOS. À cette occasion, il avait publié
sa version modifiée sous licence GNU Emacs.
p.18Au lieu de considérer la licence comme une contrainte, Gilmore y voyait l’expression claire et
concise de la philosophie des hackers. « Jusqu’alors, la plupart des licences étaient très informelles », se souvient-il. Gilmore cite à titre d’exemple une licence du milieu des années
1980 pour Trn, un lecteur de news, écrit par Larry Wall, autre hacker qui devint célèbre plus tard grâce à la création de
l’utilitaire Patch pour Unix et du langage Perl. Dans l’espoir de trouver un équilibre entre la libre mise à
disposition usuelle des hackers et le droit d’un auteur à dicter les modalités de commercialisation de son code, Wall utilisait une notice de copyright en guise de tribune éditoriale :
Copyright (c) 1985, Larry Wall
Vous pouvez copier tout ou partie du kit trn tant que vous ne tentez pas d'en faire commerce, ou de prétendre que vous l'avez écrit.
p.19Ces déclarations, quoique fidèles à l’éthique des hackers, montraient la difficulté d’en
traduire la nature informelle dans le langage juridique rigide du copyright.
p.20En écrivant la licence GNU Emacs, Stallman faisait plus que combler le vide juridique permettant
les dérivés non libres ; il traduisait l’éthique hacker en des termes compréhensibles à la fois par les juristes et par les programmeurs.
p.21Il fallut peu de temps pour que les hackers cherchent un moyen de transposer la licence de GNU
Emacs pour leurs propres programmes. Lors d’une discussion sur Usenet en novembre 1986, Gilmore envoya un message à Stallman, lui proposant des
modifications.
p.22« Vous devriez probablement enlever ‘EMACS’ de la licence et le remplacer par ‘LOGICIEL’ ou
quelque chose comme ça. 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. »
p.23Gilmore 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, le débogueur de code source GDB. Pour le publier, il avait dû lui adapter la
licence de GNU Emacs. C’était une tâche apparemment anodine, mais qui pouvait amener son lot d’erreurs.
p.24Ce n’est qu’en 1989 que Stallman sut ôter les références spécifiques à Emacs et exprimer le lien
entre le code source du programme et sa licence uniquement dans les fichiers sources. De cette manière, n’importe quel développeur pouvait placer son programme sous la licence sans modifier cette
dernière.
p.25La Licence publique générale de GNU, abrégée en GNU GPL (General
Public License), était née. Le projet GNU en fit aussitôt la licence officielle de tous les programmes GNU.
p.26Pour nommer les versions successives de la licence GPL, Stallman suivit la convention en cours
dans le monde des programmeurs : les versions contenant des modifications mineures étaient indiquées par des chiffres décimaux, celles contenant des modifications majeures par des nombres
entiers.
p.27Ainsi en 1989, la première version fut-elle baptisée 1.0. Son préambule dévoilait les
desseins politiques qui avaient présidé à sa création :
La Licence publique générale est faite pour s'assurer que vous ayez la liberté d'offrir ou de vendre des copies de logiciels libres, que vous en receviez le code source ou puissiez y accéder si vous le souhaitez, que vous puissiez le modifier ou en réutiliser des parties dans de nouveaux logiciels libres, et que vous sachiez que vous avez le droit de faire tout cela.
Pour protéger vos droits, nous devons imposer des restrictions interdisant à quiconque de vous disputer ces droits, ou de vous demander d'y renoncer. Ces restrictions se traduisent par certaines obligations pour vous, si vous distribuez des copies du logiciel ou le modifiez.
p.28La GPL apparaît comme l’un des meilleurs hacks de
Stallman. Elle a créé un système de propriété collective à l’intérieur même des habituels murs du copyright. Surtout, elle a mis en lumière la possibilité de traiter de façon similaire
« code » juridique et code logiciel. Ainsi, dans le préambule de la GPL résidait le message, implicite pour les hackers, qu’au lieu de considérer la loi sur le copyright logiciel avec
suspicion, il fallait plutôt y voir un système dangereux, ne demandant qu’à être hacké.
p.29« La GPL s’est développée comme n’importe quel bout de logiciel libre, avec une vaste
communauté qui en discutait la structure, le respect ou les transgressions qu’ils observaient, et la nécessité de faire les ajustements ou les légers compromis nécessaires à une plus grande
acceptation, dit Jerry Cohen, un autre avocat ayant conseillé Stallman après le départ de Fischer. Le processus a été très efficace et la GPL, dans ses
diverses versions, est passée du scepticisme général, voire des réactions hostiles, à un large assentiment. »
p.30En 1986, dans une interview pour le magasine Byte,
Stallman résume la GPL en termes imagés. En plus de la proclamation des valeurs des hackers, dit-il, les lecteurs devraient aussi y voir « une forme de ju-jitsu intellectuel, destiné à retourner
le système légal mis en place par ceux-là mêmes qui souhaitaient retenir pour eux seuls les biens logiciels. »
p.31Cette interview de 1986 offre un aperçu intéressant, pour ne pas dire candide, des positions politiques de Stallman au cours des premiers jours du projet GNU. Cet élément se
révèle par ailleurs très utile pour qui désire retracer l’évolution de sa rhétorique. Définissant l’objet de la GPL, Stallman explique : « J’essaie de changer la façon dont les gens
conçoivent la connaissance et l’information en général. Je crois qu’essayer de posséder du savoir, tenter d’en contrôler l’utilisation par les autres, ou les
empêcher de le partager, sont autant d’actes de sabotage ». Une déclaration à rapprocher d’une autre, en août 2000 : « Je vous conjure de ne plus utiliser l’expression ‘propriété
intellectuelle’ dans vos réflexions. Elle prête à confusion en amalgamant copyrights, brevets et marques déposées. Ces choses ont des effets tellement différents qu’il devient stupide d’essayer d’en
parler en les confondant. Si vous entendez quelqu’un parler de propriété intellectuelle sans utiliser les guillemets, alors c’est qu’il ne pense pas de façon claire, et vous ne devriez pas le suivre
sur son terrain. »
p.32Ce que cette citation montre, c’est que j’ai appris à être plus
prudent dans la généralisation. Je ne parlerais pas aujourd’hui de « possession du savoir » car c’est une idée beaucoup trop large. Cependant, généraliser en parlant de « possession du
savoir » n’est pas la même chose que généraliser en parlant de « propriété intellectuelle ». Ce dernier terme englobe trois législations qu’il est crucial de différencier pour
comprendre toute question juridique concernant la « possession du savoir ». Les brevets accordent une exclusivité directe sur l’utilisation de savoirs spécifiques ; c’est bien une
forme de « possession du savoir ». Le copyright est l’une des méthodes utilisées pour empêcher le partage d’œuvres qui peuvent recéler ou enseigner des savoirs, ce qui est tout à fait
différent. Les marques déposées, elles, concernent d’autres aspects qui n’ont que peu de rapport avec le sujet du savoir.
p.33Des années plus tard, il décrira la création de la GPL en des termes moins martiaux :
« Je pensais à des problématiques à la fois éthiques, politiques et juridiques, explique-t-il. J’ai essayé de faire quelque chose de viable dans le système législatif actuel. Dans l’esprit, il
s’agissait de concevoir les bases législatives d’une nouvelle société, mais ne gouvernant pas, je ne pouvais changer aucune loi. Il me fallait donc tenter de les bâtir au-dessus du système juridique
existant, qui n’a en rien été conçu pour cela. »
p.34Alors que Stallman en était à soupeser les problèmes éthiques, politiques et juridiques associés
au logiciel libre, un hacker californien nommé Don Hopkins, hacker Unix lui aussi passionné de science-fiction, lui réexpédia le manuel du microprocesseur
68000 qu’il lui avait emprunté quelque temps auparavant. En guise de remerciement, Hopkins avait décoré l’enveloppe de retour avec des autocollants trouvés lors d’une convention locale.
p.35L’un d’eux, en particulier, attira l’attention de Stallman. On y lisait : « Copyleft
(L) – Tous droits reversés ». Inspiré par cet autocollant, Stallman surnomma la technique juridique de la licence GNU Emacs, appelée à devenir la GNU GPL, « Copyleft », en la
représentant avec humour par un « C » renversé dans un rcle.
p.36Au cours du temps, ce terme de copyleft fut consacré par la FSF comme qualifiant toute licence « rendant un programme libre et requérant
que toute version modifiée ou étendue de ce programme soit de même un logiciel libre. »
p.37Le sociologue allemand Max Weber avança un jour que toutes
les grandes religions étaient construites autour d’une forme de « routinisation » ou d’institutionnalisation du charisme. Chaque religion établie, argumentait-il, avait réussi à convertir
le charisme ou le message du leader religieux originel en tout un appareil social, politique et éthique plus aisé à transmettre à travers les cultures et les âges.
p.38Bien que non religieuse en tant que telle, la GPL se qualifie sûrement comme un exemple
d’institutionnalisation à l’œuvre dans le monde moderne et décentralisé du développement logiciel. Depuis sa mise en œuvre, des programmeurs et des entreprises qui, par ailleurs, ne manifestaient pas
de loyauté particulière envers Stallman, ont d’emblée accepté le marché de la GPL au pied de la lettre. Et des dizaines de milliers de programmeurs l’ont intégrée comme mécanisme préemptif de
protection pour leurs logiciels. Même ceux qui jugent ses conditions trop contraignantes en reconnaissent l’influence.
p.39C’était le cas du hacker Keith Bostic, employé de
l’université de Californie à l’époque de la sortie de la GPL 1.0. Le département où il travaillait, le Computer Systems Research Group (CSRG), s’était
impliqué dans le développement d’Unix depuis la fin des années 1970 et était responsable de nombreuses parties clefs du système, dont l’implémentation du protocole réseau
TCP/IP, pierre angulaire de l’Internet moderne. À la fin des années 1980, AT&T, propriétaire originel d’Unix, commença à songer à le commercialiser. Considérant son
intérêt commercial, l’entreprise s’intéressa à la Berkeley Software Distribution, dite BSD, version académique d’Unix développée par
Bostic et ses confrères à Berkeley.
p.40L’accès au code rédigé par Bostic et son équipe, mélangé à du code propriétaire d’AT&T, fut
de ce fait refusé à quasiment tout le monde. Les distributions Berkeley n’étaient disponibles que pour les institutions qui avaient déjà une licence Unix délivrée par AT&T. Or, à mesure de
l’augmentation du prix des licences par AT&T, le compromis de prime abord inoffensif (du moins pour les universitaires cantonnés à leur tour d’ivoire) devint de plus en plus lourd à
supporter.
p.41Pour réutiliser du code de Berkeley dans le projet GNU, Stallman allait devoir convaincre ses
auteurs de le séparer de celui d’AT&T. Aussi, vers 1984-85, il rencontra ceux qui étaient à la tête du projet BSD pour les convaincre de le publier en tant que logiciel libre. Stallman argumenta
que AT&T n’était pas un organisme de bienfaisance et qu’il n’était pas convenable qu’une université fasse don de son code à une telle entreprise.
p.42Embauché en 1986, Bostic s’était donné comme projet personnel de porter la dernière version de
BSD sur l’ordinateur PDP-11. C’est durant cette période, raconte-t-il, qu’il entra en contact avec Stallman, à l’occasion d’une des incursions occasionnelles de ce dernier
sur la côte Ouest. « Je me souviens de discussions agitées à propos du copyright, alors qu’il utilisait des stations de travail empruntées au CSRG, dit Bostic. Nous allions dîner et continuions à discuter de copyright en mangeant. »
p.43Ces arguments finirent par trouver une oreille réceptive, mais pas de la manière dont Stallman
l’aurait voulu. En effet, en juin 1989, Berkeley sépara son code réseau du reste de la distribution, propriété d’AT&T, et le distribua sous une licence libre s’appuyant sur le droit d’auteur. Les
termes de cette licence étaient assez libéraux. Tout ce que le destinataire avait à faire était de citer l’université dans les publicités du programme et de ses dérivés. À la différence de la GPL, la licence permettait les dérivés non libres.
p.44La diffusion de BSD Networking fut cependant limitée par un élément : il ne s’agissait pas
d’un système d’exploitation à part entière, mais de ses seuls composants réseau. Alors que ce code aurait pu être l’une des plus importantes contributions aux systèmes d’exploitation libres, on ne
pouvait l’exécuter à l’époque qu’en conjonction avec d’autres codes sous licence non libre.
p.45Au cours des années suivantes, Bostic et d’autres permanents de l’université de Californie
travaillèrent à combler les parties manquantes pour transformer BSD en un système d’exploitation complet et librement redistribuable. Bien que retardé par une bataille
juridique avec Unix Systems Laboratories – l’émanation d’AT&T possédant le code Unix –, la démarche porta finalement
ses fruits au début des années 1990. Mais déjà bien avant cette date, de nombreux composants réseau de Berkeley se retrouvaient dans le système GNU de Stallman.
p.46« Je pense que jamais nous n’aurions pu aller aussi vite sans l’influence de GNU, estime
Bostic rétrospectivement. Ils étaient manifestement engagés à fond, et nous aimions l’idée. »
p.47À 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 contenir la GPL pour être qualifié de libre – en témoignent les composants réseau de BSD –, mais
mettre un programme sous GPL envoyait un message sans équivoque.
p.48« Je crois que l’existence même de la GPL encourageait les gens à se demander s’ils
faisaient vraiment du logiciel libre, et sous quelle licence ils allaient mettre leur travail », dit Bruce Perens, le créateur d’Electric Fence 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
de celle de Stallman. « C’était en fait vraiment facile à faire », se souvient-il.
p.49Rich Morin, un programmeur qui avait accueilli l’annonce
de GNU par Stallman avec un certain scepticisme, se souvient avoir été impressionné par le nombre de logiciels qui commencèrent à s’assembler sous la bannière de la GPL. En tant que leader d’un
groupe d’utilisateurs de SunOS, l’une des tâches principales de Morin dans les années 1980 avait été d’envoyer des distributions sur bande contenant une sélection des
meilleurs outils 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. Vers 1989, Morin remarqua que les meilleurs logiciels étaient généralement sous licence GPL. « En tant que distributeur de logiciels, dès que je voyais la mention
GPL, je savais que c’était bon », se souvient-il.
p.50Pour compenser les efforts engagés à compiler des enregistrements pour le groupe d’utilisateurs
Sun, Morin demandait un peu d’argent aux destinataires. Or, avec les logiciels passant massivement sous GPL, il mettait subitement deux fois moins de temps à
assembler les logiciels, faisant même un peu de profit au passage. Voyant une opportunité commerciale dans son hobby, il en fit une entreprise qu’il baptisa Prime Time Freeware.
p.51De 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. Logique qu’il résumait, à la
fin des années 1980, par un simple moyen mnémotechnique pour résoudre l’ambiguïté du mot anglais free : « Don’t
think free as in free beer; think free as in free speech. »
p.52Pour la plupart, les entreprises ignorèrent les sollicitations de Stallman. Cependant, pour
quelques entrepreneurs, la liberté associée au logiciel libre était la même que celle associée aux marchés libres. En retirant la propriété logicielle de l’équation commerciale, on obtenait en effet
une situation où même la plus petite des sociétés de logiciels était en mesure de rivaliser avec les IBM et les DEC
du monde entier.
p.53L’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 amateur de jazz suivait son
artiste préféré. Ce n’est qu’avec la publication en 1987 du compilateur C GNU, dit GCC, qu’il commença toutefois à mesurer le plein potentiel du logiciel libre. Définissant
GCC comme une « bombe », Tiemann voyait ce logiciel comme la preuve, dans le domaine de la programmation, de la détermination de Stallman.
p.54« Tout comme chaque écrivain rêve d’écrire le grand
roman américain, chaque programmeur des années 1980 parlait d’écrire le grand compilateur américain, se souvient Tiemman. Tout à coup, Stallman l’a fait.
C’était une leçon d’humilité. »
p.55« On pourrait parler de single point of
failure pour GCC, renchérit Bostic.
Personne n’avait de compilateur à l’époque, avant l’arrivée de GCC. »
p.56Plutôt que de concurrencer Stallman, Tiemann décida de construire à partir de son travail. La
version originelle de GCC pesait cent dix mille lignes de code, mais Tiemann se souvient du code comme étant étonnamment facile à comprendre. Si facile en fait qu’il rapporte avoir eu besoin de moins
de cinq jours pour le maîtriser, et une semaine supplémentaire pour le porter sur une nouvelle plate-forme matérielle, le microprocesseur National Semiconductor 32032. L’année suivante, il se mit à
jouer avec le code source, créant le premier compilateur « natif » pour le langage C++ – en étendant GCC pour qu’il
supporte aussi bien le C++ que le C. Un jour, au cours d’un exposé aux laboratoires
Bell, il croisa des développeurs de chez AT&T, qui luttaient pour atteindre le même objectif.
p.57« Il y avait quarante ou cinquante personnes dans la salle, et j’ai demandé combien
travaillaient sur le compilateur natif, se rappelle Tiemann. Mon hôte m’a répondu que l’information était confidentielle, mais a ajouté que si je regardais dans la pièce, je pouvais m’en faire une
bonne idée. »
p.58Peu après, poursuit-il, il eut comme une révélation. « J’avais travaillé sur ce projet
pendant six mois. Je me suis simplement dit : ‘qu’il s’agisse de moi ou du code, voilà un niveau d’efficacité que le marché du logiciel libre devrait pouvoir récompenser’. »
p.59Tiemann trouva une inspiration supplémentaire dans le Manifeste GNU, qui, bien que fustigeant
l’avidité des entreprises de logiciels privateurs, encourageait les compagnies, tant qu’elles respectaient la liberté des utilisateurs, à utiliser et distribuer du logiciel libre dans leurs activités
commerciales. En supprimant le pouvoir d’établir des monopoles dans le commerce des logiciels, la GPL offrait la possibilité, même aux petites entreprises, de se battre sur le marché des services, ce
qui allait du simple support technique à la formation, en passant par l’adaptation des logiciels aux besoins spécifiques des clients.
p.60Dans un essai daté de 1999, Tiemann rappelait 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é. »
p.61Si ce modèle économique n’était pas nouveau (Stallman lui-même l’avait soutenu à la fin des
années 1980), Tiemann avait l’intention de l’étendre à grande échelle. Faisant équipe avec John Gilmore et
David Vinayak Wallace, il lança un service de conseil logiciel dédié à la personnalisation des logiciels GNU. Nommée Cygnus Support (Cygnus étant l’acronyme récursif pour Cygnus, Your GNU 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.
p.62Le système d’exploitation GNU que projetait Stallman nécessitait davantage que des outils de
développement de logiciel. Dans les années 1990, le projet GNU élabora également un interpréteur de lignes de commande (shell) écrit par Brian Fox lorsqu’il était employé à la FSF – cette version plus complète du Bourne Shell fut rebaptisée par Stallman le Bourne Again Shell, ou
Bash. Furent aussi créés l’interpréteur PostScript nommé Ghostscript, ou encore la plate-forme hypertextuelle de création et de consultation de documentation
Texinfo, la bibliothèque C requise par les programmes C pour s’exécuter et converser avec le noyau (glibc), le tableur Oleo (« bien mieux pour vous qu’un autre plus coûteux »), et
même un assez bon jeu d’échecs. Cependant, les programmeurs étaient plus intéressés par les outils de développement GNU.
p.63GNU Emacs, GDB et GCC étaient les trois grands outils orientés développeurs, mais ils ne furent pas les seuls générés par le projet GNU dans les années 1980. Jusqu’en 1990, GNU avait aussi développé
des versions du gestionnaire de compilation Make, le compilateur de parseur Yacc (Yet Another Compiler
Compiler) rebaptisé Bison ainsi que l’utilitaire de manipulation de fichiers textuels awk (rebaptisé gawk), et des dizaines d’autres encore.
p.64Comme GCC, chaque logiciel GNU était conçu pour pouvoir fonctionner sur de multiples systèmes,
et non sur la plate-forme d’un unique éditeur. Dans ce travail d’amélioration de la flexibilité des programmes, Stallman et ses collaborateurs les rendaient aussi plus utiles.
p.65Rappelant l’ambition d’universalité du projet GNU, Rich
Morin fait référence à un logiciel non destiné à être utilisé mais d’une importance pourtant vitale : le paquet GNU Hello, servant à montrer aux programmeurs comment empaqueter correctement un
programme GNU. « Il s’agit du fameux programme qui affiche ‘hello world’ : cinq lignes de C, empaquetées comme s’il
s’agissait d’une distribution GNU, décrit Morin. Par conséquent, il contient toute l’information relative à Texinfo et à Configure. Et tout le reste des rouages d’ingénierie logicielle
que le projet GNU a inventés pour permettre le portage aisé vers les autres environnements. C’est un travail extrêmement important, et ça n’affecte pas seulement les logiciels de Stallman, mais aussi
tous les autres logiciels du projet GNU. »
p.66Selon Stallman, améliorer techniquement les composants Unix était un objectif moins important
que de les remplacer par des logiciels libres. « Chaque composant peut donner lieu, ou non, à amélioration, dit Stallman lors de son interview pour Byte.
D’un côté, le fait de réimplémenter permet d’améliorer nettement de nombreux systèmes. De l’autre, c’est possible parce que je suis moi-même depuis longtemps dans le milieu et que j’ai travaillé sur
de nombreux autres systèmes. J’ai donc de nombreuses idées – venues en fréquentant ces autres systèmes – à mettre en œuvre. »
p.67Malgré tout, alors que les outils GNU s’imposaient à la fin des années 1980, la réputation de
Stallman, acquise au AI Lab pour sa minutie dans la conception, allait devenir légendaire au sein de la communauté toute entière des développeurs.
p.68Jeremy Allison, utilisateur de Sun à la fin des
années 1980 et programmeur qui allait co-créer le logiciel libre Samba, dans les années 1990, se souvient en riant qu’il en avait fait les frais. À la fin de la décennie, il commença à utiliser Emacs. Inspiré par
le modèle de développement communautaire de ce programme, il envoya un petit bout de code source, qui fut rejeté par Stallman. « C’était comme le titre d’une mauvaise Une dans The Onion, plaisante Allison. ‘Dieu répond aux prières d’un
enfant : Non’. »
p.69Au gré de son succès dans la création de bibliothèques et de logiciels, le projet GNU repoussait
d’autant le développement du noyau de son système, cet « agent de circulation » logiciel contrôlant l’accès des autres programmes au processeur et aux ressources de la machine.
p.70Comme pour plusieurs autres composants majeurs du système, Stallman voulait optimiser le
développement du noyau en cherchant un programme existant à adapter. Une lecture des GNUsletters du projet GNU à la fin des années 1980 révèle que cette
approche avait ses inconvénients, tout comme l’essai initial de construire GCC à partir de Pastel. Une GNUsletter de janvier 1987 rapporte que
le projet GNU tentait de refondre Trix, un noyau Unix développé au MIT. Stallmann ne concrétisa pas, en réalité, ce projet, car il travaillait alors sur GCC, mais il
conclut plus tard que Trix nécessitait trop de modifications pour constituer un bon point de départ. En février 1988, selon une autre lettre de diffusion, le projet GNU avait changé son fusil
d’épaule pour Mach, un micro-noyau léger développé à Carnegie Mellon. Mach n’était pas, alors, un logiciel libre, mais ses développeurs confessaient en privé qu’ils
allaient le libérer. Lorsque cela arriva, en 1990, le développement du noyau GNU put réellement commencer.
p.71Les délais de développement du noyau n’étaient pas le seul souci de Stallman à cette époque. En
1989, la Lotus Development Corporation poursuivit en justice des compagnies rivales, Paperback Software International et Borland, pour avoir copié les commandes de menus du logiciel populaire de Lotus
qu’était Tableur 1-2-3. L’action en justice de Lotus, ajoutée à la bataille Apple-Microsoft sur
« l’apparence et l’ergonomie » (look-and-feel), mettaient indirectement en danger l’avenir du projet GNU. Elles menaçaient en effet le droit de
développer des logiciels compatibles avec des programmes existants, ce qui était l’un des principes de GNU. Ce procès risquait de paralyser la culture toute entière du développement logiciel.
p.72Déterminé à faire quelque chose, Stallman et quelques professeurs rédigèrent un communiqué dans
The Tech (le journal étudiant du MIT), fustigeant le procès et appelant au boycott des entreprises à l’origine de la bataille judiciaire. Stallman organisa
parallèlement un groupe de protestation. Baptisé League for Programming Freedom, le collectif manifesta devant les bureaux de Lotus.
p.73Ces manifestations étaient remarquables. Elles illustraient l’évolution de l’industrie du logiciel. Les applications avaient progressivement remplacé les systèmes d’exploitation
comme front de bataille des entreprises. Mais dans sa quête inachevée pour construire une distribution logicielle libre, le projet GNU semblait désespérément en retard aux yeux de ceux pour qui la
mode et le succès passaient en premier. En effet, le fait même que Stallman ait éprouvé le besoin de mettre en place une équipe pour contrer les batailles judiciaires liées à « l’apparence et
l’ergonomie » amenait certains observateurs à conclure que la FSF n’était plus qu’en sursis.
p.74Pourtant, Stallman avait une raison stratégique de lancer une organisation indépendante de lutte
contre l’imposition de nouveaux monopoles dans le développement de logiciels : il avait l’espoir que les développeurs de logiciels privateurs s’y joindraient. L’extension du copyright aux
interfaces les menaçait tout autant que les développeurs de logiciels libres. S’il était peu probable qu’ils soutiennent la FSF, rien dans la League for Programming
Freedom n’était fait pour les rebuter. Pour cette même raison, Stallman confia au plus vite à d’autres que lui la direction de la ligue.
p.75En 1990, la Fondation John D. et Catherine T. MacArthur certifia le statut de génie de Stallman
en lui accordant la bourse MacArthur, aussi appelée « bourse des génies » – en l’occurrence un revenu de 240 000 dollars sur cinq ans. Bien que les raisons d’octroi de cette
bourse n’aient jamais été données par la Fondation, cette bourse fut néanmoins considérée comme la récompense au lancement du projet GNU et comme un écho donné à la philosophie du logiciel
libre.
p.76Cette bourse dissipait quelques préoccupations immédiates pour Stallman. Elle lui permit de
cesser ses activités de consultant grâce auxquelles il gagnait sa vie dans les années 1980 et de dédier davantage de temps à la cause du logiciel libre. En effet, un ou deux ans après la remise du
prix MacArthur, Stallman avait commencé à souffrir de douleurs chroniques au niveau des mains et dictait son travail à des sténographes employés par la FSF.
p.77La « bourse des génies » l’autorisait aussi à s’inscrire normalement sur les listes
électorales. En 1985, un feu dans son immeuble l’avait en effet privé de domicile officiel et avait couvert d’une cendre épaisse presque tous ses livres – les tentatives de nettoyage n’avaient pas
donné de très bons résultats. Il avait alors vécu comme un « squatteur » au 545
Technology Square, ce qui l’obligeait à voter en qualité de sans domicile fixe. « [Le bureau du registre des votants de Cambridge] ne voulait pas accepter cela comme une adresse, se souvient-il. Un article de journal à propos
du prix MacArthur ayant évoqué cette situation, le bureau a alors accepté de m’inscrire. »
p.78Plus important encore, la « bourse des génies » lui attira l’attention de la presse.
Invité à discourir, il pouvait y parler du projet GNU, des logiciels libres et des dangers qui les menaçaient comme les procès sur « l’apparence et l’ergonomie » ou encore les brevets
logiciels.
p.79Chose intéressante, le bouclage du système GNU put avoir lieu grâce à l’un des voyages de
Stallman. En avril 1991, il effectua une visite à l’université polytechnique d’Helsinki en Finlande. Au sein du public se trouvait Linus Torvalds. Alors âgé
de vingt-et-un ans, le jeune homme commençait à travailler sur Linux – le noyau libre qui allait permettre de combler le principal manque du système GNU.
p.80Étudiant à l’université 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-il dans son autobiographie. Nous n’en avions pas beaucoup à Helsinki. »
p.81Bien que peu en phase avec le côté « sociopolitique » de la stratégie de Stallman,
Torvalds appréciait cependant l’un des aspects de la logique sous-jacente : aucun programmeur n’écrit de code sans commettre d’erreurs. Même si les utilisateurs ne souhaitent pas adapter un
programme à leurs préférences spécifiques, tout programme peut être amélioré. En partageant le code source, les hackers plaçaient l’amélioration du programme avant tout, les protégeant de l’appât du
gain ou des questions d’ego.
p.82À l’instar 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, il avait découvert la programmation PC sur Unix, via le MicroVAX de l’université. Cette progression étape par étape, l’avait amené à considérer différemment le problème de l’accès aux machines.
p.83Pour Stallman, les barrières majeures étaient la bureaucratie et les privilèges. Pour Torvalds,
c’était la géographie et le rude hiver d’Helsinki. Obligé de cheminer péniblement à travers l’université d’Helsinki dans le seul but de se connecter à son compte Unix, il songea rapidement à trouver
un moyen de se connecter depuis son appartement chauffé, situé hors du campus.
p.84Torvalds utilisait Minix, un système à l’époque non libre développé
à titre d’exemple didactique par le professeur d’université Andrew Tanenbaum aux Pays-Bas. Minix incluait l’outil de compilation non libre de l’Université
Libre d’Amsterdam ainsi que quelques autres utilitaires à l’écriture desquels Tanenbaum
avait, non sans une certaine condescendance, proposé à Stallman de participer.
p.85Minix était suffisamment léger pour pouvoir résider dans la mémoire du PC 386 de Torvalds, mais il avait été élaboré à des fins pédagogiques, et non pour une utilisation véritable. Il lui manquait aussi l’émulation du terminal, une fonctionnalité
qui aurait permis à Torvalds de mimer le comportement d’un terminal d’affichage, rendant ainsi possible la connexion vers le MicroVAX depuis chez lui.
p.86Au début de l’année 1991, l’étudiant entreprit d’écrire un programme d’émulation de terminal. Il
utilisa Minix pour le développer ; l’émulateur ne s’exécutait pas sur Minix mais seul, indépendamment. Torvalds ajouta alors des fonctionnalités pour accéder au
système de fichiers de Minix. Cette année-là, il parlait de son travail en cours comme d’un « GNU Emacs des programmes d’émulation de terminal ».
p.87Comme il manquait à Minix de nombreuses et importantes fonctions, Torvalds commença à
transformer son émulateur de terminal en un noyau comparable à celui de Minix, mais monolithique. Non sans ambition, il sollicita un groupe de discussion sur Minix pour trouver des copies de la norme
Posix, c’est-à-dire les spécifications qu’un noyau doit respecter pour être compatible avec Unix.
p.88Quelques semaines plus tard, après avoir fait tourner conjointement son noyau et quelques
programmes GNU adaptés par ses soins, Torvalds envoya un message rappelant celui qu’avait posté Stallman en 1983 pour lancer le projet GNU :
p.89« Bonjour à tous ceux ici utilisant Minix,
p.90Je suis en train de créer une distribution logicielle (libre) – ce n’est qu’un passe-temps,
ça ne sera pas aussi grand et professionnel que GNU – pour les 386/486 pour PC-AT. Ça
mijote depuis le mois d’avril, et c’est presque prêt. J’aimerais avoir des retours sur ce que les gens aiment ou n’aiment pas dans Minix en général, puisque mon OS y
ressemble d’une certaine façon (entre autres, le même arrangement physique du système de fichiers [pour des raisons pratiques]). Pour l’instant, sur mon système, j’ai porté Bash (1.08) et GCC (1.40)… »
p.91Le message reçut quelques vagues réponses et un mois plus tard, Torvalds avait publié la
version 0.01 de sa distribution logicielle – c’est-à-dire la toute première version conçue pour un examen extérieur – sur un site FTP. L’étudiant devait par ailleurs trouver un nom
pour ce nouveau noyau. Sur son propre disque dur, il avait en effet sauvegardé le programme sous le nom « Linux », respectant ainsi la convention
logicielle qui consiste à donner à chaque variante d’Unix un nom finissant avec la lettre X. Comme il trouvait le nom trop « égocentrique », Torvalds le changea en « Freax »,
pour finalement voir le responsable du site FTP le renommer d’après le premier nom.
p.92Torvalds dit avoir cherché à écrire un système d’exploitation complet et libre, comme le laisse
penser sa comparaison avec GNU. Or, il n’écrivit en fait qu’un noyau pur et simple, parce qu’il savait que les autres composants étaient déjà disponibles, grâce au travail de GNU et des autres
projets libres. De plus, le projet GNU consistant à tous les intégrer dans un seul système, tous les éléments étaient de fait conçus pour être compatibles les uns avec les autres. Ainsi, pendant
qu’il poursuivait le développement du noyau, il y adapta (et plus tard ses collaborateurs) les nombreux programmes GNU.
p.93Initialement, Linux n’était pas un logiciel libre. En effet, la licence que Torvalds avait
choisie n’autorisait pas les distributions commerciales. Il avait peur, en effet, de voir une entreprise rentrer dans le projet puis lui prendre son noyau. Pourtant, au vu de la popularité de
GNU/Linux, il réalisa que la vente de copies serait utile pour la communauté. Son inquiétude s’amenuisa et il reconsidéra la question de la licence.
p.94Ni la compilation de Linux avec
GCC, ni l’exécution de GCC avec
Linux, n’impliquaient pour lui l’obligation légale de publier Linux sous licence GPL. Mais en utilisant GCC, Torvalds se trouvait d’une certaine façon obligé de laisser les autres emprunter à leur
tour. Comme Torvalds le dirait plus tard : « Je m’étais élevé en prenant appui sur les épaules de géants. »
. Comme on pouvait s’y attendre,
il commença à se demander ce qu’il adviendrait si d’autres venaient à leur tour lui demander une aide similaire.
p.95Une décennie après cette décision, Torvalds fait écho à Robert Chassell de la FSF, résumant ainsi 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 abuser. Je voulais qu’ils puissent voir [Linux], et qu’ils puissent faire des modifications autant qu’ils le
voulaient. Mais je voulais aussi m’assurer que j’obtiendrais en retour de pouvoir voir ce qu’ils en faisaient. Je voulais avoir accès aux sources à tout moment, afin que, s’ils faisaient des
améliorations, je puisse les reproduire moi-même. »
p.96Quand vint le temps de publier la version 0.12 de Linux, la première fonctionnant
pleinement avec GCC, Torvalds décida de se ranger au côté du mouvement du logiciel libre. Il remisa l’ancienne licence de Linux et la remplaça par la GPL. Trois ans plus
tard, les développeurs proposaient une version 1.0 du noyau, qui fonctionnait correctement avec le quasi complet système GNU, composé de programmes issus du projet GNU et d’ailleurs. En
pratique, ils avaient complété le projet GNU en y ajoutant le noyau Linux. Le résultat, en gros, était GNU plus Linux. Pourtant, Torvalds et ses amis se
référaient à ce système en le nommant abusivement « Linux » tout court.
p.97En 1994, le système ainsi constitué avait obtenu une large reconnaissance de la part du monde
des hackers. Au point que certains observateurs du monde commercial se demandaient si Torvalds n’avait pas laissé s’échapper la poule aux œufs d’or en optant pour la GPL durant les premiers mois du
projet. Dans le premier numéro de Linux Journal, l’éditeur Robert Young s’entretenait avec Torvalds. Quand il demanda au programmeur finlandais si celui-ci
regrettait d’avoir abandonné la propriété exclusive du code source, Torvalds répondit que non. « Même rétrospectivement », Torvalds dit qu’il considérait la GPL « comme l’une des
meilleures décisions de conception » qu’il adopta durant les premières phases du projet Linux.
p.98Que la décision ait été prise sans aucun appel ni déférence envers Stallman ou la FSF illustrait
la transposabilité grandissante de la GPL. S’il fallut bien deux ans à Stallman pour le reconnaître, le boom du développement de Linux rappellait celui d’Emacs. Cette fois, cependant, l’innovation à
l’origine de l’explosion n’était pas un hack logiciel comme Control-R, mais la possibilité inédite de faire fonctionner un système à la Unix sur une architecture PC. Les motivations étaient différentes, sans doute, mais le résultat final convenait très bien à l’éthique du logiciel libre : une
distribution logicielle complète et fonctionnelle, entièrement composée de logiciels libres.
p.99Comme l’indique son message initial au groupe de discussion comp.os.minix, il fallut plusieurs mois avant que Torvalds considère Linux comme étant plus qu’un simple substitut provisoire au noyau Hurd,
sur lequel œuvraient les développeurs GNU. Torvalds ne se voyait que comme dernier exemple en date de ces gamins s’amusant à démonter et réassembler tout un tas de choses. Malgré tout, résumant le
succès fulgurant d’un projet qui aurait pu passer le reste de ses jours abandonné sur un disque dur, il se félicite d’avoir, dans sa jeunesse, eu la sagesse d’abandonner toute volonté de contrôle sur
son code, et accepté le marché qu’offrait la GPL.
p.100« Je n’ai peut-être pas vu la lumière », écrit Torvalds en évoquant le discours de
Stallman à l’université d’Helsinki en 1991 et sa décision subséquente d’opter pour la GPL. « Mais je pense que quelque chose, dans son discours, s’est ancré en moi. »