p.1En 1993, le mouvement du logiciel libre en était à la croisée des chemins. Pour les optimistes, tous
les signes semblaient indiquer le succès de la culture « hacker ». Wired, un nouveau magazine branché dans lequel on pouvait lire des articles sur le chiffrement des données, Usenet ou
encore la liberté des logiciels, faisait un malheur dans les rayons de la presse informatique.
p.2L’Internet, terme argotique qui avait été tout d’abord l’apanage des hackers et des scientifiques,
avait fini par trouver sa place dans le dictionnaire courant. Même le président Clinton l’utilisait. L’ordinateur personnel, au départ simple jouet réservé aux
amateurs, avait acquis ses lettres de noblesse, donnant à toute une nouvelle génération d’utilisateurs accès aux logiciels conçus par les hackers. Et si le projet GNU n’avait pas encore atteint son
objectif de fournir un système d’exploitation libre complètement opérationnel, il était déjà possible d’essayer sa variante GNU/Linux.
p.3Quelle que soit la façon d’aborder les choses, les nouvelles étaient bonnes, du moins en apparence.
Après dix années de lutte, les hackers et leurs valeurs finissaient par faire école au sein du grand public. Des valeurs que les gens finissaient, semblait-il, par comprendre peu à peu.
p.4Mais était-ce vraiment le cas ? À chaque signe positif, les pessimistes voyaient, quant à eux,
une contrepartie inquiétante.
p.5Certes, être un hacker était soudain à la mode, mais était-ce une bonne chose que d’être à la mode
pour une communauté construite dans la marginalité ? Certes, la Maison Blanche ne tarissait pas d’éloges au sujet de l’Internet, jusqu’à avoir créé son propre nom de domaine, whitehouse.gov, mais il y avait aussi les entreprises, les comités de censures et les représentants de l’exécutif qui n’attendaient qu’une chose : soumettre ce
territoire indompté qu’était alors la culture Internet. Certes, les PC avaient gagné en puissance, mais en inondant le marché de ses puces, Intel avait favorisé la
mainmise des marchands de logiciels non libres.
p.6Pour chaque utilisateur gagné à la cause du logiciel libre grâce à GNU/Linux, des centaines, voire
des milliers, faisaient leur premiers pas sous Microsoft Windows. En effet, les interfaces graphiques de GNU/Linux étant alors des plus
rudimentaires, l’emploi de ce système était peu aisé. En 1993, seuls les spécialistes pouvaient l’utiliser. Les premières tentatives du projet GNU visant à développer une interface graphique
n’avaient encore jamais abouti.
p.7Quant au contexte politique du moment, il n’était guère favorable. L’application de droits d’auteurs
aux interfaces utilisateur constituait encore une réelle menace – l’idée n’ayant pas encore été déboutée en justice. Parallèlement, les brevets portant sur les algorithmes et les fonctions
représentaient un danger croissant, menaçant de s’étendre à d’autres pays.
p.8Enfin, il y avait l’étrange nature de GNU/Linux lui-même. Non entravée par des désaccords juridiques
(comme c’était le cas pour BSD), son évolution extrêmement rapide avait été si inattendue, son succès si imprévu, que les programmeurs les plus impliqués dans son développement ne savaient finalement
pas quoi en faire.
p.9Ressemblant davantage à un recueil de morceaux choisis qu’à un projet unifié, c’était une sorte
d’anthologie hacker qui contenait tout, de GCC, GDB et Glibc (la toute nouvelle bibliothèque C du projet GNU) à
X (une interface graphique inspirée d’Unix développée par le Laboratoire de sciences informatiques du MIT), en passant par des outils créés par le
projet BSD comme Bind (Berkeley Internet Naming Daemon, système DNS permettant de remplacer les nombres des adresses IP par des noms de domaines faciles à mémoriser) et une pile TCP/IP.
p.10À tout cela s’ajoutait le noyau Linux, lui-même conçu
pour remplacer Minix. Torvalds et son équipe toujours plus nombreuse, plutôt que de développer un tout nouveau système
d’exploitation, avaient greffé leur travail à ce gisement GNU de départ. C’est cela qu’exprimerait Torvalds plus tard, évoquant son propre succès : « Je suis en fait une personne très
paresseuse, qui aime s’attribuer le travail d’autres personnes. »
p.11Une telle paresse, tout admirable qu’elle fût sous l’angle de la productivité, était gênante
d’un point de vue politique. Avant tout, elle faisait ressortir l’absence de toute visée idéologique de la part de Torvalds. Contrairement aux développeurs
du projet GNU, l’étudiant finlandais n’avait pas bâti son noyau par volonté d’offrir la liberté à ses confrères hackers. Il ne l’avait fait que pour avoir quelque chose avec quoi il pourrait lui-même
s’amuser. Quelle était donc la nature de ce système mixte et à quelle philosophie serait-il rattaché ? Était-ce l’incarnation de l’esprit du logiciel libre explicité par Stallman au sein du
Manifeste GNU ? Ou n’était-ce qu’un amalgame d’outils ingénieux que n’importe quel utilisateur, tout aussi motivé, aurait pu lui-même assembler sur son
système maison ?
✻✻✻
p.12Fin 1993, le nombre des utilisateurs de GNU/Linux penchant
pour la seconde définition et commençant à bricoler leurs propres variations sur le thème s’était considérablement accru. Diverses « distributions » furent ainsi développées et diffusées,
parfois gratuitement, parfois non, et avec des résultats on ne peut plus inégaux.
p.13« C’était bien avant Red Hat et les autres
distributions commerciales, se souvient Ian Murdock, alors étudiant en informatique à l’université de Purdue. Vous n’aviez qu’à feuilleter un magazine Unix
pour trouver toutes sortes de petits encarts publicitaires proclamant ‘Linux’. La plupart de ces compagnies couvraient en fait des opérations douteuses, et ne se gênaient pas pour glisser un peu de
leur code maison [non libre] dans le mélange. »
p.14Murdock, qui était un programmeur Unix, se souvient avoir été
« emballé » par GNU/Linux après l’avoir téléchargé et installé sur son PC pour la première fois. « C’était si excitant, dit-il, que cela m’a donné
envie de m’impliquer ». Mais l’explosion des distributions de mauvaise qualité refroidit son enthousiasme naissant. Décidant alors que la meilleure façon de s’impliquer était de créer une
version débarrassée de tout additif, il entreprit de recenser tous les meilleurs logiciels libres disponibles, dans l’intention de les intégrer à sa propre distribution. « Je voulais faire
quelque chose qui soit à la hauteur de la réputation de Linux », déclare-t-il.
p.15Afin « d’éveiller un intérêt », Murdock envoya un message avec ses intentions sur
l’Internet, y compris auprès du groupe de discussion Usenet comp.os.linux. L’une des toutes premières réponses qu’il reçut émanait de rms@ai.mit.edu. Murdock reconnut l’adresse aussitôt. Il s’agissait de Richard M. Stallman, le fondateur du projet GNU, l’homme qu’il connaissait déjà comme « le hacker
des hackers ». À la vue de cette adresse parmi ses courriels en attente, Murdock n’en revenait pas. Pourquoi Stallman, alors qu’il dirigeait son propre projet de système d’exploitation,
pouvait-il bien s’intéresser à ses récriminations concernant les distributions « Linux » ?
p.16Murdock ouvrit le message. « Il disait que la Free
Software Foundation commençait à regarder Linux de près et qu’il se pourrait bien qu’elle soit aussi intéressée par créer un système Linux [sic]. En gros,
Stallman avait l’air de penser que nos objectifs étaient compatibles avec leurs principes. »
p.17Ce message représentait un tournant dans la stratégie de Stallman. Jusqu’en 1993, il s’était
contenté de ne pas se mêler des affaires de la communauté Linux. Après avoir entendu parler pour la première fois de ce nouveau noyau, il avait demandé à un
ami de vérifier s’il possédait les qualités requises. Ainsi se remémore-t-il les faits : « Il m’a rapporté que le programme était modelé sur System V, c’est-à-dire une version
inférieure d’Unix. Il m’a dit aussi qu’il n’était pas portable. »
p.18Le rapport de cet ami était correct. Conçu pour fonctionner sur des machines à base
d’Intel 386, Linux était fortement lié à cette plate-forme bon marché. Ce que cet ami manqua de rapporter, en revanche, c’était l’énorme avantage du
fait que Linux soit alors le seul noyau libre sur le marché. Autrement dit, tandis que Stallman allait passer l’année et demie suivante à lire les rapports d’activité du développeur de Hurd, dont la progression était plutôt lente, Torvalds ralliait les programmeurs qui porteraient ensuite Linux et GNU sur de nouvelles
plates-formes.
Précision À propos de Hurd
p.19Hurd est un double acronyme récursif signifiant « Hird of
Unix-Replacement Daemons », et Hird : « Hurd of Interfaces Representing Depth ». De plus, comme l’explique Richard Stallman, la sonorité similaire entre Hurd et le mot « herd »
(troupeau, en anglais), reflète bien l’idée d’un troupeau de programmes serveurs GNU, rassemblés autour du micro-noyau GNU Mach, et constituant ainsi la moitié supérieure
du noyau du système GNU. Mach, quant à lui, fut développé à l’université de Carnegie Mellon entre 1985 et 1994. Après l’arrêt de son développement, le projet GNU en produisit une version
modifiée : GNU Mach.
p.20Le très ambitieux projet Hurd connut une histoire mouvementée, si bien que le souhait de voir
naître une distribution complète du système GNU ne s’est toujours pas réalisé. De plus, GNU/Linux ayant fait plus que combler la principale faiblesse du projet GNU (le noyau manquant), le
développement de Hurd s’en trouva d’autant plus retardé. Le projet Hurd se poursuit néanmoins aujourd hui et une version de Debian propose Hurd comme noyau à la place de Linux :
Debian GNU/Hurd. Sur l’histoire de Hurd, on peut se référer à :
http://www.gnu.org/software/Hurd/history.html. Pour en apprendre plus sur Mach :
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html.
✻✻✻
p.21En cette année 1993, l’incapacité du projet GNU à fournir un noyau fonctionnel entraînait de
nombreux problèmes, aussi bien au sein même du projet que dans le mouvement du logiciel libre en général. Dans un article du magazine Wired paru au mois de
mars, Simson Garfinkel décrivait le projet GNU comme s’étant « enlisé », en dépit du succès de ses nombreux outils.
p.22Les membres du projet et de l’institution sans but lucratif qu’était la Free Software Foundation
se souviennent que l’atmosphère était encore pire que ne le laissait entendre l’article de Simson Garfinkel. « Il était très clair, pour moi au moins à cette époque, qu’il y avait une fenêtre
ouverte pour l’introduction d’un nouveau système d’exploitation, témoigne Chassell. Et dès l’instant où celle-ci serait refermée, les gens s’en
désintéresseraient. Et c’est exactement cela qui a fini par se produire. »
p.23Les difficultés du projet GNU durant la période 1990-1993 ont fait couler beaucoup d’encre.
Tandis que certains blâment Stallman, Eric Raymond, un de ses vieux amis qui avait soutenu le projet GNU sans grand enthousiasme, affirme que le problème
était en grande partie institutionnel. « La FSF est devenue arrogante, explique-t-il. Ils se sont écartés de leur but, qui était de faire un système d’exploitation fonctionnel, pour faire un
système d’exploitation expérimental ». Pire encore : « Ils se croyaient hors d’atteinte de tout ce qui se passait en dehors d’eux-mêmes. »
p.24Murdock porte un jugement moins sévère : « Je
pense que le problème est qu’ils étaient un peu trop ambitieux et qu’ils ont dépensé de l’argent pour rien. Au tournant des années 1990, les micro-noyaux étaient à la mode. Malheureusement, c’est à
ce moment que le projet GNU a commencé à concevoir son propre noyau. Il s’est donc créé un très gros bagage, et il aurait fallu beaucoup d’efforts pour revenir en arrière. »
p.25Et Stallman de réagir : « L’arrogance perçue par Raymond est un pur fruit de son imagination. Par contre, il voit juste quant à l’une des causes du retard de Hurd : son développeur a
repensé et récrit à plusieurs reprises des portions importantes du code, en fonction de ce qu’il avait appris, au lieu d’essayer de rendre le noyau opérationnel le plus rapidement possible. C’était
une bonne habitude de conception, mais elle n’était pas adaptée à notre objectif d’obtenir quelque chose de fonctionnel le plus tôt possible. »
p.26Stallman évoque encore d’autres raisons à ce retard. D’une part, les procès Lotus et Apple réquisitionnaient en grande partie son attention ; d’autre part, des douleurs à la main, en
l’empêchant de se servir d’un clavier pendant trois ans, l’avaient tenu éloigné de la programmation. Il cite enfin la mauvaise communication entre les différentes parties du projet GNU. « Faire
fonctionner l’environnement de débogage demandait un gros travail, se souvient-il. Et l’équipe qui maintenait GDB à l’époque n’était pas très coopérative. » Les
développeurs de GDB avaient en effet donné la priorité au support des plates-formes existantes sur lesquelles tournait GDB, au lieu de se consacrer au but général : l’obtention d’un système GNU
complet.
p.27Mais surtout, Stallman reconnaît que lui et les développeurs de Hurd
avaient foncièrement sous-estimé la difficulté d’étendre le micro-noyau Mach à un noyau Unix complet. « Je m’étais imaginé que la partie [de Mach] parlant avec la
machine avait déjà été déboguée, raconte-t-il au cours d’un discours prononcé en l’an 2000, se souvenant des déboires de l’équipe de Hurd. Grâce à cette longueur d’avance, nous aurions dû pouvoir
finir le travail plus vite. Mais au contraire, il est apparu que déboguer ces programmes asynchrones et multithreadés était vraiment difficile. Il y avait des bogues de synchronisation qui corrompaient les fichiers, et c’était vraiment l’enfer. Et au final, il a fallu de très nombreuses
années pour obtenir une version de test » (voir encart ci-après).
Note À propos des bogues de synchronisation
p.28 Dans les courriels qui ont suivi ce discours, j’ai demandé à Stallman ce qu’il voulait dire
exactement par « bogues de synchronisation » (timing bugs). Stallman expliqua que l’expression « erreurs temporelles » était plus exacte
pour résumer le problème et fournit une explication technique de la manière dont ces erreurs temporelles peuvent gravement handicaper les performances d’un système d’exploitation : « Les
erreurs temporelles se produisent dans un système asynchrone où des tâches parallèles devraient en principe pouvoir se dérouler dans n’importe quel ordre. Or, un ordre particulier amène des
problèmes. Imaginez qu’un programme A fasse une tâche X, et qu’un programme B une tâche Y, où X et Y sont toutes deux de courtes tâches de routine qui examinent et mettent à jour
une même structure de données. Presque toujours, l’ordinateur exécutera X avant Y ou bien Y avant X, et il n’y aura donc aucun problème. En de rares occasions, par pur hasard, l’ordonnanceur laissera
le programme A s’exécuter jusqu’à mi-parcours de X, puis lancera B qui effectuera Y. Ainsi, la tâche Y sera accomplie tandis que X n’est faite qu’à moitié. Comme ces processus mettent à
jour la même structure de données, il y aura des interférences. Par exemple, peut-être X aura-t-il déjà examiné la structure de données et ne verra-t-il pas qu’il y a eu une modification, qui causera
un échec non reproductible. Cette erreur ne peut en effet être reproduite, car elle dépend de facteurs aléatoires (c’est-à-dire à quel moment l’ordonnanceur décide d’exécuter quel programme et sur
quelle durée). Le meilleur moyen d’éviter ce genre d’erreur est d’utiliser un verrou pour s’assurer que X et Y ne se déroulent jamais au même moment. Les programmeurs de systèmes asynchrones
connaissent bien l’importance générale des verrous, mais parfois, la nécessité d’un verrou à un certain endroit ou sur une certaine structure de données peut leur échapper. Le programme connaît alors
une erreur de synchronisation. »
p.29Avec le temps et le succès grandissant de GNU associé à Linux, il devint évident que le projet GNU devait prendre le train en marche, sans attendre l’achèvement de Hurd. En outre, la communauté entourant GNU/Linux présentait certaines faiblesses. Certes, Linux s’était vu doté de la licence GPL, mais ainsi que l’avait remarqué Murdock,
la volonté de traiter Linux comme un système d’exploitation entièrement libre était loin de faire l’unanimité.
p.30Fin 1993, la population totale des utilisateurs de Linux était passée d’une douzaine de fans à
un chiffre situé entre vingt mille et cent mille personnes. Ce qui n’était au début qu’un
hobby constituait désormais un marché mûr pour l’exploitation, et certains ne voyaient aucune objection à en tirer profit avec du logiciel non libre. Tel Winston Churchill observant les troupes soviétiques déferler sur Berlin, Stallman éprouvait un sentiment mitigé bien compréhensible à l’heure de célébrer la
« victoire » de GNU/Linux.
✻✻✻
p.31Or, bien qu’en retard à la fête, Stallman avait toujours de l’influence. Aussitôt que la FSF eut
annoncé qu’elle fournirait son argent et son soutien moral au projet logiciel de Murdock, les autres offres de soutien commencèrent à affluer. Murdock baptisa
le nouveau projet Debian – fusion du prénom de sa femme, Deborah, et du sien – et en quelques semaines, la première version de la distribution fut livrée.
Selon ses propres mots, « [l’appui de Richard] catapulta Debian du jour au lendemain d’un petit projet intéressant à un événement qui allait retenir l’attention de la communauté. »
p.32En janvier 1994, Murdock publia le Manifeste Debian. Dans
l’esprit du Manifeste GNU de Stallman, publié dix ans plus tôt, il expliquait l’importance de travailler en étroite collaboration avec la FSF.
p.33« La Free Software Foundation joue un rôle extrêmement important pour le futur de la
distribution Debian. Le simple fait que ce soit elle qui la diffuse est un message envoyé au monde : Linux [sic] n’est pas un produit commercial et jamais
il ne devrait l’être ; cela ne signifie pas pour autant que Linux ne sera jamais en mesure d’être compétitif. Pour ceux d’entre vous qui en
douteraient, je vous mets au défi d’expliquer le succès de GNU Emacs et de GCC, qui, sans être des logiciels commerciaux, ont pourtant eu un
sacré impact sur le marché économique.
p.34Le temps est venu de se concentrer sur le futur de Linux [sic] plutôt que sur l’objectif destructeur consistant à s’enrichir aux dépens de toute la communauté Linux et de son avenir. Le développement et la distribution de Debian
ne sont peut-être pas la réponse aux problèmes que j’ai exposés dans ce Manifeste, mais j’espère au moins qu’ils attireront suffisamment l’attention sur ces problèmes afin qu’ils puissent être
résolus. »
p.35Peu après la publication du Manifeste, la FSF émit sa première requête d’importance :
Stallman voulait que Murdock appelle sa distribution « GNU/Linux ». Il avait proposé pour commencer le terme « Lignux », combinant les noms
Linux et GNU, mais les premières réactions très négatives l’avaient convaincu d’adopter « GNU/Linux », plus long mais moins critiqué.
p.36La démarche de Stallman consistant à ajouter le préfixe « GNU » fut interprétée par
certains comme une quête tardive de reconnaissance, qu’il l’eût méritée ou non. Murdock, lui, considérait les choses différemment. Il y vit plutôt une
tentative d’agir face à la tension grandissante entre les développeurs du projet GNU et ceux qui adaptaient les programmes GNU au noyau Linux. « On était au bord de la rupture, évoque-t-il.
Richard était inquiet. »
✻✻✻
p.37Dès 1990, un « responsable du développement » était désigné pour chaque programme GNU.
Certains programmes tournaient sur de nombreux systèmes différents, et les utilisateurs proposaient souvent des changements pour les porter sur de nouveaux systèmes. Cependant, ne connaissant souvent
que leur propre système, ceux-ci ne cherchaient pas spécialement à garder le code propre pour qu’il reste portable facilement sur d’autres systèmes. Prendre en charge un nouveau système tout en
gardant le code compréhensible – pour être maintenu de façon fiable pour tous les systèmes – demandait donc la récriture d’une bonne partie des modifications.
p.38Le responsable d’un programme était ainsi chargé d’évaluer les modifications des
auteurs/utilisateurs et de leur expliquer comment reprendre certaines parties du portage. Généralement, ces derniers étaient très empressés à s’exécuter, pour voir leurs modifications intégrées à la
version standard. Enfin, le responsable incorporait le code ainsi retravaillé, qui serait désormais pris en compte dans la maintenance du programme. Pour certains programmes, ce processus s’était
répété des dizaines de fois, pour autant de systèmes différents.
p.39Quant aux programmeurs qui adaptaient les divers programmes GNU au noyau Linux, ils adoptaient
tous peu ou prou la même attitude : ils ne se préoccupaient que de leur plate-forme. Mais lorsque les responsables des programmes GNU les sollicitaient pour nettoyer leurs modifications en vue
de la maintenance successive, plusieurs d’entre eux faisaient la sourde oreille. Peu leur importait de faire les choses correctement ou de faciliter la maintenance des paquets GNU qu’ils avaient
adaptés. Seules leurs propres versions les intéressaient, la tendance étant alors à les maintenir sous forme de branches séparées, ou forks.
p.40Dans l’univers des hackers, la question des forks est du
plus grand intérêt. Bien qu’il soit éthiquement permis à un programmeur de faire ce qu’il veut avec le code source d’un programme, il est de bon ton de proposer au développeur original de travailler
conjointement pour maintenir une version unique. Les hackers trouvent ainsi habituellement plus utile et approprié de reverser leurs améliorations dans la version principale du programme. Et si une
licence de logiciel libre autorise tout un chacun à créer une nouvelle branche d’un programme (le « forker ») – ce qui s’avère parfois nécessaire, le faire sans raison particulière est
considéré un acte quelque peu désobligeant.
p.41En tant que leader du projet GNU, Stallman avait déjà fait l’expérience des méfaits d’un fork
logiciel en 1991. Il raconte : « Une entreprise, Lucid, a recruté quelques personnes pour écrire des améliorations à GNU Emacs, améliorations censées contribuer
à ce programme. Mais les développeurs ne m’ont pas tenu informé de leur projet, développant au lieu de cela plusieurs nouvelles fonctionnalités, de leur propre chef. Comme on pouvait s’y attendre,
j’ai approuvé certaines de leurs décisions et récusé les autres. Ils m’ont alors demandé d’intégrer la totalité de leur code, mais apprenant mon intention de n’en utiliser que la moitié, ils ont
alors refusé de m’aider à l’adapter. J’ai dû me débrouiller seul. » Le fork avait donné naissance à une version parallèle, Lucid Emacs, ainsi qu’à un amer ressentiment.
p.42Plusieurs des principaux paquets GNU avaient ainsi donné lieu très rapidement à des forks. Au
début, Stallman considérait ces forks comme le produit de l’impatience des développeurs. À l’opposé de la dynamique rapide et informelle de l’équipe en charge de Linux, les mainteneurs du code source
de GNU tendaient à être plus lents et circonspects avec des changements susceptibles d’affecter la viabilité à long terme d’un programme. De plus, ils n’hésitaient pas à critiquer sévèrement le code
des autres. Avec le temps, à la lecture des courriels envoyés par les développeurs de Linux, Stallman commença à réaliser qu’au fond, peu d’entre eux avaient vraiment conscience du projet GNU et de
ses objectifs.
p.43« Nous avons découvert que les gens qui se targuaient d’être des « utilisateurs de
Linux » se moquaient bien du projet GNU, exprime Stallman. ‘Pourquoi devrais-je m’embêter à faire tout ça ? disaient-ils. Je n’ai que faire du projet GNU, puisque ça [le programme] marche
pour moi. Ça marche pour nous, utilisateurs de Linux, et c’est tout ce qui compte à nos yeux.’ C’était vraiment étonnant, que ces personnes utilisant pour
l’essentiel une variante du système GNU s’en soucient si peu. Ils se souciaient de GNU encore moins que quiconque ! »
p.44Abusés par leur propre habitude d’appeler la combinaison des deux programmes
« Linux », ils ne se rendaient pas compte que leur système tenait plus de GNU que de Linux.
p.45Afin de préserver l’unité, Stallman demanda aux responsables de développement de faire eux-mêmes
le travail qui aurait dû incomber aux auteurs des modifications. Dans la plupart des cas, la tâche était envisageable, mais pas dans celui de Glibc. Abréviation de
GNU C Library, Glibc est le paquet qui permet à tous les programmes d’adresser des « appels système » au noyau, en l’occurrence Linux. En effet, tout programme utilisateur, sur un système de type Unix, ne communique avec le noyau qu’à travers la bibliothèque C.
p.46Les modifications visant à faire fonctionner Glibc comme canal de communication entre Linux et
tous les autres programmes du système étaient importantes et ciblées, écrites sans tenir compte de leurs conséquences possibles une fois portées sur d’autres plates-formes. Pour le responsable de
Glibc, le travail de nettoyage avait de quoi faire peur. Dès lors, la FSF préféra le payer presque une année durant pour réimplémenter ces changements à partir de zéro, et livrer une version 6
de Glibc « clé en main » pour GNU/Linux.
✻✻✻
p.47Murdock rapporte que c’est la raison qui aurait
précipité Stallman à vouloir à tout prix ajouter le préfixe GNU lorsque Debian publia sa distribution logicielle. « Depuis, le fork a réintégré la branche initiale. Mais, à l’époque, grande
était l’inquiétude dans la communauté GNU de voir la communauté Linux faire bande à part, au risque d’aggraver la désunion. »
p.48Si certains considéraient qu’assimiler la combinaison de GNU et de Linux à une
« variante » de GNU était faire preuve d’avidité politique, Murdock, déjà sympathisant de la cause des logiciels libres, jugea honnête la requête de Stallman demandant à ce que la version
de Debian soit estampillée « GNU/Linux ». « Elle traduisait davantage la recherche d’une unité que celle d’une reconnaissance », déclare-t-il.
p.49Des demandes de nature plus technique s’ensuivirent. Or, bien que Murdock eût été arrangeant sur
les questions d’ordre politique, il se montra plus ferme au sujet de la structure et du modèle de développement du logiciel. Ce qui avait commencé comme une démonstration de solidarité devint
rapidement un désaccord permanent.
p.50« Ah pour ça, j’ai eu ma part d’oppositions avec lui, assure Murdock en riant. En toute
honnêteté, Richard est une personne avec qui il peut être assez difficile de travailler. » Le principal différend portait sur le débogage. Stallman voulait inclure des informations de débogage
dans tous les programmes exécutables, de manière à permettre aux utilisateurs/développeurs d’identifier immédiatement les bogues qu’ils auraient pu rencontrer. Au contraire, Murdock estimait que cela
rendrait le système de fichiers trop volumineux et affecterait la distribution. Or aucun des deux n’était disposé à changer d’avis.
✻✻✻
p.51En 1996, ayant obtenu son diplôme à l’université de Purdue, Murdock décida de passer les rênes du projet Debian, alors en plein essor. Il avait déjà cédé les tâches administratives à Bruce Perens, qui était bien connu pour son travail sur Electric Fence. Perens, tout comme Murdock, était un programmeur Unix tombé amoureux de GNU/Linux sitôt que ses propriétés Unix furent devenues
manifestes. Et tout comme Murdock, Perens sympathisa avec les objectifs politiques de Stallman et de la FSF, quoique de plus loin.
p.52« Je me rappelle que bien après que Stallman ait publié le Manifeste GNU, GNU Emacs et GCC, j’avais lu un article disant qu’il travaillait comme consultant pour Intel, dit Perens, évoquant son premier accrochage avec Stallman à la
fin des années 1980. Je lui ai écrit pour lui demander comment il pouvait défendre les logiciels libres d’un côté et travailler pour Intel de l’autre. Il m’a répondu : ‘Je travaille en tant que
consultant pour produire des logiciels libres’. Il était parfaitement courtois et j’ai pensé que sa réponse était parfaitement logique. »
p.53En revanche, Perens, éminent développeur Debian,
assistait avec consternation aux batailles opposant Stallman et Murdock au sujet de la conception de Debian. Dès son accession à la tête de l’équipe de
développement, il prit la décision de mettre de la distance entre Debian et la FSF. « Je ne voulais pas que Richard ait son mot à dire sur la moindre de nos décisions »,
explique-t-il.
p.54Selon lui, Stallman fut pris de court par la décision, mais eut la sagesse de s’en
accomoder : « Il a laissé les choses se calmer, puis a envoyé un message comme quoi nous avions vraiment besoin d’être en relation. Il a demandé que nous appelions le système GNU/Linux, et en est resté là. Cela m’a semblé convenable et j’ai accepté. J’ai pris seul cette décision. Tout le monde a soupiré de soulagement. »
✻✻✻
p.55Petit à petit, Debian allait se forger une réputation de « version hacker » de
GNU/Linux, aux côtés de Slackware, autre distribution populaire née à la même période en 1993-94. Cependant, Slackware contenait des programmes non libres et Debian, après sa séparation d’avec le
projet GNU, l’imita. Bien que signalés comme « non libres » et ne faisant
« pas officiellement partie de Debian », ces paquets ne pouvaient être proposés aux utilisateurs sans que cela ne leur donne une caution implicite. Lorsque le projet GNU prit connaissance
de ces pratiques, il dut convenir que ni Debian ni Slackware ne pouvaient être recommandées au public en tant que distributions GNU/Linux.
p.56Hors du royaume des systèmes pour hackers, pourtant, GNU/Linux commençait à faire parler de lui
sur le marché des Unix commerciaux. En Caroline du Nord, une entreprise Unix nommée Red Hat était en pleine réorganisation de ses activités pour les recentrer
sur GNU/Linux. Son président directeur général était Robert Young, l’ancien éditeur du Linux Journal qui, en 1994,
avait demandé à Linus Torvalds s’il regrettait d’avoir mis le noyau sous licence GPL.
p.57La réponse de Torvalds avait alors profondément influencé la vision qu’avait Young de GNU/Linux.
Au lieu de chercher à s’imposer sur le marché GNU/Linux par les tactiques habituelles, il se demanda ce qui se passerait si une entreprise adoptait la même démarche que Debian, à savoir assembler un
système d’exploitation uniquement à partir de logiciels libres. Cygnus Solutions, l’entreprise montée par Michael Tiemann et John Gilmore en 1990, démontrait déjà qu’il était possible de vendre des logiciels libres en s’appuyant sur la qualité et la personnalisation. Et si Red Hat adoptait
cette approche avec GNU/Linux ?
p.58« Dans la tradition scientifique occidentale, on s’élève en s’appuyant sur les épaules des
géants, affirme Young, faisant écho à la fois Torvalds et à Sir Isaac Newton avant lui. Dans le monde des affaires, cela signifie éviter de réinventer la
roue. La beauté du modèle [de la GPL], c’est que le code est placé dans le domaine public.
Mettons que vous soyez un fournisseur de logiciels indépendant et que vous essayiez de concevoir une application, pour laquelle vous ayez besoin d’un composeur pour modem, eh bien… pourquoi
réinventer les composeurs ? Vous n’avez qu’à récupérer PPP sur Red Hat [GNU/]Linux et
en faire le cœur de votre outil de composition pour modems. Si vous avez besoin d’outils graphiques, pas besoin d’écrire votre propre bibliothèque graphique… Il suffit de télécharger GTK ! Vous vous retrouvez soudainement avec la possibilité de réutiliser le meilleur de ce qui a déjà
été créé avant vous. Et tout aussi soudainement, votre attention, en tant que vendeur de logiciels, se trouve moins portée sur la gestion des logiciels que sur l’écriture d’applications répondant
spécifiquement aux besoins de vos clients. »
p.59En dépit de ces déclarations, Young n’était pas un militant du logiciel libre, incluant
volontiers des logiciels non libres dans le système GNU/Linux Red Hat.
✻✻✻
p.60Young n’était pas le seul professionnel du logiciel à
être attiré par l’efficacité commerciale des logiciels libres. Fin 1996, la plupart des compagnies Unix commençaient à se réveiller et à flairer l’attrait du code source. Et si on en était encore à
une bonne année ou deux du passage au plein déploiement commercial du secteur GNU/Linux, quelque chose d’énorme était en train de se produire – tous les familiers du milieu hacker le sentaient. Le
processeur Intel 386, l’Internet et le World Wide Web avaient déferlé sur le marché comme autant de raz-de-marée. Quant au logiciel libre, il semblait déjà former la plus grosse lame de fond en
préparation.
p.61Aux yeux de Ian Murdock, cette déferlante était tout
autant un hommage qu’une punition bien mérités pour l’homme qui s’était consacré si longtemps à forger l’identité du mouvement du logiciel libre. Comme de nombreux fans de GNU/Linux, Murdock avait lu
les tout premiers messages et échanges postés. Il avait lu l’avertissement de Torvalds mentionnant Linux comme un simple « passe-temps » et son aveu au
créateur de Minix, Andrew Tanenbaum : « Si le noyau GNU avait été prêt le printemps dernier, je ne me serais même
pas donné la peine de lancer mon projet ». Comme beaucoup, Murdock savait que
certaines occasions avaient été manquées. Il connaissait aussi l’excitation ressentie en voyant de nouvelles opportunités émerger de la structure même de l’Internet.
p.62« Être impliqué dans Linux à ses débuts était
amusant, se rappelle-t-il. En même temps, cela occupait et permettait de passer le temps. Si on relit les vieux échanges sur [comp.os.minix], c’est ce sentiment
qui se dégage : Linux était quelque chose avec quoi jouer en attendant que le noyau Hurd soit prêt. Les gens étaient impatients. C’est drôle, mais j’ai l’impression qu’il n’y aurait jamais eu de
Linux si Hurd était sorti plus rapidement. »
p.63Fin 1996, toutefois, de telles considérations n’avaient plus lieu d’être, le noyau de Torvalds
ayant déjà atteint une masse critique d’utilisateurs. La fenêtre des trente-six mois s’était refermée, signifiant que même si le projet GNU sortait son noyau Hurd, les
chances auraient été bien minces pour que, en dehors du noyau dur de la communauté hacker, quelqu’un le remarque. Linux, en comblant la dernière lacune du système GNU, avait accompli la mission du
projet GNU, à savoir la production d’un système d’exploitation libre de type Unix.
p.64Quoi qu’il en soit, la plupart des utilisateurs ne comprirent pas ce qu’il s’était vraiment
passé, croyant que Linux était le système entier et que Torvalds était son créateur. La plupart installèrent des distributions incluant des programmes non
libres et, avec Torvalds comme guide éthique, n’y virent aucune raison de les rejeter.
p.65Malgré tout, une liberté précaire restait à la portée de ceux qui savaient l’apprécier.