Linux et le Hurd

Le projet GNU est déjà bien avancé. Tous les outils classiques d'un système d'exploitation sont déjà disponibles, et en fait, il ne manque qu'une seule chose : le cœur du système (que l'on appelle également le « noyau »). Ce cœur, en cours de développement, s'appelle le « HURD » (ce nom est également un acronyme récursif). Il est déjà fonctionnel, mais pas encore complètement terminé. Heureusement, il existe un autre noyau, également libre puisque distribué sous la licence GPL : Linux.

Linux a été développé par Linus Torvalds, alors qu'il était encore étudiant en Finlande. Linus a fourni ses premiers fichiers sources librement sur Internet, et a réussi à constituer une équipe de programmeurs (fous) dans le monde entier, qui ne travaille que grâce à Internet. Chacun contribue à sa manière, et le nombre faisant la force, le résultat est excellent. En fait, ils sont suffisamment nombreux pour découvrir et corriger très vite les bogues, ce qui assure une fiabilité hors du commun du système, et pour explorer différentes voies de développement parallèles et ne choisir que la meilleure (c'est un modèle d'évolution typique des logiciels libres et relativement darwiniste). Bien entendu, il existe quand même une organisation du développement : chaque morceau du système est gérée par un « mainteneur » officiel. Mais rien ne vous empêche de faire diverger Linux. Ceci dit, vous serez vite tout seul. Aussi les programmeurs de Linux (et des logiciels libres en général) apprennent-ils très vite à communiquer et à écouter.

Comme Linux n'est qu'un noyau et utilise les outils du projet GNU, il est incorrect de parler de « système Linux ». En fait, il s'agit du système GNU/Linux. Mais tout le monde continue à faire cet abus de langage, qu'il faudra bien éviter quand les systèmes basés sur le Hurd seront plus répandus. En attendant, ce n'est pas trop gênant, en dehors du fait que cela peut gêner certaines susceptibilités.

Pourquoi continuer à développer le Hurd si Linux existe déjà ? Bonne question. En fait, le Hurd est un système expérimental, qui utilise des concepts plus théoriques et universitaires que Linux, qui lui est résolument orienté vers la pratique et l'ingénierie. Le Hurd est donc théoriquement plus esthétique que Linux, mais Linux est pratiquement plus utilisable.

En particulier, alors que Linux, bien que fortement modulaire, fait fonctionner beaucoup de composants dans l'espace du noyau, le Hurd est architecturé sur ce que l'on appelle un « micro noyau » sur lequel viennent se greffer les composants plus évolués du système. Ces composants sont placés dans l'espace utilisateur et communiquent via le micro noyau, qui est le seul à rester dans l'espace noyau. Le Hurd est donc beaucoup plus modulaire et est théoriquement plus robuste en cas de défaillance d'un composant, mais il est également plus technique à développer et plus lent à l'exécution.

Le développement du Hurd se poursuit donc calmement, petit à petit, et parfois en réutilisant du code de Linux (notamment pour les pilotes de périphériques et les couches réseau). On aura donc, un jour peut-être, deux systèmes libres sous licence GPL et parfaitement utilisables !