Linux et GNU

Richard Stallman

Version du 19980407, (date du document original : 19980216)


Adaption française de http://www.gnu.org/gnu/linux-and-gnu.html réalisée par Nat avec l'aide de l'auteur.

1. Linux et le projet GNU

De nombreuses personnes emploient chaque jour, sans le savoir, une version modifiée du système GNU. À la suite de diverses péripéties, la version la plus répandue du « système d'exploitation GNU » est souvent appelé « Linux », dont de nombreux utilisateurs ignorent tout des relations avec GNU.

Linux existe en tant que tel : il s'agit d'un noyau, dont ces utilisateurs profitent. Mais nul ne peut se contenter d'un noyau, qui n'est utile qu'en tant que composant du système d'exploitation. Les noyaux Linux sont typiquement utilisés avec une variante du système GNU. Un ensemble de ce type est en fait un « système GNU basé sur Linux ».

Beaucoup d'utilisateurs ne sont pas pleinement conscients des limites qui séparent le noyau, donc Linux, du logiciel système dans son ensemble, qu'ils appellent aussi « Linux ». L'utilisation ambiguë de ce vocable ne rend pas les choses plus claires.

Les développeurs savent le plus souvent que Linux est un noyau. Mais eux aussi entendent sans cesse l'ensemble du système être appelé « Linux », ils en concluent donc que sa genèse correspond à cette dénomination. Certains croient, par exemple, que lorsque Linus Torvalds disposa d'un noyau stable ses amis cherchèrent d'autres logiciels libres et découvrirent presque tous les composants d'un système d'exploitation à la mode Unix, qui existaient sans raison particulière.

Ces composants n'existaient pas par hasard, ils constituaient en fait le système GNU. Ces logiciels libres composaient un système complet car le projet GNU oeuvrait depuis 1984 à cette fin, comme l'expose le Manifeste du GNU qui annonce l'objectif : développer un système d'exploitation à la mode Unix, libre et appelé GNU. Alors que Linux commençait à devenir utilisable, le système GNU était quasi terminé.

Assouvir un besoin précis demeure l'objectif qui préside à la plupart des projets de logiciels libres. Linus Torvalds, par exemple, souhaitait réaliser un noyau de type Unix, Donald Knuth voulait disposer d'un logiciel de mise en page (TeX), Bob Scheifler s'employa à réaliser un système de fenêtrage ( X Window). Il semble possible d'évaluer l'apport de projets de ce type d'après celui des logiciels correspondants.

Tâchons d'évaluer l'apport du projet GNU de cette façon. Un vendeur de CD estima que le logiciel GNU constitue la majeure partie de sa « distribution Linux » : environ 28% du code source, dont certains éléments essentiels sans lesquels l'ensemble ne fonctionnerait pas. Le source de Linux même représente 3% de l'ensemble. Donc, si vous deviez lui choisir un nom en fonction de celui de ses développeurs, le nom le plus approprié serait « GNU ».

Mais nous n'adoptons pas ce mode d'analyse. Le projet GNU ne visait, ni ne vise, à réaliser un logiciel donné. Il ne s'agissait pas uniquement pour nous de développer un compilateur C, ni de mettre à disposition un éditeur de texte, même si nous avons rempli ces missions. L'objectif du projet GNU a toujours été de bâtir un système de type Unix, libre et complet.

De nombreuses personnes nous ont offert des contributions majeures et méritent toutes d'être citées. Mais ce qui fait de GNU un système et non une simple collection de programmes est qu'il a d'emblée été entrepris afin d'en constituer un. Nous avons développé des composants essentiels, quoique peu enthousiasmants à réaliser : par exemple, l'assembleur et l'éditeur de liens (« linker »), parce qu'un système complet doit offrir ces outils. Il doit comprendre plus que des utilitaires de développement et nous avons donc aussi porté nos efforts sur les autres logiciels, par exemple sur « bash », l'interpréteur PostScript ghostscript, et la bibliothèque C du GNU.

Nous disposions donc, au début des années 1990, de tous les composants mais pas encore du noyau, car le nôtre, appelé GNU Hurd et construit au-dessus de MACH, était encore en gestation. Son développement s'est avéré beaucoup plus difficile que prévu et nous le parachévons en ce moment même.

Linux fonctionne à présent, nous n'avons donc heureusement pas à attendre Hurd. Linus Torvalds, en le développant, a comblé un manque important car les utilisateurs peuvent à présent disposer d'un système libre cohérent : un « système GNU basé sur Linux » (ou « GNU/Linux »).

Rassembler ces deux entités en un tout homogène n'a pas été simple. Il a fallu modifier en profondeur la bibliothèque C du GNU et réaliser des distributions fonctionnant sitôt installées. Cela impliquait de résoudre les problèmes posés par l'installation et le démarrage (« boot ») du système, tâches auxquelles le projet GNU n'avait pas encore consacré d'étude, faute d'avoir atteint ce stade. Les développeurs des diverses distributions ont donc produit d'importantes contributions.

GNU mis à part, un seul projet a engendré de façon indépendante un système libre à la mode Unix : il s'agit de BSD, développé à l'Université de Berkeley (Californie). Ses développeurs se sont parfois inspiré de GNU et ont reçu divers encouragements de certains activistes du GNU, mais leur ouvrage n'a qu'assez peu de points communs avec le nôtre. Les systèmes BSD comprennent aujourd'hui du logiciel GNU et ce dernier, ainsi que ses variantes, intègrent des composants issus de BSD mais, considérés dans leurs ensembles, ces deux systèmes demeurent différents et ont évolué séparément. Un système d'exploitation libre moderne découle très certainement de l'un ou bien de l'autre.

Le projet GNU participe à la réalisation de GNU/Linux aussi bien qu'à celle du système GNU lui-même. Nous avons payé la réécriture des extensions de la bibliothèque GNU C spécifiques à Linux afin de l'y intégrer au mieux, et GNU/Linux exploite à présent la version standard. Nous avons également aidé les membres du projet alors naissant de distribution Debian GNU/Linux.

Nous travaillons à présent surtout grâce à des machines fonctionnant sous GNU/linux et nous vous invitons à en faire autant. Mais, je vous en prie, ne cultivez pas l'amalgame en utilisant le nom « Linux » de façon ambiguë. Linux est le noyau, l'un des principaux composants du système. Le système lui-même reste plus ou moins d'origine GNU.

Copyright 1997, 1998 Richard Stallman