English [en]   العربية [ar]   български [bg]   català [ca]   Česky [cs]   Deutsch [de]   ελληνικά [el]   español [es]   فارسی [fa]   français [fr]   עברית [he]   hrvatski [hr]   Bahasa Indonesia [id]   italiano [it]   日本語 [ja]   한국어 [ko]   മലയാളം [ml]   Nederlands [nl]   polski [pl]   português do Brasil [pt-br]   română [ro]   русский [ru]   slovenščina [sl]   Shqip [sq]   српски [sr]   தமிழ் [ta]   Tagalog [tl]   українська [uk]   简体中文 [zh-cn]   繁體中文 [zh-tw]  

Rencontrez les personnes qui contribuent à améliorer GNU, au GNU Hackers' Meeting !

Le 8ème GNU Hackers' Meeting aura lieu à Munich, en Allemagne, du 15 au 17 août 2014. Pendant ces trois jours, il y aura des conférences sur les nouveaux programmes GNU, l'état du système GNU et les dernières nouvelles de la communauté du logiciel libre.

Inscrivez-vous maintenant pour réserver votre place.

L'original de cette page est en anglais.

Linux et le système GNU

par Richard Stallman

Pour plus de détails, consultez aussi la FAQ GNU/Linux et Pourquoi GNU/Linux ?

Beaucoup d'utilisateurs d'ordinateurs utilisent une version modifiée du système GNU tous les jours sans même s'en rendre compte. À la suite d'une tournure particulière des événements, la version de GNU qui est largement utilisée aujourd'hui est souvent appelée « Linux » et beaucoup de ses utilisateurs ne savent pas qu'il s'agit essentiellement du système GNU, développé par le projet GNU.

Il existe vraiment un Linux, et ces personnes l'utilisent, mais c'est juste une partie du système qu'ils utilisent. Linux est le noyau : le programme du système qui alloue les ressources de la machine aux autres programmes qu'on exécute. Le noyau est une partie essentielle du système d'exploitation, mais seul il est inutile ; il ne peut fonctionner que dans le contexte d'un système d'exploitation complet. Linux est normalement utilisé en combinaison avec le système d'exploitation GNU : le système complet est essentiellement GNU auquel on a ajouté Linux, ou GNU/Linux. Toutes les distributions appelées « Linux » sont en réalité des distributions GNU/Linux.

Beaucoup d'utilisateurs ne font pas la distinction entre le noyau, Linux, et le système entier qu'ils appellent aussi « Linux ». L'usage ambigu de ce nom ne facilite pas la compréhension. Ces utilisateurs pensent que Linus Torvalds a développé tout le système d'exploitation en 1991, avec un peu d'aide.

Les programmeurs savent en général que Linux est un noyau. Mais puisque généralement ils ont entendu parler du système entier sous le même nom, « Linux », souvent ils conçoivent une histoire qui justifierait cette appellation. Par exemple, beaucoup croient que dès que Linus Torvalds a achevé l'écriture de Linux, le noyau, ses utilisateurs ont recherché d'autres logiciels libres pour le compléter et que, sans raison particulière, presque tout ce qui était nécessaire à un système de type Unix était déjà disponible.

Ce qu'ils ont trouvé n'était pas un accident : c'était le système GNU pas tout à fait complet. Les logiciels libres disponibles complétèrent le système parce que le projet GNU travaillait à en concevoir un depuis 1984. Le manifeste GNU présente l'objectif de développer un système de type Unix, appelé GNU. L'annonce initiale du projet GNU décrit aussi quelques-uns des plans originaux pour le système GNU. Au moment où Linux a été lancé, GNU était presque terminé.

La plupart des projets de logiciel libre ont pour but de développer un programme particulier pour accomplir une tâche particulière. Par exemple, Linus Torvalds s'est attelé à écrire un noyau de type Unix (Linux) ; Donald Knuth s'est attelé à écrire un programme de formatage de texte (TeX) ; Bob Scheifler s'est attelé à développer un système de fenêtrage (X Window System). Il est naturel de mesurer la contribution de ce type de projet par les programmes spécifiques qui proviennent du dit projet.

Si nous essayions de mesurer la contribution du projet GNU de cette manière, à quelle conclusion arriverions-nous ? Un distributeur de CD-ROM a constaté dans sa « distribution de Linux » que les logiciels GNU représentaient le plus gros contingent, environ 28% du code source total, et que cela incluait quelques-uns des composants majeurs essentiels sans lesquels il n'y aurait pas de système. Linux lui-même n'y prenait une part que de 3% (les proportions sont similaires en 2008 : dans le répertoire main de gNewSense, Linux a une part de 1,5% et les paquets GNU de 15%). Alors s'il fallait trouver un nom pour le système en se basant sur qui avait écrit les programmes qui le composent, le choix le plus approprié pour un nom unique serait « GNU ».

Mais ces considérations laissent de côté le fond du problème. Le projet GNU n'était pas, et n'est pas, un projet destiné à développer des paquets logiciels spécifiques. Ce n'était pas un projet pour développer un compilateur C, bien que nous l'ayons fait. Ce n'était pas non plus un projet pour développer un éditeur de texte, bien que nous en ayons développé un. L'objectif final du projet GNU est de développer un système de type Unix, complet et libre : GNU.

Beaucoup de gens ont apporté des contributions majeures aux logiciels libres qu'on trouve dans le système et elles méritent toutes de la reconnaissance. Mais la raison pour laquelle c'est un système – et pas seulement une collection de programmes utiles – est que le projet GNU s'est donné pour objectif d'en concevoir un. Nous avons dressé une liste des programmes nécessaires pour faire un système libre complet et nous avons systématiquement écrit ou trouvé des gens pour écrire toutes les choses mentionnées sur la liste. Nous avons écrit des composants majeurs et essentiels mais non passionnants1 parce qu'on ne peut pas avoir de système sans eux. Certains de nos composants système, les outils de programmation, sont devenus populaires parmi les programmeurs, mais nous avons aussi écrit beaucoup de composants qui ne sont pas des outils2. Nous avons même développé un jeu d'échec, GNU Chess, car un système complet a aussi besoin de jeux.

Au début des années 90 nous avions rassemblé le système complet à part le noyau. Nous avions aussi commencé un noyau, le GNU Hurd, qui s'exécute au-dessus de Mach. Le développement de ce noyau fut bien plus difficile que prévu ; le GNU Hurd a commencé à fonctionner de manière fiable en 2001, mais est encore loin d'être prêt pour un usage grand public.

Heureusement, nous n'avons pas eu à attendre Hurd, grâce à Linux. Quand Linus Torvalds a libéré Linux en 1992, il a bouché le dernier trou du système GNU. Les gens purent alors adjoindre Linux au système GNU pour obtenir un système libre complet : une version du système GNU qui contenait aussi Linux ; autrement dit, le système GNU/Linux.

Les faire fonctionner ensemble n'était pas un travail trivial. Certains composants GNU3 demandaient des changements substantiels pour fonctionner avec Linux. L'intégration d'un système complet en une distribution qui pourrait fonctionner « au déballage » fut un travail tout aussi grand. Il fallait résoudre la question de l'installation et du démarrage du système – un problème auquel nous ne nous étions pas attaqué car nous n'en étions pas encore là. Les personnes qui ont développé les diverses distributions du système ont donc effectué un travail essentiel. Mais c'était du travail qui, de toute façon, allait certainement être réalisé par quelqu'un.

Le projet GNU soutient les systèmes GNU/Linux ainsi que le système GNU. La FSF a financé la réécriture des extensions propres à Linux de la bibliothèque C de GNU de sorte qu'elles sont maintenant bien intégrées, et les systèmes GNU/Linux les plus récents emploient la bibliothèque actuelle sans aucune modification. La FSF a aussi financé le développement de Debian GNU/Linux à ses débuts.

Aujourd'hui il existe de nombreuses variantes du système GNU/Linux souvent appelées « distributions ». La plupart d'entre elles incluent des logiciels non libres : leurs développeurs suivent la philosophie associée à Linux plutôt que celle de GNU. Mais il y a aussi des distributions de GNU/Linux entièrement libres. La FSF fournit le matériel informatique à deux de ces distributions, Ututo et gNewSense.

Pour faire une distribution libre de GNU/Linux, il ne suffit pas d'éliminer divers programme non libres. Aujourd'hui, les versions ordinaires de Linux contiennent également des programmes non libres. Ces programmes sont destinés à être chargés dans des périphériques d'entrée/sortie quand le système démarre, et ils sont inclus, sous forme de longues séries de nombres, dans le « code source » de Linux. De ce fait, maintenir une distribution libre de GNU/Linux inclut maintenant également la maintenance d'une version libre de Linux.

Que vous utilisiez GNU/Linux ou non, veuillez ne pas semer la confusion en utilisant le nom « Linux » de manière ambiguë. Linux est le noyau, un des composants majeurs essentiels du système. Le système dans son ensemble est fondamentalement le système GNU auquel on a ajouté Linux. Quand vous parlez de cette combinaison, veuillez l'appeler « GNU/Linux ».

Si vous voulez indiquer une référence vers « GNU/Linux », cette page et http://www.gnu.org/gnu/the-gnu-project.html sont de bons choix. Si vous voulez indiquer une référence à Linux, le noyau, http://foldoc.org/linux est une bonne URL à utiliser.

Addendum : outre GNU, un autre projet a produit de manière indépendante un système d'exploitation libre de type Unix. Ce système est connu sous le nom de BSD et a été développé à l'université de Californie à Berkeley. Il n'était pas libre dans les années 80, mais le devint au début des années 90. Tout système d'exploitation libre existant aujourd'hui4 est fort probablement soit une variante de GNU, soit un système de type BSD.

Quelquefois les gens demandent si BSD est aussi une version de GNU, comme GNU/Linux. Les développeurs de BSD ont été conduits à rendre leur travail libre par l'exemple du projet GNU, et des appels explicites des activistes de GNU les y ont encouragé, mais leur code ne recouvrait que très partiellement celui de GNU. Les systèmes BSD utilisent aujourd'hui quelques logiciels GNU, de même que le système GNU et ses variantes font usage de quelques logiciels BSD ; mais dans l'ensemble ce sont deux systèmes différents qui ont évolué séparément. Les développeurs de BSD n'ont pas écrit un noyau qu'ils auraient ajouté au système GNU, et un nom tel que GNU/BSD ne refléterait pas la situation.5

Notes :

  1. Ces composants non passionnants mais essentiels comprennent l'assembleur GNU (GAS) et le linker (GLD) qui font actuellement partie du paquet GNU Binutils, GNU tar, etc.
  2. Par exemple, le Bourne Again SHell (BASH), l'interpréteur PostScript Ghostscript, et la bibliothèque C de GNU ne sont pas des outils de programmation ; GNUCash, GNOME et GNU Chess non plus.
  3. Par exemple, la bibliothèque C de GNU.
  4. Depuis que ceci a été écrit, un système presque entièrement libre de style Windows a été développé, mais techniquement il n'est pas du tout comme GNU ou Unix, donc cela n'affecte pas vraiment ce problème. La majeure partie du noyau de Solaris a été libérée, mais si vous voulez en faire un système libre, outre remplacer les parties manquantes du noyau, vous aurez aussi besoin de l'intégrer à GNU ou BSD.
  5. Toutefois, dans les années qui ont suivi l'écriture de cet article, la bibliothèque C de GNU a été portée sur plusieurs versions du noyau BSD, ce qui permit de combiner le système GNU avec ce noyau. Tout comme avec GNU/Linux, ce sont des variantes de GNU, et elles sont par conséquent appelées GNU/kFreeBSD et GNU/kNetBSD en fonction du noyau du système. Les utilisateurs ordinaires des bureaux classiques peuvent difficilement faire la différence entre GNU/Linux et GNU/*BSD.

[logo de la FSF]« Notre mission est de préserver, protéger et promouvoir la liberté d'utiliser, étudier, copier, modifier et redistribuer les programmes informatiques, et de défendre les droits des utilisateurs de logiciel libre. »

La Fondation pour le logiciel libre (FSF) est le principal sponsor institutionnel du système d'exploitation GNU. Soutenez GNU et la FSF en achetant des manuels et autres, en adhérant à la FSF en tant que membre associé, ou en faisant un don, soit directement à la FSF, soit via Flattr.

Haut de la page