Richard Stallman et la révolution du logiciel libre

Publié le 23 février 2010 par Lbloch

Richard Matthew Stallman est l'homme qui a donné un contenu explicite et une dénomination précise à la notion de logiciel libre. Traduction de Free as in Freedom, sa biographie par le journaliste américain Sam Williams, ce livre réalisé à l'initiative de l'association Framasoft est publié par les Éditions Eyrolles sous les termes de la GNU Free Documentation License, qui permet la copie, la distribution et la modification du texte accessible en ligne ici. À l'occasion de cette traduction coordonnée par Christophe Masutti selon les méthodes de développement du logiciel libre, Richard Stallman a introduit de nombreux amendements et Muriel Shan Sei Fan, avec l'équipe des Éditions Eyrolles, a mis la touche finale.

#Sommaire-

Est-ce bien une révolution ?

Le mot « révolution » dans le titre de ce livre n'est pas usurpé, et le texte en apporte la preuve : même pour l'auteur de ces lignes, familier du logiciel libre depuis plus de vingt ans, beaucoup d'événements, de polémiques et d'enjeux bien connus reçoivent de ce texte un nouvel éclairage, et leur signification historique une nouvelle ampleur.

Le rôle économique et culturel du mouvement du logiciel libre ne saurait être surestimé. À l'heure où l'informatique et les réseaux sont les technologies motrices de l'économie mondiale, et sous le règne de la concurrence monopoliste décrite par Michel Volle, il est un contre-poids possible aux monopoles d'entreprises comme Microsoft, Oracle ou IBM.

Il n'est pas inutile de rappeler que Richard Stallman est avant tout un informaticien exceptionnel, autant comme scientifique que comme ingénieur, auteur du logiciel Emacs (cf. p. 101) au moyen duquel est écrit cet article, du compilateur GCC (p. 20), et de bien d'autres. Brillant étudiant de mathématiques à Harvard, la passion de la programmation lui fit abandonner cette voie pour l'informatique au laboratoire d'intelligence artificielle du MIT. C'est dans le milieu intellectuel exceptionnel des hackers du MIT que se forgèrent ses convictions, au cours des années 1970 et 80.

Si le mouvement du logiciel libre a pu avoir cette vigueur, c'est en majeure partie à l'opiniâtreté de Richard Stallman qu'il le doit, le livre le montre bien. Rappelons brièvement de quoi il s'agit : jusqu'au début des années 1970 les logiciels étaient considérés comme un accessoire, fourni à titre gracieux, des ordinateurs très onéreux de cette époque. Ils étaient livrés avec leur « code source », c'est-à-dire le texte compréhensible par des humains, par opposition au code binaire, résultat de la traduction en langage machine, hermétique au lecteur humain. À partir de 1972, les logiciels devinrent progressivement des biens commerciaux protégés par le secret de leur réalisation, et les firmes qui les vendaient ne livraient plus le code source, qui aurait permis à tout un chacun de les comprendre, de les reproduire, de les adapter à d'autres besoins.

C'est cette privatisation du logiciel, et surtout le refus de l'accès au code source, qui suscita en 1980 la révolte de Richard Stallman contre l'industrie du logiciel. Les idées qui animaient cette révolte allaient se préciser au fil des ans : le texte d'un programme informatique est un élément de connaissance, et à ce titre un bien public. Toute mesure qui vise à en restreindre l'accès est un acte obscurantiste qui limite la connaissance humaine, il s'agit donc d'une injustice, condamnable sur le plan moral et politique, aucune considération économique ne saurait l'excuser.

L'aspiration à la liberté, pour le logiciel aussi

Pour doter l'humanité de la liberté à laquelle il aspirait, Stallman lança en 1984 le projet d'un système d'exploitation libre, qui s'appelerait GNU, acronyme récursif de « GNU is Not Unix », en référence au logiciel privateur Unix, dont les droits étaient à l'époque détenus par American Telegraph and Telephon (AT&T;). Le système GNU, destiné à se substituer à Unix en lui étant compatible, ne serait constitué que de programmes dont pas une ligne ne pourrait être revendiquée par une entreprise privatrice de droits. Stallman et ceux qui se joignirent à son projet écrivirent de nombreux programmes libres : GNU Emacs, nouvelle version de l'éditeur de texte créé par Stallman au MIT, le GNU C Compiler (GCC), et bien d'autres, mais, pour diverses raisons bien expliquées par le livre et qui ne sont pas sans importance, l'écriture du noyau du système ne put pas aboutir. En 1991 le Finlandais Linus Torvalds écrivit un tel noyau libre, ultérieurement nommé Linux, qui permit d'utiliser dans un contexte libre tous les logiciels du projet GNU. C'est pourquoi Richard Stallman est attaché à ce que le système constitué de l'assemblage du noyau Linux et des logiciels GNU soit toujours nommé GNU/Linux, et non pas Linux tout court.

Il pourrait être tentant de profiter du fait que la plupart du temps les logiciels libres sont disponibles gratuitement, ce qui dans la langue anglaise donne lieu à l'ambiguïté free as in free beer or free as in free speech, et de passer à la trappe les aspects politiques et culturels invoqués pas Stallman, avec lesquels on peut ne pas être toujours d'accord. C'est la voie choisie par ceux que Stallman appelle « les opportunistes », avec à leur tête Eric Raymond (p. 155), cofondateur de l'Open Source Initiative qui se propose de montrer pragmatiquement aux entreprises que, loin de toute position idéologique, le logiciel open source (à code source ouvert) est de meilleure qualité, plus sûr et d'une pérennité mieux assurée que le logiciel commercial classique.

La tentation opportuniste

Hors la question de savoir si elle est opportuniste, la position de Raymond, défendue avec brio dans l'essai La Cathédrale et le Bazar, n'est pas sans comporter des arguments convaincants qui valent aussi pour le logiciel libre de stricte obédience. Ainsi, il montre que le mode de développement original du logiciel libre remet un cause la thèse bien connue exposée par Frederick P. Brooks dans Le Mythe du mois-homme, selon laquelle l'ajout de personnel à un projet informatique en retard ne fera qu'accroître le retard, parce que le temps passé à former et à mettre au courant les nouveaux et à réorganiser la division du travail en tâches plus parcellaires fera perdre un temps bien supérieur à l'apport de travail, et que la fragmentation accrue du développement nuira à sa qualité. Cela est vrai et quotidiennement vérifié dans une organisation hiérarchique classique, mais dans le cas du logiciel libre la prolifération des contributions spontanées de gens qui souvent ne se sont jamais rencontrés peut aboutir, comme dans le cas du noyau Linux, à un succès : « en utilisant l'Internet come sa “boîte de Petri” et la surveillance sans complaisance de la communauté hacker comme moyen de sélection naturelle, [Linus Torvalds] avait créé un modèle évolutionniste débarassé de toute planification centrale » (p. 224). Raymond résume ainsi : « Je pense que le coup de maître de Linus n'a pas été le noyau Linux en lui-même, mais plutôt l'invention du modèle de développement associé. »

La Licence publique générale de GNU (GNU GPL)

Un rempart pour protéger la liberté du logiciel

Stallman publie en 1989 la première version de la Licence publique générale de GNU (GNU GPL p. 165), il en applique les termes à tous les logiciels du projet GNU et il invite tous les programmeurs à publier leurs travaux sous le couvert de cette licence [1].

Les quatre libertés essentielles

La GPL vise avant tout à assurer « la liberté pour les utilisateurs d'exécuter, de copier, de distribuer, d'étudier, de modifier et d'améliorer le logiciel. Plus précisément, cela signifie que les utilisateurs ont les quatre libertés essentielles :

La liberté d'exécuter le programme, pour tous les usages (liberté 0).

La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins (liberté 1). Pour ceci l'accès au code source est une condition requise.

La liberté de redistribuer des copies, donc d'aider votre voisin (liberté 2).

La liberté de distribuer à des tiers des copies des versions du logiciel modifiées par vous. (liberté 3). En faisant cela vous permettez à la communauté dans son ensemble de bénéficier de vos contributions. Pour ceci l'accès au code source est une condition requise. »

L'intransigeance de la position de Stallman peut sembler excessive au premier regard ; ainsi, la GPL impose que tout programme B qui utilise tout ou partie d'un autre programme A publié sous couvert de la GPL devra lui-même être publié selon les termes de la GPL : on a pu dire que cette clause rendait la GPL « contagieuse ». Et en effet le but poursuivi par Stallman n'est pas simplement de propager et de protéger le logiciel libre, mais aussi de combattre le logiciel non-libre (privateur), de restreindre autant que faire se peut son champ de diffusion. Avec le recul du temps, cette intransigeance paraît justifiée ex post : sans la GPL, le logiciel libre aurait d'abord été pillé par les entreprises du logiciel privateur, puis privatisé, enfin annéanti.

Pillage de logiciel libre mal protégé : le cas BSD

Il est impossible de retracer l'aventure du logiciel libre sans évoquer les travaux du Computer System Research Group de l'université de Californie à Berkeley (p. 175). Depuis la fin des années 1970 ce groupe avait développé sa version du système Unix, baptisée Berkeley Software Distribution (BSD), qui différait de la version AT&T; (dite « System V ») par plusieurs partis-pris architecturaux importants et qui comportait une innovation qui allait se révéler capitale : une réalisation complète des protocoles TCP/IP, fondement et socle de l'Internet. Une telle réalisation est communément appelée pile TCP/IP, par référence à l'empilement de plusieurs couches de protocoles, conformément au modèle en couches.

À la fin des années 1980, AT&T;, propriétaire originel d'Unix, commença à songer à le commercialiser. Comme BSD était un mélange de code AT&T; et de code écrit à Berkeley, l'entreprise fit valoir ses droits et mit ainsi fin à la disponibilité des travaux du groupe de Berkeley, qui jusqu'à cette date avaient été ouverts très libéralement, au moins au monde universitaire.

Pour remédier à cet état de fait, le groupe de Berkeley, à l'instigation de Stallman (p. 176), entreprit de réécrire son code pour le purger de tous les fragments d'origine AT&T.; En juin 1989, le code réseau ainsi purifié fut publié sous une licence libre connue sous le nom de licence BSD. À la différence de la GPL, la licence BSD autorisait des dérivés non-libres. Et c'est bien ce qui se produisit : le code TCP/IP de Berkeley fut pillé à grande échelle. La section suivante dira en quoi ce pillage fut un événement historique considérable, et pourquoi ce forfait eut des conséquences somme toute heureuses, aux dépens de la morale.

L'Internet, don du logiciel libre

En 1989 l'Internet existait mais son succès universel était loin d'être assuré : le système concurrent proposé par l'ISO, nommé Open Systems Interconnection (OSI), était soutenu par nombre de gouvernements, d'opérateurs et d'industriels.

Le déploiement à grande échelle de l'Internet (ou de tout autre système de réseau) suppose que les dispositifs matériels et logiciels nécessaires soient présents sur tous les ordinateurs et au sein de tous les systèmes d'exploitation concernés. C'était loin d'être le cas il y a vingt ans. Étaient donc en compétition la pile TCP/IP et la pile OSI. La possibilité de piller la pile TCP/IP de BSD pour l'intégrer à des systèmes d'exploitation privateurs, répréhensible sur le plan moral, a certainement contribué au succès de l'Internet. En effet la pile OSI, outre ses faiblesses conceptuelles et techniques, était fort onéreuse parce que ses sponsors, essentiellement des opérateurs tels France Télécom (créé en 1988), n'imaginaient guère qu'elle se déploie sur des milliards de micro-ordinateurs, et visaient plutôt le marché des gros serveurs chers.

Non seulement la pile TCP/IP obtenue gratuitement par la grâce de la naïveté de la licence BSD put se répandre sur tous les ordinateurs personnels de la planète, mais le fait que ce soit partout la même version du logiciel ne pouvait que favoriser la bonne interopérabilité des systèmes. En effet la doctrine des réseaux stipule bien que si tout le monde respecte scrupuleusement les spécifications techniques publiées (dans le cas de l'Internet, les Requests for Comments ou RFC), la réalité est souvent moins rose. Le détournement du code BSD par les industriels privateurs fut donc, en quelque sorte, une felix culpa.

La pile TCP/IP ne fut pas le seul apport du logiciel libre à l'essor de l'Internet ; en fait, toute l'infrastructure de l'Internet repose sur des logiciels libres, sous GPL, sous licence BSD ou sous licence Apache : le serveur DNS Berkeley Internet Name Domain (BIND), le serveur de messagerie SendMail, le serveur Web Apache, pour ne citer que les principaux. Il est donc parfaitement légitime d'affirmer que l'Internet est un don du logiciel libre, ou peut-être encore plus précisément, que l'un n'est pas concevable sans l'autre, puisque le développement du logiciel libre repose entièrement sur l'utilisation de l'Internet.

Le rôle historique crucial de ces péripéties ne saurait être surestimé.

Une personnalité hors-normes

Je le savais avant la lecture de ce livre, mais je le sais bien mieux maintenant : Richard M. Stallman est une personnalité hors du commun, à qui on ne saurait appliquer les habitudes de jugement habituelles. Son purisme peut agacer, mais c'est grâce à lui qu'il a réussi. Comme tout personnage habité par des convictions fortes et concentré corps et âme sur ce qu'il considère comme une mission historique, sa vie sociale n'a pas toujours été facile. En fait, le livre suggère qu'il a créé la communauté du logiciel libre, aussi, pour surmonter « une solitude écrasante ».

La lecture de ce livre est instructive dans les domaines technique, social, économique, juridique et psychologique, il est en outre agréable à lire. Je ne saurais donc trop vous en recommander la lecture.


[1] Les termes de cette licence sont inapplicables dans un contexte de droit français, où les droits moraux de l'auteur sur son œuvre sont implicites et inaliénables, par opposition au droit américain du copyright : pour résoudre ce problème, le CEA, le CNRS et l'INRIA ont créé la licence CeCILL, compatible avec la GPL.