Le logiciel libre : Idéologie ou Utopie ?

By 22 March 2013

Idéologie ou Utopie ? – Chapitre 2.

La famille est un ensemble de gens qui se défendent en bloc et s’attaquent en particulier.
Diane de Beausacq

En 1990, le projet GNU avait produit de nombreux logiciels, mais une composante cruciale du système demeurait manquante : le noyau. Le noyau est, comme son nom l’indique, l’élément central d’un système d’exploitation. Il gère les ressources de l’ordinateur et fournit l’interface qui permet aux différents logiciels de communiquer entre eux. Dès les débuts du projet GNU, Richard Stallman avait réfléchi à la meilleure manière d’écrire un tel logiciel. Mais cette partie du travail avait été plusieurs fois repoussée, la plupart des participants au projet GNU étant plus enclins à programmer des outils orientés développeurs, comme Emacs. Le développement d’un noyau avait également été ralenti par plusieurs contretemps. Comme pour d’autres composantes du système, Richard Stallman avait voulu utiliser un logiciel préexistant et l’adapter, espérant ainsi gagner du temps. Cependant, il lui fut pendant longtemps bien difficile de trouver un noyau adéquat, susceptible d’être réutilisé. Ce ne fut en fait qu’en 1990, lorsque l’université Carnegie Mellon « libéra » le noyau Mach, que le travail sur le noyau GNU put véritablement commencer.

1 Minix était un système d’exploitation créé par un professeur néerlandais, Andrew Tanenbaum, à des fins pédagogiques, pour que ses étudiants puissent le manipuler et en comprendre le fonctionnement en un semestre. Il s’agissait d’une sorte de modèle réduit d’Unix. Il avait été entièrement écrit par Andrew Tanenbaum, mais son architecture était semblable à celle d’Unix, de sorte qu’il puisse permettre aux étudiants de se familiariser avec ce dernier. Il s’agissait d’un logiciel développé sans visée commerciale, mais ce n’était pas non plus un logiciel libre, dans la mesure où il était la propriété de l’éditeur d’Andrew Tanenbaum, selon les modalités classiques de la loi sur le copyright.

Le système GNU fut toutefois complété par un autre biais, de l’extérieur et de manière totalement inattendue. Au début de l’année 1991, un jeune étudiant finlandais nommé Linus Torvalds commença en effet à développer un noyau pour Minix1, afin de pouvoir accéder à son compte Unix depuis l’ordinateur de son domicile, et ne pas être obligé de se rendre à l’université dès qu’il désirait se connecter. Il rendit rapidement son travail disponible sous une licence libre. Dans un premier temps, il choisit une licence interdisant toute utilisation commerciale, puis se ravisa et adopta la GPL en février 19921. Le logiciel avait entretemps été baptisé Linux, du nom de son fondateur, conformément aussi à la tradition voulant que toute variante d’Unix finisse par la lettre « x ». Grâce aux listes de diffusion et aux forums électroniques, des développeurs en nombre croissant avaient peu à peu apporté des améliorations à la trame réalisée par Linus Torvalds. De la sorte, le projet avait progressivement pris une ampleur que celui- ci avait été loin de soupçonner au départ, lorsqu’il parlait de son travail comme d’un « passe-temps […] pas aussi grand et professionnel que GNU »2.

En 1994, cette collaboration d’une multitude d’informaticiens à travers le monde avait donné le jour à la version 1.0 du noyau Linux, qui fonctionnait correctement avec l’ensemble du système GNU. Le problème représenté par l’absence de noyau paraissait donc enfin réglé. Un nouveau système d’exploitation complet était né, GNU/Linux, et Linux était devenu bien plus qu’un substitut provisoire au noyau toujours en développement dans le giron de la Free Software Foundation. Dans le même temps, le projet de la FSF, conçu autour du micro-noyau Mach et nommé Hurd, s’était en effet largement enlisé. Au moment de la sortie de la première version de Linux, il ne présentait même pas de réelle perspective d’achèvement. Cette situation força quelque peu le mariage entre GNU et Linux, et celui-ci laissa à Richard Stallman un goût assez amer3.

Le créateur du logiciel libre n’avait eu aucun contact avec Linus Torvalds et les développeurs de Linux jusqu’en 1993. De plus, la nouvelle génération de développeurs Linux faisait preuve de peu d’égards pour son rôle fondamental dans le projet qu’ils étaient en train d’achever. Ils nommaient ainsi le nouveau système Linux et non GNU/Linux, ce qui occultait le travail réalisé par Richard Stallman et les participants au projet GNU depuis 19841. Par ailleurs, de nouvelles distributions2 indépendantes du projet GNU et de la Free Software Foundation se créaient : Debian ou Slackware par exemple. Celles-ci n’hésitaient pas à proposer à leurs utilisateurs des logiciels propriétaires, en plus des logiciels libres qui constituaient la base du système. Cette pratique était en contradiction avec les principes intransigeants défendus par Richard Stallman depuis les débuts du logiciel libre.

1 Incidemment, ce choix témoigne de la notoriété que la licence créée par Richard Stallman avait déjà acquise à l’époque. En effet, Linus Torvalds avait choisi la GNU GPL sans en référer à la Free Software Foundation, et sans être particulièrement sensible au combat social et éthique mené par cette dernière.
2 Linus TORVALDS, « What would you like to see most in minix? », message posté sur le newsgroup comp.os.minix le 25 août 1991, disponible en ligne : http://fr.wikisource.org/wiki/Naissance_de_Linux (consulté le 16/06/2010).
3 Sam Williams, le biographe de Richard Stallman, use d’une comparaison assez parlante pour décrire les sentiments de celui-ci : « 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 ». Cf. Richard M. STALLMAN, Sam WILLIAMS, Christophe MASUTTI, op. cit., p. 205.

Du point de vue des objectifs et des valeurs défendus, l’attelage formé par GNU et Linux était donc relativement improbable. Il amalgamait un projet construit sur la base d’un message social clair et revendiqué (GNU), et un logiciel (Linux) écrit par des passionnés par simple goût de la programmation et amour de l’informatique. Richard Stallman avait démarré le projet GNU pour faire perdurer la culture hacker du MIT, et avait d’emblée conçu l’outil technique comme un « moyen pour atteindre un but social »3. Si l’on en croit la petite histoire, Linus Torvalds ne s’était lancé dans la programmation de Linux que pour remédier à l’inconfort représenté par les allers- retours incessants qu’il devait effectuer entre son domicile et l’université. Par ailleurs, quand l’un considérait l’existence de logiciels propriétaires comme un scandale éthique absolu, l’autre n’hésitait pas à en utiliser lorsque cela s’avérait plus commode4. À l’évidence, la programmation de logiciels libres n’avait donc pas tout à fait les mêmes significations pour les deux hommes, et leurs partisans respectifs. Ces différences laissaient présager de quelques difficultés ultérieures.

De fait, le paysage intellectuel du logiciel libre est scindé depuis la fin des années 1990 entre deux approches concurrentes : le free software et l’open source. Quand l’une considère le logiciel libre comme un mouvement social fondé sur des principes éthiques inflexibles, l’autre le conçoit comme une méthodologie de développement particulièrement efficace, et met en valeur la nécessité de faire preuve de pragmatisme afin de gagner de nouveaux publics et de nouveaux marchés. S’il ne faut pas surestimer l’importance que les développeurs du « libre » accordent à ce clivage, ce dernier permet néanmoins – comme nous allons le voir – de mettre au jour deux grandes voies par lesquelles le logiciel libre s’est diffusé.

1 Cette controverse terminologique est demeurée jusqu’à aujourd’hui, au point de pouvoir être considérée au sein de la communauté du logiciel libre comme un des plus gros trolls qui soit (NB : un troll est un message ou un sujet de discussion particulièrement propice à déclencher des débats sans fin, souvent caricaturaux et stériles). Pour une estimation précise de la part des composants issus du projet GNU dans la version de GNU/Linux distribuée par Ubuntu, voir dans la partie « Documents » : Document 3. Part des différents projets dans la section main d’Ubuntu.
2 Une distribution Linux est un ensemble cohérent de logiciels organisé autour du système GNU/Linux, qui peut inclure des logiciels non libres fonctionnant avec le système.
3 Richard STALLMAN, « Lecture at KTH », op. cit..
4 Ainsi, lors d’une intervention à une conférence de hackers en 1996, Linus Torvalds choqua les « puristes » du logiciel libre en admettant être un utilisateur enthousiaste du logiciel Power Point développé par Microsoft.

L’utopie du logiciel libre, le mouvement du free software
Thèse pour l’obtention du grade de docteur de l’Université Paris 1 – Discipline : sociologie
Université Paris 1 Panthéon/Sorbonne – École doctorale de philosophie