GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce qui fait qu'une distribution est GNU et existe-t-il des distributions Linux qui ne sont pas GNU ?

La Free Software Foundation soutient que la majorité des distributions Linux sont en fait des systèmes GNU, qui utilisent un noyau Linux. Ils fondent cette affirmation sur le fait que GNU était un projet de longue date visant à développer un système d'exploitation libre avant l'arrivée de Linux, et que le noyau n'était que la dernière pièce manquante. Ils ont raison dans la mesure où pratiquement toutes les distributions de postes de travail et de serveurs basées sur Linux utilisent au moins certains composants GNU, peut-être surtout la bibliothèque GNU C (glibc), GNU Core Utilities (coreutils) et le shell Bash. De plus, le développement du noyau Linux est intrinsèquement lié à GCC, en raison de l'utilisation des extensions GCC.

Certains systèmes embarqués, peut-être plus particulièrement Android de Google, n'utilisent aucun composant ou bibliothèque GNU. Dans Android, par exemple, la bibliothèque GNU C est remplacée par la propre bibliothèque Bionic C de Google, basée sur BSD. La FSF convient qu'il n'est pas approprié de faire référence à un tel système en tant que "systèmes GNU" ou "GNU/Linux", mais d'un autre côté, elle ne voudrait pas non plus qu'ils soient simplement appelés systèmes "Linux". Au moins, nous pouvons tirer la conclusion qu'il semble y avoir un consensus sur le fait que l'utilisation des outils GNU pour construire le noyau, ne le fait pas faire d'un système un "système GNU".


L'histoire de la terminologie GNU/Linux remonte au début des années 1990.

En 1991, Linus Torvalds a lancé le projet de noyau Linux depuis sa chambre à Helsinki. Peu de temps après, le noyau Linux a commencé à gagner du terrain, aidé par l'essor d'Internet.

Le projet GNU de Richard Stallman prévoyait encore à l'époque d'utiliser le micro-noyau HURD comme noyau du système d'exploitation GNU prévu. Cependant, lorsque les distributions Linux (systèmes d'exploitation libres de type Unix basés sur le noyau Linux) ont commencé à se former autour du nouveau projet de noyau Linux, Stallman s'est intéressé. Lorsque le projet Debian a débuté en 1993, sous la direction de Ian Murdock, la FSF a apporté un soutien financier au jeune projet. Cependant, les développeurs Debian se sont rapidement séparés de Stallman et de la FSF, en partie sur des problèmes techniques. Un problème, par exemple, était que Stallman voulait conserver les symboles de débogage dans le programme, tandis que Debian voulait les supprimer.

Une fois que Debian et la FSF se séparèrent, Stallman demanda à Debian de s'appeler GNU/Linux. La demande a été faite à Bruce Perens, puisque Murdock lui avait confié la direction. Comme ces organisations s'étaient séparées en bons termes et partageaient (et partagent) des objectifs communs, les développeurs Debian ont fait ce qu'il leur avait demandé. Bien sûr, il est vrai que Stallman a promu de tels noms de manière indépendante, mais la coopération d'un système d'exploitation basé sur Linux en se référant à lui-même comme tel a été significative pour promouvoir l'utilisation d'un tel nom.

La justification donnée par Stallman incluait que (a) le cœur du système mis à part le noyau Linux était en grande partie des outils GNU, (b) le noyau Linux était en quelque sorte l'aboutissement/l'achèvement du projet GNU, qui avait essayé de obtenir un noyau fonctionnel pendant un certain temps, il devrait donc utiliser ce nom comme un moyen de reconnaître et de rappeler aux gens les idéaux du projet GNU. La raison (a) a tendance à être mentionnée un peu plus souvent, même si ce n'était pas tout à fait vrai à l'époque, et c'est encore moins vrai maintenant, bien que des parties clairement importantes d'un système d'exploitation basé sur Linux dépendent des outils GNU, par ex. bash, gcc, binutils, gdb, libc etc., dans certains cas, ceux-ci peuvent être remplacés par d'autres outils. Donc, de tels arguments sont pour le moins discutables, et ont, en effet, été beaucoup débattus.

Autant que je sache, seuls Debian et (certains de) ses dérivés (à l'instar de son parent) se désignent sous le nom de GNU/Linux. Cependant, les autres soi-disant distributions Linux telles que Fedora, Gentoo, etc. ne sont en substance pas différentes de Debian - il s'agit principalement du même logiciel. On a donc également de bonnes raisons de les appeler GNU/Linux.

Il n'y a pas beaucoup de systèmes utilisant le noyau Linux sans l'espace utilisateur GNU, puisque les deux se sont largement développés ensemble et sont entrelacés de diverses manières. (Par exemple, le noyau Linux est écrit dans le C étendu (GNU) de gcc et ne sera pas compilé avec un compilateur C standard.) on peut se demander s'il est correct de se référer au noyau Android en tant que Linux, bien qu'il soit question d'une fusion/réconciliation à l'avenir.

En passant, il est regrettable de noter que Stallman et la FSF poussent apparemment assez fort la terminologie GNU/Linux. Par exemple, Jonathan Corbet a écrit dans un commentaire de LWN que la FSF refuse de lui parler à moins qu'il n'utilise le terme GNU/Linux. Jon, en plus d'être l'un des fondateurs de LWN, est également un développeur de noyau senior et respecté. Dans son intégralité, le commentaire dit :

Juste pour être clair là-dessus :nous avons cessé de demander des commentaires à la FSF il y a de nombreuses années parce que la FSF a refusé de nous parler sans promesses préalables de notre part sur ce que nous dirions et quels termes nous utiliserions. Nous ne sommes pas disposés à faire de telles promesses. Si la politique de la FSF sur de telles choses a changé, nous serions heureux de le savoir.

Il s'agit clairement d'une référence à l'insistance sur la terminologie GNU/Linux, entre autres.

L'histoire ci-dessus est couverte en détail dans le chapitre 6 ("Boot Then Root") de "Rebel Code" par Glyn Moody.


Un système d'exploitation est une combinaison d'un noyau et d'un userland. Fondamentalement, le noyau gère le matériel tandis que l'espace utilisateur fournit une interface complète aux utilisateurs.

Dans une distribution GNU/Linux courante, Linux fournit le noyau tandis que le projet GNU apporte les outils utilisateur. GNU a été lancé bien avant Linux et fournit une grande quantité d'utilitaires pour créer un système d'exploitation complet.

Cependant, il leur manquait un noyau. Bien qu'ils aient le noyau Hurd, cela prenait trop de temps pour être prêt. Et puis est venu Linux avec l'aide d'un grand enthousiasme autour de lui, il a évolué plus vite que le Hurd.

Vous avez maintenant un espace utilisateur et un noyau de deux projets différents. Et comme chacun est indispensable pour avoir un système d'exploitation, pourquoi ne pas nommer l'association GNU/Linux pour que chaque projet reçoive sa part du mérite ?

Vous avez d'autres espaces utilisateurs comme les utilitaires BSD ou BusyBox. Cependant ils sont plus ou moins complets par rapport aux utilitaires GNU et certains logiciels ne fonctionneront qu'avec un userland GNU. Par exemple, la plupart des systèmes d'exploitation BSD utilisent GCC comme compilateur tandis que LLVM va bientôt changer cette situation.

Et en tant que système d'exploitation universel, vous pouvez exécuter Debian avec un noyau FreeBSD et un userland GNU.


Linux
  1. Linux - Quelles sont les différentes façons de définir les autorisations de fichiers, etc. sur Gnu/linux ?

  2. Linux - Qu'est-ce que la mémoire élevée et la mémoire faible sous Linux ?

  3. Quelles sont les principales différences entre Bsd et Gnu/linux Userland ?

  4. Comment vérifier les modules PHP et Apache installés sur Linux ?

  5. Quelle est l'explication la plus simple du fait que les applications Windows ne sont pas compatibles avec Linux ?

6 distributions Linux inspirées de l'aspect et de la convivialité de macOS

Les meilleures distributions Linux qui conviennent le mieux aux débutants

Que sont les Snaps et comment les installer sur différentes distributions Linux

Que sont les journaux Linux et où les trouver

Les pires distributions Linux pour les débutants [et quoi choisir]

Comment installer et utiliser GNU Emacs sur les distributions Linux