Linux / Histoire du noyau, de 1991 aux serveurs et au cloud
L’histoire de Linux commence en 1991 avec le noyau développé par Linus Torvalds, alors étudiant en Finlande, puis rendu accessible à d’autres développeurs. Son passage d’un projet personnel à une base de serveurs, de smartphones et d’infrastructures cloud s’explique par la rencontre du noyau, des outils GNU, des distributions et d’un développement collectif durable.
Distinguer le noyau, les outils et la distribution
Au sens technique, Linux est un noyau : la partie du système d’exploitation qui gère les processus, la mémoire et l’accès aux périphériques. Une application demande ses services au moyen d’appels système, par exemple pour lire un fichier ou communiquer sur le réseau. Le noyau organise aussi le partage des ressources entre programmes et applique des mécanismes de protection.
L’utilisateur installe généralement une distribution, comme Debian, Ubuntu ou Rocky Linux. Celle-ci associe le noyau à des bibliothèques, un interpréteur de commandes, des services, des outils d’installation et des applications. Dans le langage courant, « Linux » désigne souvent l’ensemble ; pour comprendre l’histoire, il faut distinguer ces niveaux :
| Niveau | Contenu | Rôle |
|---|---|---|
| Noyau Linux | Gestion des processus, mémoire, pilotes, systèmes de fichiers et réseau. | Relier les programmes aux ressources de la machine. |
| Espace utilisateur | Bibliothèques, outils GNU ou autres, services et interfaces graphiques. | Fournir les fonctions réellement utilisées par les personnes et les applications. |
| Distribution | Sélection de composants, paquets, installateur, mises à jour et politiques de maintenance. | Intégrer et distribuer un système adapté à un usage. |
Une amélioration de pilote concerne le noyau, tandis qu’un changement du gestionnaire de paquets ou du bureau relève surtout de la distribution et de l’espace utilisateur. Le guide sur le noyau, les distributions et l’open source (en anglais) développe cette distinction.
Avant 1991 : l’héritage d’Unix et le projet GNU
Linux appartient à la famille des systèmes de type Unix : il reprend des principes tels que le fonctionnement multiutilisateur, le multitâche, les chemins de fichiers et la composition d’outils. Il ne désigne pas pour autant le système UNIX historique ni une certification UNIX.
Richard Stallman annonce le projet GNU le 27 septembre 1983 ; le développement commence en janvier 1984. L’objectif est de disposer d’un système compatible avec Unix dont les utilisateurs puissent étudier, modifier et redistribuer les logiciels. L’annonce initiale du projet GNU permet de distinguer le projet d’origine et son calendrier réel.
GNU développe notamment compilateur, interpréteur de commandes, bibliothèque et utilitaires. Au début des années 1990, le noyau reste un élément manquant pour un système d’usage général. L’association avec Linux apporte une réponse pratique ; elle exige aussi du travail d’adaptation et d’intégration.
Le nom GNU/Linux souligne cette combinaison et le rôle historique de GNU. Le texte de GNU sur sa relation avec Linux expose ce point de vue. Il faut toutefois examiner les composants réels : tout système utilisant un noyau Linux ne possède pas nécessairement le même espace utilisateur GNU.
1991 : du PC personnel à la publication des sources
À l’université d’Helsinki, Linus Torvalds développe un noyau destiné aux PC Intel 386. Dans son message du 25 août 1991 au groupe Usenet comp.os.minix, il décrit un projet personnel commencé quelques mois auparavant et demande aux utilisateurs de MINIX quelles fonctions les intéressent. Le recueil de messages et commentaires de Torvalds de 1992, conservé à Carnegie Mellon, reproduit cette annonce et les échanges suivants.
Selon le rapport historique 2020 de la Linux Foundation, la première publication Linux 0.01 date du 17 septembre 1991. Le rapport attribue à cette version 88 fichiers et 10 239 lignes de code, pour la seule architecture i386. Ces nombres décrivent cette première version selon l’analyse du rapport, pas le noyau actuel.
Il faut distinguer l’annonce d’août et la mise à disposition de la version 0.01 en septembre. Les premiers lecteurs n’obtiennent pas encore une distribution prête à installer sur n’importe quel ordinateur : ils disposent de sources expérimentales et doivent réunir un environnement adapté. La possibilité de les examiner et de renvoyer des corrections constitue néanmoins un changement décisif pour la suite.
1992–1994 : licence libre et intégration en distributions
La transition vers la GNU GPL
En 1992, les conditions de diffusion évoluent vers la GNU General Public License, ou GNU GPL. Les notes de Linux 0.12 annoncent notamment la suppression de l’interdiction de distribution payante et l’application prévue du copyleft GNU au 1er février. Cette source rappelle qu’un code consultable et une licence autorisant une redistribution libre sont deux questions différentes.
La licence fournit un cadre commun pour modifier et redistribuer le code. Associée aux outils existants, elle permet à des acteurs différents de construire et partager des systèmes utilisables. La coopération technique reste nécessaire : une licence ne réalise pas à elle seule l’installateur, les pilotes ou la gestion des paquets.
Debian et les modèles de distribution
Ian Murdock fonde officiellement Debian le 16 août 1993. Son histoire officielle décrit un projet ouvert et une attention portée à la cohérence de la distribution et des dépendances. Les distributions rendent le système plus accessible en proposant des logiciels précompilés, des outils d’installation et une organisation des mises à jour.
D’autres modèles associent développement ouvert et support commercial. L’histoire publiée par Red Hat retrace l’évolution de la distribution sur CD vers les offres d’entreprise et l’abonnement. Ces approches répondent à des besoins différents : autonomie communautaire, intégration, certification ou maintenance à long terme.
Linux 1.0 paraît le 13 mars 1994, date conservée dans les archives de kernel.org. Le numéro 1.0 est un jalon important de maturation ; il ne signifie pas que toutes les architectures, tous les matériels ou tous les usages sont déjà couverts.
Les principaux jalons en un tableau
| Date | Événement | Ce qui change |
|---|---|---|
| 1983 | Annonce de GNU. | Projet d’un système compatible avec Unix et librement modifiable. |
| 1984 | Début du développement de GNU. | Construction des outils et composants d’un système complet. |
| 1991 | Annonce de Linux et publication de la version 0.01. | Un noyau pour PC devient accessible à d’autres développeurs. |
| 1992 | Transition de Linux vers la GNU GPL. | Cadre de modification et de redistribution, y compris commerciale. |
| 1993 | Fondation de Debian. | Organisation communautaire d’une distribution cohérente. |
| 1994 | Publication de Linux 1.0. | Jalon de maturation du noyau et de son usage. |
| 1996 | Publication de Linux 2.0. | Étape dans le support multiprocesseur et l’élargissement des matériels. |
| 2000 | Création des Open Source Development Labs. | Soutien à Linux et à son adoption en entreprise. |
| 2003 | Publication de Linux 2.6.0. | Début d’une longue série d’évolutions du noyau. |
| 2005 | Création de Git. | Nouvel outil de gestion distribuée des changements du noyau. |
| 2007 | Création de la Linux Foundation par rapprochement d’OSDL et du Free Standards Group. | Structure commune de soutien et de coordination de l’écosystème. |
Ces jalons décrivent plusieurs histoires qui se croisent : celle du noyau, celle des logiciels qui l’accompagnent et celle des organisations. Une date de publication de noyau n’est pas la date à laquelle toutes les distributions adoptent cette version.
Du noyau pour PC aux architectures et serveurs multiples
La dépendance initiale au PC Intel 386 n’est pas restée une limite définitive. Le portage vers d’autres architectures, l’ajout de pilotes et l’amélioration de la gestion mémoire ont élargi les machines utilisables. La possibilité de charger certains pilotes sous forme de modules permet d’adapter les fonctions présentes en mémoire au matériel utilisé.
Linux 2.0, publié en juin 1996, marque notamment une étape dans le support du multiprocesseur symétrique, ou SMP : plusieurs processeurs peuvent exécuter du travail au sein du même système. Les archives de la série 2.0 conservent ses versions successives.
Les séries suivantes développent ordonnanceur, réseau, pilotes et passage à l’échelle. Linux 2.6.0 paraît en décembre 2003 ; les archives de la série 2.6 montrent les publications et branches de maintenance qui suivent. Cette évolution progressive aide à expliquer comment un même projet peut servir un petit appareil et un serveur, avec des configurations adaptées.
2005 : Git répond à un problème de collaboration
Conserver et réunir les changements
Quand davantage de personnes modifient le même noyau, il faut identifier les changements, conserver leur histoire et réunir des développements parallèles. Après une période d’utilisation de BitKeeper, la rupture de ses conditions d’usage gratuit en 2005 pousse la communauté, et particulièrement Torvalds, à développer une autre solution.
Git privilégie vitesse, travail distribué et gestion de nombreuses branches. L’histoire de Git dans le livre officiel décrit ces objectifs. Son origine est liée au noyau Linux, même si l’outil sera ensuite employé pour de nombreux autres logiciels.
La distribution des dépôts permet de travailler sur des branches et d’en échanger les résultats. Elle ne supprime pas la nécessité de décider quelles modifications intégrer dans une version commune : c’est le rôle des processus de revue et des responsables de maintenance.
Un développement ouvert, avec des étapes de sélection
Les développeurs proposent des correctifs, discutés et examinés dans les domaines concernés : réseau, pilotes, systèmes de fichiers ou architectures. Les responsables de ces sous-systèmes réunissent les changements avant leur intégration vers la branche principale. Linus Torvalds assure la maintenance de cette branche principale ; les branches stables suivent une organisation de maintenance distincte.
Une période d’intégration des nouvelles fonctions est suivie de versions candidates, pendant lesquelles corrections et régressions reçoivent une attention particulière. L’introduction officielle au développement du noyau présente ces arbres et les règles de contribution.
Un dépôt public ne donne donc pas à chaque personne le pouvoir d’ajouter immédiatement du code à la version publiée. Ouverture des propositions, relecture, tests et responsabilité des mainteneurs fonctionnent ensemble. Cette organisation constitue une partie de l’histoire de Linux aussi importante que la croissance de son code.
Serveurs, cloud et conteneurs : plusieurs couches qui se complètent
Les capacités réseau, le choix du matériel, l’automatisation et les offres de maintenance des distributions favorisent l’emploi de Linux sur des serveurs. Les fournisseurs peuvent adapter leur système à un service web, une base de données ou une plateforme d’exécution sans reconstruire tous les composants depuis le début.
Avec la virtualisation, une machine virtuelle peut exécuter son propre noyau. Dans le modèle courant des conteneurs Linux, des groupes de processus partagent au contraire le noyau Linux de l’hôte tout en disposant de vues isolées de certaines ressources. Sur un poste utilisant un autre système hôte, une machine virtuelle Linux peut fournir ce noyau partagé.
Les espaces de noms, ou namespaces, isolent certaines vues comme les processus, le réseau ou les montages. Les groupes de contrôle, ou cgroups, organisent les processus et permettent de mesurer ou limiter certaines ressources. La documentation cgroup v2 du noyau décrit ce second mécanisme.
Un conteneur ne se résume toutefois pas à une option du noyau. Il faut aussi des images, un outil d’exécution, du réseau, du stockage et des règles de sécurité. L’apport du noyau est de fournir des mécanismes réutilisables à partir desquels ces outils peuvent construire une plateforme.
Téléphones et appareils embarqués : Linux sans le même bureau
Le portage et les pilotes permettent aussi des usages dans les routeurs, équipements industriels et autres appareils embarqués. Ces systèmes peuvent avoir une interface très différente d’un ordinateur personnel tout en utilisant un noyau Linux.
Android en fournit un exemple important. La présentation du noyau par l’Android Open Source Project décrit des noyaux fondés sur des versions Linux maintenues à long terme, ou LTS, auxquelles s’ajoutent des modifications Android. Partager ce socle ne rend pas Android identique à une distribution GNU/Linux de bureau : bibliothèques, services et applications diffèrent.
Cette séparation aide à lire l’évolution de Linux : le succès d’une base technique commune ne signifie pas que tous les appareils fournissent la même expérience utilisateur ou les mêmes possibilités d’administration.
Entreprises et fondations participent sans posséder tout le noyau
Aux contributions individuelles s’ajoutent celles de fabricants de matériel, éditeurs de distributions et fournisseurs d’infrastructure. Ils développent des pilotes ou améliorations utiles à leurs produits. Faire intégrer un changement en amont peut réduire le besoin de maintenir une variante isolée, mais exige de le soumettre aux règles communes de revue.
Les Open Source Development Labs, ou OSDL, sont créés en 2000. Leur rapprochement avec le Free Standards Group donne naissance à la Linux Foundation en 2007. Le récit de cette évolution publié par la Linux Foundation explique ce soutien institutionnel. Financement, infrastructure et coordination ne se confondent pas avec la propriété de toutes les contributions.
Le noyau est fourni dans son ensemble sous GNU GPL version 2 uniquement, avec l’exception explicite relative aux appels système ; certains fichiers portent des licences compatibles ou doubles. Les règles de licence du noyau expliquent ces distinctions. Le recours aux appels système ne place pas automatiquement toutes les applications sous la licence du noyau.
Les droits d’auteur restent répartis entre les titulaires des contributions. Une distribution assemble par ailleurs des logiciels relevant de plusieurs licences : le nom Linux ne permet pas de déduire une licence unique pour tout le contenu du système.
Pourquoi un logiciel libre peut aussi être commercial
La liberté de consulter, modifier et redistribuer un logiciel ne signifie pas que toute prestation ou toute copie doit être gratuite. Une entreprise peut vendre une distribution, de l’intégration, des mises à jour ou du support, en respectant les conditions des composants distribués.
Pour le noyau, les obligations de licence lors de la distribution de modifications doivent être distinguées de la simple utilisation. Cette distinction explique la coexistence de projets communautaires et d’offres commerciales, sans réduire Linux à un produit appartenant à un fournisseur unique.
On peut ainsi lire sa croissance comme une combinaison de facteurs : code réutilisable, cadre de redistribution, outils communs, intégration par les distributions et organisation de la revue. Les dates de 1991 et 1994 sont des repères essentiels ; les décennies suivantes montrent surtout comment cette combinaison s’adapte à des matériels, des usages et des contributeurs différents.




