Pourquoi Linux n’est-il pas adopté en tant que noyau GNU officiel?

128

Bien que je connaisse depuis quelque temps l'existence de Hurd et sa mission en tant que noyau officiel du système d'exploitation GNU, je me demandais pourquoi Linux n'était pas devenu le noyau officiel de GNU au fil des années, vu qu'il était dans un état bien meilleur que le Hurd?

Linux a plus ou moins joué ce rôle depuis plus de 20 ans, mais on peut voir que le projet GNU garde ses distances quand il s'agit de Linux. Pourquoi cela arrive-t-il? Est-ce à cause d'un rêve que Hurd sera (à un moment donné dans l'avenir) dans un niveau de qualité de production? Est-ce parce que le projet GNU ne voit pas sa mission reflétée autant qu'il le souhaite sous Linux? Est-ce pour d'autres raisons politiques?

NlightNFotis
la source
20
Une sorte de question "illégale" ici mais intéressante. Avec un peu de chance, il est protégé pour sa "signification historique" et reçoit des réponses assez brillantes ... ;-)
Hauke ​​Laging
2
@HaukeLaging Thanx mate. Moi aussi, j’ai l’impression que c’est une bonne question, qui peut produire des réponses intéressantes et ne peut pas vraiment comprendre pourquoi une personne voterait de près. Je suis sûr que c'est quelque chose que beaucoup de gens aimeraient savoir.
NlightNFotis
1
Oh, c'est simple: il suffirait que quelqu'un pointe la FAQ et crie "hors sujet" ET "trop ​​large" ...
Hauke ​​Laging
5
@HaukeLaging Vous êtes si vrai, et je souhaite que les gens soient plus pragmatiques et puissent reconnaître une question avec une certaine valeur au lieu de simplement pointer vers la FAQ et crier. On peut facilement voir dans SO les questions les plus intéressantes étant fermées,
rien
4
Je viens juste de relire la FAQ. IMHO c'est sur le sujet ici. Bien que ce soit une méta-question, mais la question en soi concerne Linux / Unix et est très claire.
Nils

Réponses:

151

GNU n'adoptera pas quelque chose en tant que projet à moins que les développeurs n'acceptent certaines dispositions qui lient tous les projets GNU officiels.

Actuellement, le noyau Linux ne correspond probablement pas à ces restrictions, et il n'y a rien pour Linus Torvalds, kernel.org, et al. gagner à se placer sous l'égide de GNU et beaucoup à perdre - l'accord contraignant susmentionné et la perception du public selon laquelle le noyau est maintenant un projet GNU, ce qui aurait un impact principalement négatif. La société mère de GNU, la Free Software Foundation (FSF), est une organisation politique et Torvalds a formulé diverses critiques publiques à son sujet, ainsi que Richard M. Stallman, dirigeant à vie iconoclaste et controversé de la vie de GNU et de la FSF.

De plus, le noyau Linux n’a pas besoin plus de l’espace utilisateur GNU que celui-ci n’exige le noyau Linux. Cette indépendance devrait être considérée comme une bonne chose par les principes de base de l’ingénierie logicielle, qui favorisent la modularité et un couplage plus souple, par opposition à l’inverse (choses monolithiques à couplage étroit).

Un autre point contre cette idée est que si HURD peut ne pas intéresser autant de personnes que Linux, les développeurs et les utilisateurs de HURD peuvent s'opposer à ce que leur projet soit efficacement épinglé dans un concours de popularité. Et bien pour eux; Une "concurrence" de ce type est une chose positive, alors que la monopolisation ne l’est pas - vous vous retrouvez avec des entités massives qui étouffent la créativité en partie parce qu’elles sont sujettes au contrôle monolithique / mégalo. La Linux Foundation est déjà une organisation indépendante, autant rester ainsi.

boucle d'or
la source
13
Merci pour la réponse fantastique. +1 de moi et 2 notes: 1) Ne me comprenez pas mal: j'ai une haute opinion du Hurd. Je suis un développeur Hurd moi-même. Cependant (je crois que) il n'est pas discutable que Linux soit un meilleur état. 2) Je peux voir pourquoi Linux ne voudrait pas être couplé à GNU, mais de ce que je peux voir, c'est le projet GNU qui démontre les plus grandes objections à cela. Pouvez-vous développer?
NlightNFotis
14
@NlightNFotis: Etes-vous sûr que c'est principalement une objection de GNU? Il suffit de lire ceci: torvalds-family.blogspot.ca/2008/11/black-and-white.html . Pour moi, il semble que toutes les personnes impliquées soient beaucoup plus heureuses sans relation formelle.
goldilocks
Merci pour ce blog. Cela a plus de sens maintenant. Je vais laisser la question ouverte pendant un certain temps pour voir si les gens élaborent des réponses plus fantastiques, et si ce n’est pas le cas, la vôtre sera choisie comme "réponse" à cette question. Juste une dernière "pétition". Est-ce que cela vous dérangerait, reformulant si je puis dire, le "vous n’avez peut-être pas une haute opinion du HURD" parce que cela me rend un peu mal à l’aise et me rend mal à l’aise.
NlightNFotis
4
J'aime beaucoup les idées derrière Hurd. Ce qui m’était venu à l’esprit: la tendance actuelle à la virtualisation pourrait aider grandement Hurd à comprendre au moins une partie du monde réel. Vous n'avez pas besoin d'un système d'exploitation complet pour que quelqu'un l'utilise. Si vous avez quelques applications qui ont des avantages évidents à courir sous Hurd, vous pouvez simplement les mettre dans une VM Hurd. Semblable à chrooter, lxc ou autre.
Hauke ​​Laging
2
@NlightNFotis rephrased :)
goldilocks Le
77

Il y a beaucoup de documentation et de discussion à ce sujet sur le net.

La réponse courte est qu’il existe de profondes différences idéologiques entre le projet GNU et les projets du noyau Linux, ce qui entrave la possibilité d’une unification.

La FSF, l'organisation à l'origine du projet GNU, met l'accent sur la pureté idéologique de l'idée de logiciel libre. Cela découle en grande partie des vues du fondateur de la FSF / GNU, Richard Stallman. En outre, comme l'a mentionné Goldilocks, la FSF est désormais principalement une organisation de défense des droits politiques. Pendant longtemps, la FSF n'a pas investi de ressources importantes dans le projet GNU, bien qu'elle fournisse une infrastructure de support.

Le projet du noyau Linux a une position beaucoup plus pragmatique sur la liberté du logiciel, encore une fois dans une large mesure grâce à son fondateur, Linus Torvalds. Le projet de noyau Linux est avant tout un projet de logiciel libre, composé de développeurs de logiciels spécialisés dans le développement de noyau / système d’exploitation, et nullement d’une organisation de défense des droits politiques.

Comme exemples concrets de la mise en pratique de ces idéologies, considérons

1) Stallman considère comme inacceptable le fait que le projet Debian "publie" des logiciels non libres en maintenant la partie non libre de ses archives logicielles. C’est ironique, car le projet Debian est axé sur la liberté du logiciel, ce qui est assez similaire à la FSF, même s’il n’est pas aussi rigide sur le plan idéologique.

2) Que le noyau Linux autorise l'utilisation de modules de noyau binaires (non libres) avec le noyau. Bien que les développeurs du noyau ne soient pas enthousiastes à ce sujet, ils le tolèrent, mais il est difficile d’imaginer que la FSF le fasse.

Il convient également de noter que la tentative de Stallman de nommer GNU / Linux les systèmes d'exploitation basés sur le noyau Linux n'a probablement pas amélioré les relations entre la FSF et la communauté du noyau Linux, bien que je ne dispose d'aucune donnée spécifique à ce sujet.

Au-delà de tout autre élément, comme le mentionne Goldilocks, la FSF a diverses règles auxquelles un projet GNU doit se conformer. Cela inclut la cession de tous les codes par le droit d'auteur à la FSF. Cela constituerait à lui seul un facteur décisif, car Linus Torvalds n'a jamais exigé une telle cession de droits d'auteur. Par conséquent, si le noyau Linux devait faire partie du projet GNU, toutes les contributions importantes au noyau Linux devraient avoir leurs droits d'auteur attribués à la FSF. Compte tenu de l'âge et de la taille du projet, ainsi que du nombre de contributeurs, cela est fondamentalement impossible. Des projets beaucoup plus petits et plus jeunes (par exemple, Mercurial) ont trouvé que la redéfinition des licences logicielles était une tâche ardue.

Veuillez noter que cette réponse n’est en aucun cas une critique des développeurs de la FSF ou du noyau Linux. Les deux côtés ont leurs propres points de vue valables. Cependant, la réalité de la situation est que ces points de vue sont dans une certaine mesure incompatibles.

Faheem Mitha
la source
4
+1 J'aime cette réponse. Information solide sur la question. J'apprécie votre contribution.
NlightNFotis
1
Il est à noter que dans de nombreux pays d'Europe, la «cession de droits d'auteur» n'est pas légalement possible. Il existe d'autres possibilités (accord des contributeurs) mais la cession de droits d'auteur peut ne pas être légalement possible - pas seulement techniquement.
Maciej Piechotka
1
@FaheemMitha, non pas par la définition GNU car les blobs binaires certainement sont partie du noyau; ils sont distribués dans le code source du noyau, intégrés aux fichiers binaires du noyau et nécessaires à leur fonctionnement.
Psusi
8
Ahh, les pilotes propriétaires sont une autre chose à laquelle GNU s'oppose. C'était l'une des raisons de la GPLv3; pour empêcher les modules propriétaires d'être liés au code libre, même au moment de l'exécution, et pourquoi Linux a choisi de rester avec GPLv2.
Psusi
1
@vonbrand, que vous soyez d'accord avec cela ou non est sans importance; c'est la position de la FSF et à cause de cela, Linux ne pourrait jamais être un projet GNU.
Psusi
35

Je cite un commentaire par Richard Stallman , en ce qui concerne la décision de rouler avec le Hurd plutôt que Linux.

Les gens demandent parfois: «Pourquoi la FSF a-t-elle développé un nouveau noyau libre au lieu d'utiliser Linux?» C'est une question raisonnable. La réponse, brièvement, est que ce n’est pas la question à laquelle nous sommes confrontés.

Lorsque nous avons commencé à développer le Hurd en 1990, la question à laquelle nous étions confrontés était la suivante: "Comment pouvons-nous obtenir un noyau libre pour le système GNU?" un. La seule façon dont nous pouvions nous attendre à avoir un noyau libre était de l'écrire nous-mêmes. Alors on a commencé.

Nous avons entendu parler de Linux après sa publication. À ce moment-là, la question à laquelle nous étions confrontés était la suivante: «Devrions-nous annuler le projet Hurd et utiliser Linux à la place?»

Nous avons entendu dire que Linux n'était pas du tout portable (ce n'est peut-être pas le cas aujourd'hui, mais c'est ce que nous avons entendu à l'époque). Et nous avons entendu dire que l'architecture de Linux était comparable à celle du noyau Unix. notre travail conduisait à quelque chose de beaucoup plus puissant.

Étant donné les années de travail que nous avions déjà consacrées au Hurd, nous avons décidé de le terminer plutôt que de le jeter à la poubelle.

Si nous faisions face à la question que les gens se posent - si Linux était déjà disponible et si nous envisagions de commencer à écrire un autre noyau - nous ne le ferions pas. Au lieu de cela, nous choisirions un autre projet, quelque chose qui ferait un travail qu'aucun logiciel libre existant ne peut faire.

Mais nous avons lancé le Hurd à l’époque et maintenant nous l’avons fait fonctionner. Nous espérons que son architecture supérieure rendra les systèmes d’exploitation libres plus puissants.

NlightNFotis
la source
7
En dépit des réponses fantastiques déjà apportées à la question, je choisirai cette réponse comme canonique à la question car elle démontre la raison qui a motivé le choix de rester avec le Hurd, directement du créateur du projet GNU, Richard Stallman.
NlightNFotis
9
Remarque "cela peut ne pas être vrai aujourd'hui" - l'opinion de RMS sur Linux semble être basée sur des ouï-dire, pas sur des connaissances.
Martin Schröder
19
@Martin: (réponse tardive, mais :) Lorsque Torvalds a annoncé la première fois que Linux était spécifique à x86, aucun plan n'était prévu pour le rendre portable. Dans le fil initial, Linus a déclaré: "Je dirais que le portage est impossible". Ainsi, rms n’avait aucune raison de croire à l’origine que Linux deviendrait ce qu’il a aujourd’hui. Les preuves de la bouche du chef de projet ne sont guère des rumeurs.
Kevin Cathcart
@KevinCathcart: RMS / FSF aurait dû étudier le code lui-même au lieu de compter sur les autres ("nous avons entendu").
Martin Schröder
21
@ MartinSchröder: Pourquoi étudier le code alors que le responsable du projet a explicitement déclaré qu'il ne serait pas portable? Quoi qu'il en soit, Linux a été annoncé en 1991. Il a fallu attendre avril 1994 (version 1.1.45) pour que Linux ajoute même les dossiers des ports d’architecture. Cela prendrait plus de temps avant que les ports ne soient pratiques. Si la FSF avait pris la décision de poursuivre le Hurd en 1992 ou 1993, le code aurait simplement renforcé son caractère non portable.
Kevin Cathcart
4

J'ajoute simplement mon 2 cent ici, je pense que ce dont on a discuté à ce stade a beaucoup de sens, mais il y a un aspect majeur qui, selon moi, peut vraiment polariser la fondation GNU et c'est le fait que Linux est en train de devenir plus un endroit où de grandes entreprises investissent de l’argent et du temps réels, l’idée que linux est une sorte de projet fait maison n’est pas vrai, pas même un peu, peut-être qu’il ya un type quelconque qui essaie d’attirer l’attention sur la scène tout en donnant patcher loin, mais pour la grande partie linux c'est un travail pour les entreprises.

utilisateur2384250
la source
1
Je ne pense pas que la FSF ait un problème avec le support technique des projets logiciels. Ils se concentrent principalement sur les principes du logiciel libre.
Faheem Mitha
La domination des entreprises était une des grandes préoccupations de la GNU GPL. Le logiciel sous licence autorisée était en fait une procédure normale à la fois au MIT et à Berkeley, mais une fois le code commercialisé, il a été rapidement fermé. Ainsi, par exemple, je pourrais vérifier la source Linux aujourd'hui et toutes les améliorations développées commercialement profiteront à mon projet potentiel. Ou bien mon prochain petit projet personnel peut utiliser seulement quelques blocs. Le fait est que toutes les améliorations publiées profitent à ceux qui utilisent le code ensuite.
JM Becker
1

Une autre explication trouvée dans la FAQ de gnu.org :

Faire en sorte que GNU Hurd fonctionne assez bien pour concurrencer Linux serait un gros travail, et ce n'est pas clairement nécessaire. La seule chose qui ne va pas du point de vue éthique avec Linux en tant que noyau est l’inclusion de micrologiciels «blobs»; La meilleure solution à ce problème est de développer un remplacement gratuit des blobs .

Le quark
la source
-6

Linux ne peut pas être Unix, car Linux n'est pas conforme à Posix .

Donc, même sans tracas politiques, Linux ne peut pas atteindre l'objectif de conception de Hurd.

Cite : "The Hurd remplace le projet GNU pour UNIX, un noyau de système d'exploitation populaire."

Étonnant, il y a un Debian / Hurd-Projekt . Mais c'est peut-être une autre histoire ...

BTW: Windows (depuis NT / XP) est également basé sur le noyau MACH.

Nils
la source
8
Si vous prétendez que Linux n'est pas conforme à POSIX, vous devrez sauvegarder cela un peu. Y compris là où la FSF dit avoir besoin d’un noyau totalement conforme à POSIX. Au fait, Unix n'est pas POSIX. Unix (marque déposée) est un système d'exploitation propriétaire spécifique, il va donc sans dire qu'aucun autre système d' exploitation ne peut être ce système d'exploitation.
Psusi
6
Citation pour le noyau Windows basé sur MACH? Wikipedia dit qu'ils partagent certains choix de conception; mais MACH étant le micro-noyau prototypique alors que la majorité des services Windows OS fonctionnent dans le noyau et non dans l’utilisateur. À ma connaissance, le seul composant majeur du système d'exploitation Windows du noyau Windows était la pile réseau, qui reposait auparavant sur la mise en oeuvre de BSD. cependant, il a été arraché et remplacé par un disque qui s'interface mieux avec le reste de la conception de l'OS il y a plusieurs versions (IIRC sous XP ou 2k).
Dan Neely
14
Mais GNU n'est pas Unix non plus.
Simon le
6
@Nils, la question que vous avez liée contredit votre position plutôt qu'elle ne la soutient.
Psusi
8
@Nils, le non-sens de Mach est un autre élément de la fausse idée populaire. NT est complètement different de mach. Ses "serveurs de sous-systèmes" ne sont pas différents des démons unix, qui ne constituent pas un micro-noyau. Initialement, l'interface graphique était implémentée en mode utilisateur, ce qui ne ressemblait guère à un système à micro-noyau (bien que Xwindows ne fasse pas de Linux un micro-noyau), mais cela a été mis au rebut dans NT4 et déplacé vers le noyau.
Psusi