Le 27 septembre 1983, quelques mois après la mainmise d’AT&T sur Unix, Richard Stallman poste un message sur Usenet pour annoncer la naissance du projet GNU, un système d’exploitation libre compatible avec Unix.
Un clone libre d’Unix
GNU signifie GNU’s Not Unix, c’est-à-dire « GNU n’est pas Unix ». C’est un acronyme récursif, l’équivalent linguistique d’un chat qui se mord la queue. L’acronymie récursive est assez répandue en informatique.
Pour Richard comme pour beaucoup d’autres, Unix reste le système d’exploitation de référence, pour toute une série de raisons que nous avons vues.
- Il est multi-tâche et multi-utilisateur.
- Il définit clairement les droits d’accès aux fichiers.
- Il sépare bien proprement les processus.
- Il est conçu dès le départ pour fonctionner en réseau.
Son seul défaut, c’est qu’il n’est pas libre. L’ambition du projet GNU consiste ni plus ni moins à réinventer la roue et proposer un système d’exploitation libre 100% compatible Unix mais qui, justement, n’est pas Unix, c’est-à-dire qu’il n’en contient aucune ligne de code.
Un système d’exploitation comme Unix n’est pas un bloc monolithique. Il est composé d’une multitude de petits programmes, dont chacun s’acquitte d’une tâche bien définie. Cette modularité va considérablement faciliter la tâche au projet GNU, qui se pose comme but concret de remplacer l’un après l’autre chacun des composants d’Unix par un équivalent libre.
C’est donc un projet d’envergure, une vaste mosaïque qu’il s’agit de compléter avec beaucoup de patience, morceau par morceau.
Naissance de la FSF
Richard comprend très vite que le projet GNU a besoin d’une infrastructure légale pour assurer sa pérennité et lui éviter d’être cannibalisé par les éditeurs de logiciels propriétaires. En 1985, il crée la FSF (Free Software Foundation), une organisation à but non lucratif pour la défense et la promotion du logiciel libre. Cette même année, il publie le Manifeste GNU, un texte fondateur qui porte aussi bien sur l’aspect technique et social du projet que sur sa philosophie.
Qu’est-ce qu’un logiciel libre ?
Le terme de « logiciel libre » est également clarifié ; en effet, le terme anglais free comporte une ambiguïté et il s’agit de distinguer free as in free speech (libre dans le sens de « liberté de la parole ») et free as in free beer (gratuit dans le sens de « bière à gogo »). Selon la définition proposée par Richard, un logiciel est libre s’il respecte les quatre conditions fondamentales suivantes.
- la liberté d’utiliser le logiciel
- la liberté de le copier
- la liberté d’en étudier le fonctionnement
- la liberté de le modifier et de redistribuer cette version modifiée
Une seule obligation permet de préserver ces quatre libertés. Toute personne qui souhaite apporter des modifications au code source d’un logiciel – en vue de l’améliorer ou d’en modifier le comportement – est tenue de publier ces modifications sous les mêmes conditions, en respectant à son tour les quatre libertés fondamentales. C’est l’application du principe du copyleft (un jeu de mots sur copyright, « droit d’auteur ») qui évite notamment l’appropriation du code source libre par une entreprise. Ce principe est entériné dans la licence publique générale GNU (ou licence GPL), que Stallman publie en 1989.
Un logiciel libre publié sous licence GPL restera libre indépendamment de toutes les modifications qu’il subira. Cette préservation des quatre libertés fondamentales est garantie par le caractère viral de la GPL.
Progrès du projet GNU
Durant la seconde moitié des années 1980, le projet GNU progresse lentement, mais sûrement. Richard Stallman lui-même démissionne de son poste au MIT en janvier 1984 pour se consacrer entièrement au projet GNU et développer quelques logiciels significatifs :
- un compilateur
- un débogueur
- une collection d’outils basiques
- l’éditeur de texte Emacs
En 1990, l’ensemble des composants est réalisé et il ne manque plus que le noyau du système.
Qu’est-ce qu’un kernel ?
Il se trouve que le noyau – ou kernel – constitue également la partie la plus importante du code, la pièce maîtresse, celle qui se situe le plus près du matériel et qui contrôle les fonctions élémentaires comme la gestion de la mémoire et des processus, le contrôle des périphériques, etc.
Le projet GNU/Hurd
Pour compléter son système d’exploitation libre, la Free Software Foundation lance Hurd, un projet de noyau libre pour les systèmes Unix en général et GNU en particulier. Malheureusement, le développement s’avère long et fastidieux. Le projet va battre de l’aile dès les débuts et Hurd fera progressivement sa descente vers les limbes de ces grands projets informatiques voués à rester éternellement en chantier.
Au moment où j’écris ces lignes – c’est-à-dire trente-deux ans plus tard – la version 1.0 de Hurd n’a toujours pas été publiée.
Lire la suite : Linus Torvalds et Minix
La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.
0 commentaire