Linux ou GNU/Linux
Le débat « Linux ou GNU/Linux » est une controverse divisant les partisans du logiciel libre sur le nom à donner aux systèmes d'exploitation fondés sur le système GNU et un noyau Linux. Les plus nombreux (avec le grand public) l'appellent simplement « Linux », les autres (peut-être plus proches du projet GNU) l'appellent « GNU/Linux ».
Contexte
modifierHistorique
modifierLe système d'exploitation GNU est fondé en 1983 par Richard Stallman dans le but de fournir un équivalent libre à Unix. En 1991, Linus Torvalds crée le noyau Linux. À ce moment, GNU est quasiment prêt à l'exception de son noyau, Hurd. L'association de Linux avec GNU permet ainsi de créer un système d'exploitation libre.
Le nom « GNU/Linux » fut utilisé pour la première fois par Debian en 1994 pour le nom de leur distribution du système d'exploitation basé sur le noyau Linux et des logiciels GNU. (En 1992, la distribution Yggdrasil fut appelée Linux/GNU/X.) Dans le Bulletin GNU de , Linux y est référé comme un « clone libre d'Unix » (comportant de nombreux utilitaires et bibliothèques GNU). Dans l'édition de , les références à Linux furent changées en « GNU/Linux ».
« Lignux »
modifierEn mai 1996, Richard M. Stallman sort la version 19.31 d'Emacs, changeant le système cible « Linux » en « Lignux », en arguant qu'il donne ainsi sa pleine légitimité au projet GNU, d'où découlent les termes « système Linux basé sur GNU », « système GNU/Linux » ou « Lignux » se référant à la combinaison du noyau Linux et le système GNU. Richard M. Stallman arrêta finalement d'utiliser le terme « Lignux » pour ne plus utiliser que celui de « GNU/Linux ».
Succès mitigé de « GNU/Linux »
modifierSa demande d'appeler le système complet « GNU/Linux » a rencontré un succès mitigé. Seules quelques distributions ont suivi l'exemple de Debian en appelant leur système « GNU/Linux ».
L'univers linuxien ainsi que la plupart des médias ne lui ont pas emboîté le pas. Parmi le mouvement des utilisateurs de logiciels libres et le mouvement « open source », certains ont suivi cette demande, beaucoup d'autres l'ont ignorée ou s'y sont opposés.
Par ailleurs, les noms GNU et Linux ont intentionnellement été rapprochés de la dénomination Unix, laquelle s'est toujours reportée aux outils et l'environnement de développement C aussi bien qu'au noyau lui-même. L'auteur du noyau, Linus Torvalds, a écrit, dans le rapport de licence pour la version 0.11 de Linux (qui n'était pas sous GPL jusqu'à la version 0.12) :
« Malheureusement, un noyau seul ne vous sert à rien. Pour avoir un système qui fonctionne, vous avez besoin d'un interpréteur de commandes, d'un compilateur, d'une bibliothèque, etc. Ce sont des éléments séparés et ils peuvent être sous copyright plus strict (voire plus permissif). La plupart des outils utilisés avec Linux sont des logiciels GNU et sont sous licence copyleft GNU. Ces utilitaires ne sont pas dans la distribution. Contactez-moi (ou contactez GNU) pour plus d'informations. »
Il y a en outre un décalage entre
- la définition technique qu'ont les professionnels de l'informatique d'un « système d'exploitation » qui correspond à cette combinaison du noyau Linux et des nombreux utilitaires GNU ;
- la perception qu'en ont les utilisateurs, pour lesquels l'interface joue un rôle essentiel.
Ainsi les premiers parleront de GNU+Linux ou de Darwin comme d'un système d'exploitation complet, alors que les seconds utiliseront ce terme pour désigner GNOME, KDE ou l'interface de OS X, se rapprochant plus à une définition approximative « ce qui leur permet de fonctionner ». Dans ce sens, le système d'exploitation appelé Linux est un ensemble encore plus vaste que la réunion GNU+noyau Linux, et le terme GNU/Linux apparaît à son tour trop restrictif.
Relation entre GNU et Linux
modifierSi le noyau Linux est généralement associé aux outils GNU lorsqu'il est utilisé sur ordinateur personnel, station de travail, ou serveur informatique, ce n'est souvent pas le cas en informatique embarquée, sur smartphone et conteneur, qui constituent la majorité des utilisations du noyau Linux. Dans ce cas, le débat sur le nom ne se pose pas.
Ainsi, il existe plusieurs systèmes d'exploitation basées sur un noyau Linux, qui n'incluent pas ou très peu de composants du projet GNU, les remplaçant par leurs équivalents BSD ou spécialement réécrits (tels que uClibc et BusyBox). Un exemple est la distribution Alpine Linux. Android et ses dérivés (LineageOS et Replicant) utilisent le noyau Linux mais ne sont pas basés sur GNU.
De même, il est tout à fait possible d'utiliser des outils GNU sans Linux. Cela a longtemps été les cas sur Unix. Sur Windows, Cygwin et MinGW fournissent des outils GNU. Debian a également créé deux versions de GNU utilisant un noyau issu de BSD : Debian GNU/kFreeBSD et Debian GNU/NetBSD.
Les distributions entièrement basée sur GNU restent en revanche assez confidentielles. Debian GNU/Hurd publie tous les 2 ans depuis 2011 une version avec environ 80 % des paquets Debian, mais qui ne supporte que l'ancienne architecture 32 bits des microprocesseurs x86[1]. Arch Hurd périclite depuis 2011[2]. Guix prépare sa version utilisant Hurd.
Arguments en faveur de « Linux »
modifierPour le grand public, ces systèmes d'exploitation sont connus essentiellement sous le nom de « Linux ».
Les principaux arguments pour ce nom sont les suivants :
- simplicité : il s'agit d'un nom plus simple à prononcer que GNU/Linux ;
- historique : en général, c'est ce nom qui a été le plus favorisé au fil du temps ;
- convention : s'il fallait honorer tous les projets engagés, on devrait mentionner également X Window System, etc., et le nom deviendrait X/GNU/Linux, etc. ;
- argument hiérarchique : selon les tenants de cet argument, le noyau est ce qu'il y a de plus important dans un système d'exploitation.
Les plus célèbres des défenseurs de cette position sont Linus Torvalds[3], concepteur originel de Linux, et Jim Gettys[4], l'un des concepteurs de X Window System.
Argument de simplicité
modifierCertaines raisons pour lesquelles les gens se réfèrent au système sous le nom de « Linux » plutôt que « GNU/Linux » sont tout simplement que le premier est plus court et plus facile à dire, mais aussi car Richard Stallman n'a demandé d'appeler le système « GNU/Linux » qu'à partir de la fin des années 1990, soit bien après que le système ne fut devenu populaire.
Concernant la longeur du terme, le projet GNU répond entre autres ceci :
« Cela ne prend qu'une seconde de dire ou d'écrire « GNU/ ». Si vous appréciez le système que nous avons développé, ne pouvez-vous passer une seconde à reconnaître notre travail ?[5] »
Argument de la convention
modifierJim Gettys, l'un des concepteurs de X Window, est entré dans le débat en défendant le nom « Linux ». Disant ne pas se soucier beaucoup des noms, il ajoute :
« Savoir, à l'heure actuelle, si Linux est le nom correct, si c'est un nom incorrect ou une partie du nom correct, n'a aucune importance. C'est un nom simple, accrocheur, d'un usage largement répandu, qui désigne la convergence de technologies qui incluent le noyau Linux, le système X Window, les logiciels GNU, les logiciels BSD, et de nombreuses autres contributions, de milliers de personnes. »
— Jim Gettys Cf. (en) « Linux or GNU/X/BSD/Linux/(...) ? - Jim Gettys opinion », sur linux-gull.ch, (version du sur Internet Archive) et « Linux, GNU/X/BSD/Linux, ou pire? - Le point de vue de Jim Gettys », sur linux-gull.ch, (version du sur Internet Archive).
Venant d'un acteur relativement majeur, et extérieur au développement du noyau Linux, cet argument peut prendre un grand poids selon les avis. Il affirme qu'il est trop tard pour changer de nom.
Le journaliste Bruce Byfield (en) argue lui que ceux utilisant cet argument le minimise rapidement en enchaînant sur des attaques concernant Richard Stallman et la Fondation pour le logiciel libre, attaques semblant être leur « vrai » message[6].
Dans sa foire aux questions concernant la controverse sur le nom, le projet GNU reconnait l'importance d'autres projets comme systemd mais argue qu'ils sont bien moins importants[7],[8]. Aussi, l'on peut se demander pourquoi mentionner ces projets si l'on tient compte de la diversité logicielle comme X vs. Wayland voire non-utilisation comme dans le cas des serveurs ?
Arguments en faveur de « GNU/Linux »
modifierGNU/Linux est le terme que promeut le projet GNU et ses supporters, en particulier Richard M. Stallman, son fondateur et principal activiste, pour se référer au système d'exploitation libre GNU basé sur un noyau Linux, les composantes GNU pouvant fonctionner sur d'autres noyaux.
Les principaux arguments de cette position sont les suivants :
- argument d'antériorité : GNU existait avant Linux ;
- argument de la confusion : le public risque d'attribuer à Linux ce qui vient du projet GNU ;
- argument philosophique : le public risque de ne pas connaître ou d'oublier les principes GNU qui s'appliquent pour Linux et qui sont à l'origine des logiciels libres ;
Argument d'antériorité
modifierLeurs arguments de base sont que GNU est un projet en perpétuel développement d'un système d'exploitation libre antérieur au noyau Linux de huit ans et que le noyau de Linus Torvalds n'était que la dernière pièce manquante pour compléter ce projet. Le projet aurait très bien pu faire de ce noyau son noyau principal, mais il a été décidé que les efforts mis dans le développement du noyau Hurd ayant été très grands, il valait mieux les continuer jusqu'au bout. De plus, à l'origine, Linux était un noyau monolithique ne fonctionnant que sur l'architecture x86.
Selon le projet GNU :
« Pourquoi l'appelez-vous GNU/Linux et pas Linux ? La plupart des distributions de systèmes d'exploitation basés sur Linux en tant que noyau sont à la base des versions modifiées du système d'exploitation GNU. Nous avons commencé à développer GNU en 1984, des années avant que Linus Torvalds ne commence à écrire son noyau. Notre objectif était de développer un système d'exploitation entièrement libre. Bien sûr, nous n'avons pas développé tous ses éléments nous-mêmes — mais nous avons montré la voie. Nous avons développé la plupart des composants principaux, formant la plus importante contribution unique du système entier. La vision de base était également la nôtre.
En toute justice, nous devrions avoir au moins une mention équivalente[9]. »
Argument de la confusion
modifierLors de sa création, le noyau Linux n'était pas directement utilisable, car isolé et ne constituant pas à lui seul un système d'exploitation complet. Ses créateurs ont donc très rapidement intégré les autres composants d'un système d'exploitation, à savoir des outils réseau (issus du projet BSD), le serveur graphique X (issu du MIT), et surtout les nombreux outils du projet GNU, lequel travaillait depuis 1983-1984 à élaborer un système d'exploitation complet compatible UNIX. Parmi ces outils adoptés par les premiers développeurs linux figuraient des logiciels comme EMACS (éditeur de texte et de code), GCC (alors simple compilateur C), GDB (débogueur), Bash (langage de script), glibc (implémentation GNU de la bibliothèque standard du C), ... .
Certaines personnes arguent donc que le fait d'appeler le système entier du simple nom du seul noyau entretient la confusion dans l'esprit du grand public entre le noyau linux et le système d'exploitation complet (dont le noyau n'est qu'une partie, et qui est surtout composé d'outils GNU). L'ignorance des faits historiques et techniques (le caractère indispensable de la couche GNU dans les distributions GNU/Linux) ont eu pour conséquence l'utilisation du nom du noyau (linux) pour le système complet. Les grands médias ont ensuite véhiculé et popularisé cette erreur sémantique auprès du grand public.
Ainsi, les médias ont fréquemment fait des amalgames et des erreurs tels que des déclarations affirmant que tout le système d'exploitation Linux (dans le sens populaire) avait été écrit à partir de rien par Linus Torvalds en 1991, que ce dernier dirigeait le développement d'autres composants tels que les interfaces graphiques (il n'est toujours responsable que du développement du noyau), ou que les nouvelles sorties du noyau amènent un changement radical et visible à l'utilisateur, ce qui est en fait le propre des nouvelles versions des environnements de bureau GNOME et KDE.[réf. nécessaire]
Argument philosophique
modifierC'est l'argument que soutiennent le plus activement Richard Stallman, la Free Software Foundation et le projet GNU. Ils soutiennent que nommer Linux sans GNU, c'est risquer d'oublier le principe de liberté sur lequel reposent les logiciels libres à travers leur licence et, dès lors, d'accepter plus facilement des logiciels privateurs de liberté (propriétaires). Le projet GNU étant le premier projet à avoir comme objectif de proposer un système d'exploitation libre, il est juste de nommer le système d'exploitation GNU/Linux puisque cela permet à la fois de connaître l'initiateur de la libération logicielle et d'associer au système d'exploitation l'idée de liberté. Enfin, la motivation première de nombreux développeurs travaillant sur des logiciels libres est l'idéal de liberté associé à ces logiciels et non la commodité. Nommer le système d'exploitation GNU/Linux permet à ces développeurs de se reconnaître en tant que membres de la communauté du logiciel libre. Cela est particulièrement vrai pour ceux qui condamnent l'attitude de Linus Torvalds d'accepter des fichiers privateurs dans le noyau Linux.
Voici un extrait de l'avis de Richard Stallman, l'initiateur du projet GNU, sur la question :
« Si vous appelez notre système d'exploitation «Linux», cela véhicule une idée fausse de l'origine du système, de son histoire et de son but. Si vous l'appelez GNU/Linux, cela transporte (mais pas en détail) une idée correcte.
Mais est-ce important pour notre communauté? Est-ce important que les gens connaissent l'origine, l'histoire et le but du système? Oui, parce que ceux qui oublient l'histoire sont souvent condamnés à la répéter. Le Monde Libre qui s'est développé autour de GNU/Linux n'est pas en sécurité; les problèmes qui nous ont amené à développer GNU ne sont pas complètement éradiqués et ils menacent de revenir.
Quand j'explique pourquoi il est correct d'appeler le système d'exploitation «GNU/Linux» plutôt que «Linux», les gens répondent parfois de la manière suivante :
Bien que le projet GNU mérite le crédit pour son travail, est-ce que cela vaut la peine de s'agiter quand les personnes ne le donnent pas ? Est-ce que la chose importante n'est pas que le travail soit fait et pas celui qui l'a fait ? Vous devriez vous calmer, être fiers du travail bien fait et ne pas vous soucier de crédit.
Ce serait un sage conseil si seulement la situation était telle, si le travail était fait et s'il était temps de se calmer. Si seulement c'était vrai ! Mais les problèmes abondent et il n'est pas temps de considérer le futur comme acquis. La force de notre communauté repose sur son engagement dans la liberté et la coopération. Utiliser le nom GNU/Linux est une manière pour les personnes de se le rappeler et d'informer les autres de ces buts. »
— Richard Stallman, http://www.gnu.org/gnu/why-gnu-linux.fr.html
« GNU » ou « GNU/Linux » ?
modifierUne idée fausse très répandue veut que GNU plaide pour l'appellation GNU/Linux uniquement sur la base du fait que la plupart des outils utilisés avec le noyau Linux sont des créations GNU. Mais Richard M. Stallman écrit dans Linux and the GNU Project :
« Ainsi, si vous deviez choisir le nom pour le système basé sur qui a écrit les programmes dans le système, le premier choix aurait été GNU. Mais nous ne pensons pas que ce soit la bonne méthode de considérer la question. Le projet de GNU n'était pas, et n'est pas, un projet pour développer spécifiquement des logiciels. [...] De nombreuses personnes ont apporté leur contribution au développement des logiciels libres du système et elles ont toutes droit au crédit. Mais le but est la conception d'un système intégré, et non simplement une simple collection de programmes et d'utilitaires, c'est ainsi que le projet GNU s'est attaché à en faire un. Nous avons établi une liste des programmes nécessaires à un système libre complet, et nous avons systématiquement trouvé, écrit, ou déniché des gens pour écrire tout ce qui se trouve sur cette liste. »
— Richard Stallman, Linux and the GNU Project
Aussi, dans la FAQ sur GNU/Linux, Stallman écrit :
Question : "Puisque Linux est une contribution secondaire au projet GNU, ne serait-il pas faux d'appeler le système simplement « GNU » ?"
« Non, ce ne serait pas faux, mais ce n'est pas la meilleure chose à faire. Voici pourquoi nous appelons le système « GNU/Linux » et non simplement « GNU » :
- Ce n'est pas exactement GNU - il a un noyau différent (c'est-à-dire Linux). Faire la distinction entre les deux est utile.
- Ce serait discourtois de demander aux gens de cesser de reconnaître la contribution de Linus Torvalds. Il a effectivement écrit une composante importante du système. Nous voulons être reconnus pour avoir lancé le projet et soutenu le développement du système, mais ce n'est pas une raison pour traiter Linus de la même façon que ceux qui appellent le système Linux nous traitent. Nous sommes fortement en désaccord avec ses opinions politiques, mais nous vivons avec ce désaccord de façon honorable et de façon ouverte, plutôt que d'essayer de discréditer son travail. »
— Richard Stallman, https://www.gnu.org/gnu/gnu-linux-faq.html
Notes et références
modifier- « Debian GNU/Hurd – Nouvelles » (consulté le )
- « Arch Hurd » (consulté le )
- Revolution OS [DVD], Moore, J.T.S. (Produced, Written, and Directed) ()
- « https://lkml.org/lkml/1999/4/5/59 »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?) (consulté le )
- « Free Software Foundation », sur gnu.org (consulté le ).
- (en) « You Say Linux, I Say GNU/Linux » Linux Magazine », sur Linux Magazine (consulté le ).
- « Free Software Foundation », sur gnu.org (consulté le ).
- « Free Software Foundation », sur gnu.org (consulté le ).
- "Pourquoi l'appelez-vous GNU/Linux et pas Linux ?" http://www.gnu.org/gnu/gnu-linux-faq.fr.html#why
Annexes
modifierArticles connexes
modifier- GNU et le projet GNU
- Noyau Linux
- Linux et GNU/Linux