L'histoire du noyau HURD

Je trouve l'histoire du noyau HURD particulièrement intéressante car elle va au delà des discussions à propos du noyau, de GNU, des Logiciels Libres et des ordinateurs en général. C'est une histoire qui concerne des personnes, des relations, des stratégies, des décision, du travail, des compromis, quelques événements aléatoires et beaucoup d'autres choses qui rendent la vie si palpitante. C'est important de voir les erreurs de ce projet pour essayer de les éviter même s'il est beaucoup plus facile d'identifier les erreurs maintenant que nous connaissons les conséquences. Je crois que les développeurs de GNU ont fait de leur mieux selon les circonstances mais, bien sûr, ils ne pouvaient pas prédire le futur.

 

En deux mots:

 

Depuis la création du projet GNU en 1983, beaucoup d'effort a été mis dans le développement des logiciels nécessaires à un système d'exploitation libre. Le développement du noyau GNU HURD a démarré en 1990 en tant que remplaçant libre du noyau UNIX. Par contre, en 1991, un noyau appelé Linux est entré en scène et tout les logiciels GNU ont été adaptés pour tourner sur des systèmes GNU/Linux, souvent appelés "Linux" pour faire court. Le développement de Hurd a continué et est devenu utilisable en 2001, bien qu'il ne soit pas considéré suffisamment stable encore aujourd'hui.

 

Premières choses d'abord

 

Le noyau est le logiciel le plus important d'un système d'exploitation. Parfois la distinction entre le noyau et le SE est floue du fait que le terme "Système d'exploitation" est vague et peut, ou pas, inclure d'autres logiciels en plus du noyau.

Bien que le projet GNU soit la plus grande initiative de création de Logiciels Libres, ils n'ont malheureusement pas réussi a créer ce logiciel, essentiel, qui permet de tourner un SE libre. Si nous comparons la quantité de travail mise dans le projet GNU et la quantité de travail mise dans Linux, nous nous rendons compte que Linux ne représente qu'une petite portion du code total. Apparemment, le projet GNU a fait un excellent travail de codage mais a pris de mauvaises décisions à propos de mettre en premier ce qui vient d'abord, établir des priorités et être efficace. Encore une fois, la "loi des 80/20" semble vraie et 80% du travail n'a accompli que 20% de la tâche.

 

La chose correcte à faire ou la meilleure chose à faire?

 

Au fait, les developpeurs GNU n'ignoraient pas l'importance du noyau. En effet, ils avaient déjà fait une première tentative en 1986, quelques années après l'annonce du projet GNU. Le plan initial était d'adopter le noyau 4.4BSD-Lite et, selon Thomas Bushnell, ça aurait bien marché. C'est d'ailleurs en se basant sur 4.4BSD-Lite que Apple a construit le noyau des systèmes Mac OS appelé Darwin. Le premier noyau qui a été réellement utilisé par GNU est TRIX mais il nécessitait encore trop de travail pour fonctionner et l'idée a été abandonnée. A un moment il y a eu un doute si Berkley Sprite pourrait être utilisé mais ce n'a pas marché non plus par un manque de coopération de la part des programmeurs de Berkley. Finalement, ils ont décidé d'utiliser une autre architecture, celle du March microkernel. Une fois que cette décision a été prise ils ont dû attendre encore plusieurs années car il n'était pas encore certain que le code de March serait disponibilisé sous une licence libre.

 

Quand plus est moins

 

La décision d'adopter un microkernel (micro noyau) était alors vue comme une amélioration technologique. Le but n'était pas seulement de construire une copie libre de UNIX mais de construire un noyau qui soit bien meilleur. D'ailleurs, l'acronyme "GNU" est très explicite: GNU n'est pas UNIX! (Gnu's Not Unix). Le choix avait été fait vers une technologie plus fiable et performante ...si seulement ils avaient réussi à l'accomplir. Le problème a été que quelques complications imprévues ont rendu le développement d'un tel noyau très difficile. Bref, l'architecture innovante du noyau HURD était un projet beaucoup trop ambitieux. Juste pour faire une comparaison, Linus Torvalds a réussi a créer la première version de Linux en seulement 7 mois (en se basant sur MINIX) alors que Hurd n'est toujours pas prêt, plus de vingt ans plus tard.

 

L'espoir peut être pire que le désespoir

 

Le projet GNU Hurd est encore en développement et il y a de l'espoir qu'un jour un noyau vraiment incroyable apparaisse. La raison pour continuer à développer ce noyau et simple, étant donné que le projet a commencé et que beaucoup de travail a été mis dedans, il vaut mieux aller jusqu'au bout. Il y a des signes de fatigue par-ci, par-là qui pourraient nous laisser penser que Hurd n'arrivera jamais à maturité. Il n'y a pas d'urgence dans le projet non plus étant donné qu'un noyau libre existe déjà. Mais... et si le noyau Hurd était vraiment bien meilleur que les autres? Que le temps nous dira s'il valait mieux garder espoir que de désespérer!

 

Lisez aussi:

Linux ou GNU/Linux?
http://www.gnu.org/s/hurd/hurd.html (en Anglais)


Ajouter un commentaire