La naissance du projet GNU

By 22 March 2013

La naissance du projet GNU

C’est dans cette perspective qu’il posta le 27 septembre 1983 sur un groupe de discussion Usenet un message présenté comme un appel à contributions :

Dès le Thanksgiving prochain, je commencerai à écrire un système logiciel complet, compatible Unix, appelé GNU (pour GNU N’est pas Unix), et à le distribuer librement à tous ceux qui souhaitent l’utiliser. Je fais appel à toute contribution en temps, en argent, en programmes et en matériel pour faire avancer ce projet.3

Dans la suite du message, le développeur du AI Lab présentait ses nombreux mérites, et précisait un peu le projet. Pour tout informaticien un tant soit peu informé, celui-ci apparaissait très caractéristique de l’esprit hacker, comme en témoignait le nom choisi, acronyme récursif typique de l’humour des informaticiens du MIT4. Il semblait surtout extrêmement ambitieux, pour ne pas dire déraisonnable. Il ne s’agissait en effet de rien de moins que d’écrire un nouveau système d’exploitation en partant quasiment de zéro, et d’en faire une alternative crédible à Unix. Or, ce dernier était à l’époque un système tout à fait accompli. Développé à l’origine aux laboratoires Bell d’AT&T par Ken Thompson, il avait pour grande qualité de pouvoir fonctionner efficacement sur des machines extrêmement diverses, et notamment sur des ordinateurs à la puissance relativement modeste. Il s’était considérablement répandu dans le milieu universitaire depuis sa distribution par AT&T à plusieurs établissements en 1975, moyennant le paiement par chacun d’eux d’une licence très bon marché1.

1 Richard M. STALLMAN, cité par Josh MCHUGH, « For the Love of Hacking », Forbes, 10 août 1998, en ligne : http://www.forbes.com/forbes/1998/0810/6203094a.html (consulté le 11/05/2010).
2 Richard M. STALLMAN, « Lecture at Kungliga Tekniska Högskolan (KTH) », op. cit.
3 Richard M. STALLMAN, « Initial GNU Announcement », 27 septembre 1983, en ligne : http://www.gnu.org/gnu/initial-announcement.fr.html (consulté le 17/05/2010).
4 « Finalement, quand je me suis aperçu que je pouvais utiliser le mot le plus amusant de la langue anglaise comme nom pour ce système, le choix que j’avais à faire devint évident. Ce mot, c’est bien entendu GNU, qui signifie “GNU’s Not Unix”. L’acronyme récursif est une très vieille tradition au sein de la communauté hacker du MIT. Elle trouve son origine, je crois, dans un éditeur appelé TINT, ce qui signifie « Tint Is Not Teco », et elle continua avec des noms comme SINE pour « Sine Is Not Emacs », FINE pour « Fine Is Not Emacs », EINE pour « Eine Is Not Emacs », et ZWEI pour « Zwei Was Eine Initially ». Et finalement GNU ». Cf. Richard M. STALLMAN, « Lecture at KTH », op. cit.

L’entreprise avait fait de nécessité vertu. Ses activités commerciales étant restreintes au secteur des télécommunications depuis un accord signé en 1956 avec le Département de Justice suite à une action antitrust, elle ne pouvait pas commercialiser son système d’exploitation. Plusieurs universités en profitèrent, notamment Berkeley, qui développa en collaboration avec Ken Thompson sa propre version d’Unix : BSD (Berkeley Software Distribution). Celle-ci connut rapidement un grand succès dans le monde universitaire, et elle fut régulièrement améliorée au cours des années suivantes, grâce aux contributions et aux rapports de bogues de ses utilisateurs. Cependant, après le démantèlement d’AT&T en 1984, l’entreprise réclama ses droits de propriété sur Unix, et imposa à tous les utilisateurs (entreprises, universités, particuliers) de signer des contrats de licence2. Entretemps, de nombreuses versions commerciales d’Unix avaient aussi vu le jour, dont celles d’AT&T (System V), de Microsoft (Xenix) et de Sun (Solaris).

Quand Richard Stallman prit la décision de commencer le projet GNU, Unix n’était donc pas un système d’exploitation totalement libre. Il avait certes constitué une sorte de révélation pour nombre d’informaticiens, dans la mesure où l’ouverture du code source par AT&T avait permis d’en faire un système robuste et polyvalent, développé de manière évolutive et collaborative, notamment au sein du projet BSD. Mais le fait que le système soit resté la propriété d’AT&T avait toujours impliqué son lot d’incertitudes juridiques3, et celles-ci allaient grandissant. En tout état de cause, Unix n’avait jamais été un système véritablement utilisable, copiable, modifiable et distribuable par n’importe qui. Pour rester fidèle aux principes d’ouverture et de libre circulation de l’information qu’il n’avait cessé de défendre, Richard Stallman décida donc de commencer un nouveau projet entièrement libre1. Il choisit de rendre celui-ci compatible avec Unix, car il pensait, à raison, que cela rendrait l’adoption de GNU bien plus facile pour de nombreux utilisateurs2. Mais le projet GNU était surtout pour lui le moyen de faire valoir une position de principe claire et intransigeante, et de recréer une communauté semblable à celle du AI Lab, qui avait elle inexorablement disparu3.

1 Jusqu’au début des années 1980, la licence d’Unix était cédée aux universités sans demande de royalties, moyennant le seul paiement de frais de services minimaux (entre 150 et 800 dollars). La licence autorisait les modifications du système, tant que celles-ci n’avaient pas de visée commerciale, et n’étaient pas distribuées en dehors des laboratoires de recherche. Cf. Christopher KELTY, Two Bits, op. cit., p. 127.
2 Cela donna lieu à de longues batailles judiciaires, notamment entre AT&T et Berkeley, qui aboutirent à l’abandon du développement de BSD par Berkeley en 1994. Plusieurs versions de BSD furent ensuite développées par différentes communautés hors du cadre universitaire : Net BSD, Free BSD, et Open BSD. Voir aussi dans la partie « Documents » à la fin de ce volume : Document 1. Les systèmes d’exploitation développés à partir d’Unix.
3 De nombreuses pratiques de portage et de co-développement d’Unix se situaient dans une zone légale relativement indéterminée. Même au sein du Bell Labs, les choses étaient peu clairs, dans la mesure où les vues des juristes de l’entreprise, désireux de stabiliser les versions du système pour les protéger légalement, étaient opposées à celles de Ken Thompson, qui voyait lui le développement d’Unix comme un « continuum ». Cf. Christopher KELTY, Two Bits, op. cit., p. 130-131.

Richard Stallman ne commença à travailler sur le projet qu’en janvier 1984. Il quitta alors le MIT pour éviter que l’université ne puisse réclamer des droits sur le système d’exploitation en chantier, et ne cherche à lui imposer ses propres conditions de distribution. Le président du AI Lab, Patrick Winston, lui permit malgré tout de continuer à utiliser les installations du laboratoire et de conserver son bureau. Cela n’était pas un luxe, d’autant que la tâche s’avérait plus ardue encore que ce qu’il avait pu imaginer. Non seulement l’univers technique d’Unix était étranger à la culture informatique de Stallman, habitué à travailler sur le matériel extrêmement puissant du MIT, mais le travail à accomplir était énorme. Et bien que le projet eût suscité quelques réactions de sympathie, il avait attiré peu de contributeurs. GNU était ainsi loin d’avoir fédéré une communauté comparable à celle du AI Lab, et il apparaissait davantage comme une sorte d’îlot de résistance, un peu héroïque et assez dérisoire.

Richard Stallman consacra la majeure partie de la première année à l’écriture d’une version GNU d’Emacs, l’éditeur dont il avait lui-même coordonné le développement pendant ses années au MIT. En mars 1985, la sortie de GNU Emacs donna au système d’exploitation en devenir un début de réalisation tangible. Elle fut suivie par la publication du « manifeste GNU »1, qui exposait pour la première fois dans le détail les buts et les principes du projet, tout en répondant aux objections les plus courantes qui lui avaient été faites depuis son lancement. GNU commençait alors à susciter un intérêt un peu plus large, et Richard Stallman décida bientôt de créer une organisation afin de mieux gérer divers aspects pratiques, notamment le financement et la distribution des logiciels. Il s’entoura pour ce faire de quelques amis hackers, et la Free Software Foundation (FSF) vit le jour le 4 octobre 1985. Il s’agissait (et il s’agit toujours) d’une organisation à but non lucratif, financée essentiellement par les dons de particuliers, mais aussi par la vente des logiciels GNU2. La création de la FSF permit de donner plus de visibilité au projet, en même temps qu’elle entérina l’usage du terme « free software », que Stallman avait forgé peu auparavant.

1 « Afin de pouvoir continuer à utiliser les ordinateurs sans violer mes principes, j’ai décidé de rassembler une quantité suffisante de logiciels libres, de manière à ce que je puisse m’en tirer sans aucun logiciel qui ne soit pas libre ». Cf. Richard M. STALLMAN, « Initial GNU Announcement », op. cit. Cela ne signifie pas que tous les logiciels du système GNU doivent avoir été programmés dans le cadre du projet GNU. Du reste, quand il se lança dans cette aventure au long cours, Stallman commença par essayer de trouver des logiciels préexistants qu’il pourrait utiliser ou adapter. Autrement dit, il n’a jamais refusé de reprendre des logiciels produits ailleurs, à condition que ceux-ci respectent scrupuleusement les principes du logiciel libre.
2 La compatibilité avec Unix semblait à Richard Stallman être une solution de bon sens. En effet, faire un système compatible avec MSDOS ou CP/M lui semblait peu intéressant du fait du niveau technologique inférieur de ceux-ci. Par ailleurs, les systèmes les plus élaborés du moment, comme la machine Lisp, présentaient l’énorme désavantage d’être trop liés à des constructeurs de matériels particuliers, sur le modèle de la deuxième informatique. Unix présentait donc un bon compromis entre ces deux extrêmes, du fait de sa robustesse, de son nombre d’utilisateurs déjà conséquent, et surtout de sa « portabilité » sur un grand nombre de machines.
3 « Je me suis demandé s’il y avait un ou des programmes que je pouvais écrire, de sorte qu’une communauté soit possible à nouveau » écrit Richard Stallman, quand il relate le cheminement intellectuel l’ayant amené à commencer le projet GNU. Cf. Richard M. STALLMAN, « The GNU Project » in Free Software, Free Society : Selected Essays of Richard M. Stallman, Boston, GNU Press, 2002, p. 17-32, en ligne : www.gnu.org/philosophy/fsfs/rms-essays.pdf (consulté le 18/05/2010).

Quelques mois plus tard, en février 1986, la FSF publia dans son bulletin la première définition formelle du logiciel libre. Dans le but d’éviter toute équivoque sur le terme anglais de « free », il y était précisé que celui-ci faisait référence à la liberté et non à la gratuité, cette dernière n’étant éventuellement qu’un effet de bord induit. Deux « libertés » conférées aux utilisateurs étaient plus précisément nommées :

Premièrement, la liberté de copier un programme et de le redistribuer à vos voisins, pour qu’ils puissent l’utiliser comme vous. Deuxièmement, la liberté de modifier un programme, afin que vous puissiez le contrôler au lieu que celui-ci vous contrôle; pour cela, le code source doit être disponible.3

Cette définition fut régulièrement précisée et complétée par la suite, aboutissant peu à peu à la formalisation des quatre libertés du logiciel libre : utilisation, modification, copie et redistribution, y compris de versions modifiées.

1 Richard M. STALLMAN, « The GNU Manifesto » in Free Software, Free Society : Selected Essays of Richard M. Stallman, op. cit., p. 33-42.
2 Il pourra paraître étrange que la Free Software Foundation ait décidé de vendre des logiciels qui, en tant qu’ils étaient libres, étaient susceptibles d’être acquis gratuitement par n’importe qui connaissant un utilisateur pouvant les lui copier. En réalité, outre la difficulté pratique que pouvait parfois représenter le fait de se procurer un logiciel par ses propres moyens, il s’agissait pour les premiers utilisateurs de GNU du meilleur moyen de soutenir financièrement le projet. Comme Stallman l’écrivait dans le Manifeste GNU : « Certains utilisateurs obtiendront peut- être des copies des logiciels gratuitement, alors que d’autres paieront pour obtenir ces copies. Si l’argent récolté sert à améliorer le logiciel, tout est au mieux. L’important est que chaque détenteur d’une copie ait la liberté de coopérer avec d’autres en l’utilisant ». Cf. Richard M. STALLMAN, « The GNU Manifesto » in Free Software, Free Society : Selected Essays of Richard M. Stallman, op. cit.
3 Richard M. STALLMAN, « What is the Free Software Foundation ? », GNU’s Bulletin, février 1986, volume 1 n° 1, en ligne : http://www.gnu.org/bulletins/bull1.txt (consulté le 07/09/2010).

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