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
Historique
Le 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 (comportant de nombreux utilitaires et bibliothèques GNU). Dans l'édition de , les références à Linux furent changées en « GNU/Linux ».
« Lignux » En 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 » Sa 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) :
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 macOS, 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
Si 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. Arch Hurd périclite depuis 2011. Guix prépare sa version utilisant Hurd.
Arguments en faveur de « Linux » Pour 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, concepteur originel de Linux, et Jim Gettys, l'un des concepteurs de X Window System.
Argument de simplicité Certaines 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 fut devenu populaire.
Concernant la longueur du terme, le projet GNU répond entre autres ceci :
Argument de la convention Jim 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 :
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 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..
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... 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 » GNU/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é Leurs 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"Pourquoi l'appelez-vous GNU/Linux et pas Linux ?" http://www.gnu.org/gnu/gnu-linux-faq.fr.html#why.
Argument de la confusion Lors 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.
Argument philosophique
C'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.