1 points par GN⁺ 2025-03-03 | 1 commentaires | Partager sur WhatsApp
  • En 1988, Lars Wirzenius et Linus Torvalds, qui se sont rencontrés à l'université d'Helsinki, ont découvert ensemble les serveurs Unix et Usenet, posant ainsi le point de départ de l'exploration des systèmes d'exploitation qui mènerait à Linux
  • En 1991, après que Linus a acheté un PC 386 et MINIX, ses expériences de multitâche, commencées avec un petit programme affichant alternativement A et B à l'écran, se sont étendues jusqu'au noyau Linux
  • Le noyau initial s'est rapproché d'un système d'exploitation réellement utilisable en ajoutant les pilotes clavier et port série, l'émulation VT100, la connexion par modem, les permissions de fichiers et la mémoire virtuelle
  • La mention publique sur comp.os.minix en 1991, l'upload sur ftp.funet.fi, l'adoption de la GNU GPL en 1992, le portage de X11, l'arrivée de SLS, puis la sortie de Linux 1.0 en 1994 ont marqué des tournants dans sa diffusion initiale
  • Contrairement à la formule de 1991 selon laquelle il ne serait « ni grand ni professionnel », Linux, en 2023, étend son champ d'exécution à des milliards d'appareils, tous les continents et océans, ainsi qu'à l'orbite et à Mars

Une rencontre à Helsinki et la découverte d'Unix

  • À l'automne 1988, Lars Wirzenius est entré en informatique à la University of Helsinki, où il a rencontré Linus Torvalds, alors nouvel étudiant suédophone
  • À la fin de sa première année, après avoir obtenu un accès à un serveur Unix, il a découvert par hasard un lecteur Usenet en tapant rn au lieu de rm
  • Lorsque Wirzenius a parlé d'Usenet à Linus, les deux ont passé beaucoup de temps à l'explorer
  • À l'automne 1990, après leur service militaire, ils ont repris leurs études et suivi des cours de C et de programmation Unix, tout en apprenant aussi la théorie de l'architecture des noyaux Unix
  • Dans ce cadre, ils ont lu les noyaux de systèmes comme QNX et Plan 9, et discuté de conception de systèmes d'exploitation

Le PC 386 et les premières expériences sur le noyau

  • En janvier 1991, Linus a acheté un PC assemblé à partir de composants
    • Le CPU était un 386, relativement haut de gamme pour l'époque
    • Il avait 4 Mo de RAM
    • Il comprenait un disque dur
  • Pour explorer le multitâche, il lui fallait un 386 et, comme il utilisait auparavant un Sinclair QL équipé d'un CPU Motorola 68008 32 bits, il n'a pas choisi un 286 16 bits
  • Durant les premiers mois, il a passé beaucoup de temps sur Prince of Persia, puis a acheté MINIX afin de disposer chez lui d'un environnement proche d'Unix
  • Une fois le jeu terminé, il a commencé à apprendre l'assembleur Intel et a fini par montrer un programme multitâche dans lequel une tâche affichait A et une autre B à l'écran
  • Ce petit programme est devenu plus tard la première version de ce qui serait connu sous le nom de noyau Linux

Les premières fonctions du noyau et l'évolution du nom

  • En faisant évoluer son programme, Linus a commencé à en écrire l'essentiel en C
  • À la fin du printemps 1991, Wirzenius a écrit pour Linus une implémentation en C de sprintf()
    • Parce que Linus n'avait pas encore appris à écrire des fonctions utilisant des listes d'arguments variables
    • Le cœur de ce code subsiste encore dans le snprintf() du noyau actuel
  • Avec le temps, le noyau initial a acquis les fonctions nécessaires à un usage réel
    • Pilote clavier
    • Pilote de port série
    • Émulation des séquences d'échappement de terminal VT100 pour l'affichage
    • Connexion au modem pour appeler l'université et lire Usenet depuis chez soi
  • Après que Linus a tenté par erreur d'appeler l'université en utilisant le disque dur, le secteur de boot maître a commencé par ATDT et le numéro du pool de modems de l'université
  • À la suite de cet incident, les permissions de fichiers ont été implémentées dans le noyau

Publication et adoption de la GPL

  • En août 1991, Linus a mentionné pour la première fois publiquement son nouveau noyau dans le groupe de discussion comp.os.minix
    • Le message incluait alors des formules comme « je fais un système d'exploitation free », « juste un hobby » et « il ne sera ni grand ni professionnel comme gnu »
  • Le nom initial du système était Freax
  • Quelques semaines plus tard, Linus a demandé à Ari Lemmke, l'un des administrateurs de ftp.funet.fi, de téléverser la première archive tar, et Ari a choisi le nom Linux
  • L'ancien nom subsiste encore dans un fichier source des premières versions
  • Comme des gens voulaient essayer ce nouveau système, il a fallu fournir une méthode d'installation et des instructions
    • Linus n'avait qu'un seul PC et développait Linux au-dessus de son installation Minix, il n'avait donc jamais réellement fait d'installation
    • Le PC de Wirzenius est devenu le premier PC sur lequel Linux a été installé
  • La licence des premières versions de Linux interdisait l'usage commercial
  • Certains premiers contributeurs ont proposé de passer à une licence de logiciel libre
  • À l'automne 1991, Richard Stallman a visité la Finlande, et Wirzenius a emmené Linus à sa conférence
  • Sous l'effet combiné de la pression des contributeurs, de la conférence de Stallman et de la persuasion de Wirzenius, Linus a choisi la GNU GPL au début de 1992
  • Pendant les vacances de Noël, Linus a implémenté la mémoire virtuelle dans Linux, ce qui l'a rendu bien plus pratique sur des machines peu coûteuses avec peu de mémoire

1992 : controverse, desktop et distributions

  • 1992 a commencé avec la célèbre controverse avec Andrew Tanenbaum
    • Tanenbaum était l'auteur de MINIX et professeur d'université, et il a donné son avis sur Linux et son architecture
    • Linus a lui aussi donné son avis sur MINIX
    • Ce débat a été qualifié de flame war, mais rétrospectivement il est resté assez courtois
  • L'événement plus important pour le succès futur de Linux a été le portage de X11 vers Linux, et 1992 est devenue l'année du desktop Linux
  • Wirzenius a choisi de contribuer davantage du côté de la communauté que du noyau, en aidant à répondre aux questions et à rédiger de la documentation
  • Il a aussi créé une newsletter Linux de courte durée, qui a publié la première interview de Linus
  • Cette newsletter a en pratique été remplacée par le groupe de discussion comp.os.linux.announce
  • En 1992 a démarré la première distribution Linux, Softlanding Linux System, ou SLS
  • L'année suivante, SLS a conduit à Slackware, qui a influencé Ian Murdock lorsqu'il a lancé Debian en 1993
  • Debian a été créée pour explorer une structure de développement davantage fondée sur la communauté

Bureau universitaire, réseau et portages

  • En 1993, Linus et Wirzenius ont été recrutés comme assistants à l'université et ont partagé un bureau
  • Le bureau disposait d'un PC, que Linus utilisait pour développer Linux
  • Un jour, Linus a trouvé le PC lent et a réécrit en assembleur l'analyseur de ligne de commande du noyau Linux pour gagner en vitesse
    • Ce code a ensuite été réécrit en C pour la portabilité
    • La vitesse de l'analyseur n'avait en réalité aucune importance
  • Quelques années plus tard, Linus a joué à Quake pendant plusieurs jours, avec pour objectif officiel de tester sous contrainte la gestion mémoire du noyau
  • À partir d'un certain moment, Linux a pris en charge Ethernet et TCP/IP
    • Ce qui a permis de lire Usenet sans modem
  • Le premier code réseau de Linux a été écrit de zéro et présentait des aspects assez bruts
  • À un moment, Linux a envoyé des paquets corrompus qui ont arrêté toutes les machines Sun du réseau, et comme le correctif côté noyau Sun était difficile, l'usage de Linux a été interdit sur le réseau universitaire jusqu'à la correction du bug Linux

Linux 1.0 et l'expansion qui a suivi

  • Au printemps 1994, Linux semblait achevé, et la sortie de la version 1.0 a été décidée
  • À l'époque, Linux pouvait se compiler lui-même, lire Usenet et exécuter simultanément plusieurs instances du programme xeyes
  • Un événement de lancement a été organisé, en présence de la presse informatique finlandaise et d'une équipe de télévision
  • L'essentiel de l'événement consistait à faire compiler délibérément Linux 1.0 en arrière-plan pendant que Linus et d'autres expliquaient ce qu'était Linux et à quoi il servait
  • Linus a déclaré que les Unix commerciaux pour PC étaient trop chers et qu'il était plus simple d'en écrire un lui-même
  • En 1995, Linus et Wirzenius ont suivi un cours universitaire de génie logiciel et mené un grand projet pratique sur Linux
  • Wirzenius a exigé l'usage de CVS
    • Parce qu'il avait vu des étudiants précédents gérer les versions sur un arbre de sources partagé via NFS en criant « j'édite ce fichier »
    • Cette expérience a fait que Linus a détesté CVS et a refusé pendant des années toute gestion de versions allant au-delà du dépôt de tarballs sur un site FTP
  • La même année, Linus a reçu une machine DEC Alpha et a porté Linux pour la première fois vers une nouvelle architecture
  • D'autres ont eux aussi porté Linux sur d'autres architectures
  • En 1997, après son diplôme, Linus est parti aux États-Unis pour rejoindre Transmeta

D'un « hobby » à un système mondial

  • Par la suite, il manquait encore des fonctions à Linux, et des gens ont continué à les développer
  • Le terme « open source » a été créé, et IBM a investi beaucoup d'argent dans le développement de Linux
  • Netscape a publié en open source une version de son navigateur web
  • Depuis sa création, LWN a couvert une grande partie de cette histoire semaine après semaine
  • En 1991, Linus écrivait que Linux ne serait « ni grand ni professionnel comme gnu », mais en 2023 Linux tourne sur tous les continents, tous les océans, des milliards d'appareils, en orbite et sur Mars

1 commentaires

 
GN⁺ 2025-03-03
Avis sur Hacker News
  • C’est amusant. J’ai commencé à utiliser Linux 0.98 en 1992
    Composer des numéros de téléphone avec mon modem pour me connecter à plusieurs BBS me donnait vraiment l’impression d’être le héros de "WarGames"
    Je me souviens encore du jour où j’ai utilisé ppp pour me connecter au vrai Internet pour la première fois. Après pas mal d’essais et d’erreurs, j’ai envoyé un ping à www.linux.org, et quand le nom d’hôte a été résolu puis qu’une réponse est revenue, je suis resté sans voix un moment avant de réussir à dire seulement « waouh »

    • Ma première connexion Internet passait par slirp sur un compte shell. slirp était un émulateur CSLIP tournant en espace utilisateur sur une machine shell distante
      À l’époque, les machines shell multi-utilisateurs étaient assez courantes, et certains des premiers FAI proposaient l’accès à Internet de cette manière
      Celui que j’utilisais était le FAI Internet Access Cincinnati, et il donnait à chaque utilisateur un shell sur un Sun Sparc 10 sous SunOS (avant Solaris). On avait aussi un e-mail POP et un dossier personnel ~username accessible via le web
  • C’est étrange de voir Linux devenir la seule chose stable et digne de confiance dans ce monde. On peut l’allumer en sachant qu’avec le temps il va s’améliorer, sans arrière-pensée

    • Aujourd’hui, c’est vraiment important. La plupart des nouvelles technologies ou systèmes d’exploitation semblent avoir une intention derrière eux, comme me pousser à acheter un iPhone ou à m’abonner à une suite bureautique
      De ce point de vue, Linux est une bouffée d’air. Un grille-pain devrait juste griller du pain. Je n’ai pas envie qu’il me dise aussi quel pain acheter
    • Je me souviens qu’au milieu et à la fin des années 90, il fallait beaucoup se renseigner avant d’acheter un ordinateur de bureau ou du matériel : est-ce que cette carte réseau précise sera prise en charge, est-ce que cette carte graphique fonctionnera sous X11, etc.
      C’était peut-être un traumatisme et une paranoïa nés des WinModem, qui à l’époque semblaient ne jamais devoir marcher
      Pourtant, au début des années 2000, on avait l’impression d’être passés dans un monde où l’on supposait qu’un nouveau matériel — qu’il s’agisse d’un lecteur Zip d’occasion ou d’une webcam — serait compatible avec Linux
      Encore aujourd’hui, j’achète une carte mère au hasard ou un gadget matériel sans trop d’inquiétude, en me disant que ça marchera probablement. J’ai eu de la chance jusque-là, mais c’est largement grâce aux développeurs de pilotes
      Des gens qui envoient une seule pull request au noyau juste pour ajouter le nombre magique permettant de reconnaître un type précis de carte SD rendent service à tout le monde
    • N’importe quel puits peut être contaminé. Linux dépend des valeurs et des compétences des gens, et rien ne garantit que ni l’une ni l’autre ne s’éroderont pas avec le temps
      C’est un peu comme le développement de la société civile, de l’économie et de la diplomatie après-guerre, qui a été une exception dans l’histoire humaine
      Il est dangereux de supposer que la situation actuelle durera éternellement sans protection ni effort continu de maintenance
    • Je me demande si cela tient à l’influence personnelle de Linus. Il arrive encore parfois que Linus doive intervenir pour remettre de l’ordre
      Il est difficile d’être certain que la trajectoire d’amélioration se maintiendra après sa retraite
    • Il y a trop de gros utilisateurs, open source et bien dotés en ressources, ce qui crée la bonne combinaison pour qu’il soit avantageux d’améliorer les choses pour tout le monde
      Dans ce cas précis, on dirait que la tragédie des biens communs fonctionne à l’envers
      Il faudrait étudier cette dynamique socio-économique et cette théorie des jeux pour essayer de la reproduire. Quelqu’un devrait écrire une thèse de doctorat en théorie des jeux sur la manière dont Linux met en œuvre quelque chose qui n’est « pas la tragédie des biens communs »
  • Je suis assez jeune pour n’avoir jamais connu un monde sans Linux, mais assez proche de sa naissance pour qu’un grand nombre des personnes concernées soient encore en vie, et c’est une sensation étrange
    L’essentiel de ma vie professionnelle a tourné autour de Linux d’une manière ou d’une autre, tout comme toute ma vie depuis mes 12 ans environ. C’est assez frappant quand je pense à l’impact que cela a eu sur mon existence

    • J’ai un sentiment similaire à propos de l’ensemble de l’informatique théorique. C’est étrange de se dire qu’un grand nombre de ses fondateurs ont été vivants pendant une portion assez longue de ma propre vie
      Claude Shannon 2001, Edsger Dijkstra 2012, John McCarthy 2011, Niklaus Wirth 2024, Konrad Zuse 1995, Alonzo Church 1995, Jim Gray 2007/2012, Grace Hopper 1992
      Même Alan Turing aurait pu être vivant de mon temps s’il n’avait pas été assassiné
      Friedrich L. Baur, décédé en 2015, avait encore un bureau dans l’université que je fréquentais, et je passais souvent devant en regardant sa plaque, avec l’impression irréelle que tout cela était vrai
      Heureusement, Donald Knuth est encore parmi nous
    • Il y a aussi la vieille pub "Linux is a 10 year old boy"
      https://www.youtube.com/watch?v=x7ozaFbqg00
    • Je vois ce que ça veut dire. J’ai aussi du mal à imaginer un monde sans iPhone
  • « Plus important encore, le système X11 a été porté sur Linux, faisant de 1992 l’année du bureau Linux » : donc c’est confirmé, l’année du desktop Linux est enfin arrivée :)
    Bon article

  • Je me souviens très bien des débuts de Linux. Au milieu des années 90, il suscitait pas mal d’intérêt à l’University of Waterloo, mais on parlait aussi beaucoup des problèmes d’installation ou de stabilité sur certains systèmes
    Ce n’était pas rare avec n’importe quel système d’exploitation à l’époque, mais c’était aussi le temps où il fallait compiler son noyau soi-même et se battre avec XFree86
    Des distributions comme Red Hat ont grandement réduit ce genre d’angoisses en peu de temps et ont rendu l’ensemble bien plus simple. La documentation était excellente aussi
    À la fin des années 1990, Red Hat était devenu aussi courant à l’université que Solaris, AIX ou IRIX, même si la plupart des gens continuaient à le juger inférieur à Solaris. Aujourd’hui, RHEL est le principal système *nix utilisé là-bas, avec un peu de Debian

    • Le HOWTO XF86Config modeline m’a appris comment fonctionnaient les contrôleurs CRT
    • J’ai récemment installé Solaris dans une machine virtuelle, et dès que j’ai vu l’installateur, des souvenirs très nets des installateurs des dérivés de Red Hat que je ne savais même pas avoir gardés me sont revenus
      Je n’étais pas assez âgé à l’époque pour être impliqué dans les Unix commerciaux, mais avec le recul, Red Hat semblait savoir très clairement à qui il s’adressait
    • Ça semble aussi correspondre à l’évolution dans les grandes universités de l’époque. Je me souviens du moment où Alpha était en voie d’abandon, et en y réinstallant Red Hat, Linux a encore gagné du terrain comme système de travail quotidien pour les chercheurs
  • Ce que j’ai appris aujourd’hui : Linus est un Finlandais suédophone, et ce groupe existe réellement
    Cette prononciation me trotte dans la tête depuis 1994
    [https://en.wikipedia.org/wiki/File:Linus-linux.ogg](https://en.wikipedia.org/wiki/File:Linus-linux.ogg)

    • Oui, il appartient à la minorité suédophone de Finlande. Je pensais que tout le monde sur HN le savait
    • Waouh, on dirait que sa prononciation anglaise a pas mal changé par la suite
    • Une archive classique. Moi aussi je la cherchais. Je me souviens qu’il y avait un fichier linus.au sur un site FTP à l’époque
      .ogg n’existait pas encore, donc c’était probablement l’original, et il y avait aussi une version non anglaise (en finnois ?)
      Heureusement que ça a survécu d’une manière ou d’une autre
  • Livre recommandé à lire avec ça : Just for Fun
    https://www.amazon.com/Just-Fun-Story-Accidental-Revolutiona...

    • Je l’ai lu il y a une dizaine d’années. C’est court, mais je le recommande vivement
  • Pendant la majeure partie de ma vie, ce genre d’exploit technique m’a semblé être l’œuvre de génies intouchables
    Mais en lisant cette histoire, on voit aussi très bien la valeur de l’amitié de long terme qui soutient l’exploration mutuelle, ainsi que celle de la stabilité financière et sociale

    • Mauvais exemple. Linus est un génie
  • Quand je pense aux débuts de Linux, ce qui me revient souvent, ce sont ses concurrents. L’article dit en substance que « les Unix commerciaux étaient si chers qu’il était plus simple d’écrire le sien », et c’est globalement vrai
    Mais il y avait aussi Coherent Unix. Je me souviens des publicités pleine quatrième de couverture dans les magazines, à 99 dollars. J’hésitais toujours à l’acheter
    L’un des gros défauts de Coherent, c’était l’absence de réseau. Puis Linux est arrivé, et en un temps étonnamment court Linux a dépassé Coherent, qui a semblé disparaître du jour au lendemain
    https://en.wikipedia.org/wiki/Coherent_(operating_system)

    • En lisant ce test de décembre 1990[1], ça n’a pas l’air si impressionnant
      On y lit que « Coherent reste fidèle aux racines d’Unix, en évitant les réseaux locaux, les interfaces graphiques, les menus, la souris, ainsi que nombre des commodités que les utilisateurs de DOS et d’Unix en sont venus à attendre d’un logiciel moderne »
      Le texte poursuit en disant que « le chemin pour apprendre Unix avec Coherent sera cahoteux » et qu’« automatiser une petite entreprise avec Coherent n’est pas réaliste »
      Coherent était closed source, donc on ne pouvait pas prendre un système imparfait et participer à son amélioration comme avec Linux. Si Linux a attiré du monde au début, ce n’est pas parce qu’il était excellent à l’époque, mais parce que les gens aimaient faire ce genre de travail
      99 dollars valent environ 230 dollars aujourd’hui. Je sais que les logiciels étaient globalement plus chers autrefois, mais 230 dollars pour un simple squelette de système d’exploitation à utiliser comme un jouet, ce n’était « bon marché » qu’en comparaison des prix d’Enterprise Unix™®
      [1]: https://books.google.ie/books?id=JZxkO0PpksUC&pg=PT61&redir_...
    • J’étais client de Coherent, et c’était plutôt bien. Avec kermit, j’appelais le système Sun du bureau, puis je le faisais me rappeler pour éviter les frais de communication
      C’est comme ça que j’ai obtenu l’accès à USENET et à l’Internet grand public. C’était une époque amusante. Dommage que l’entreprise ait fermé, mais honnêtement, vers 1995 l’issue paraissait déjà évidente
      Après la fermeture, je suis passé à Slackware, que j’utilise encore aujourd’hui. À l’époque, Linux changeait presque tous les jours
      Il y avait une chose que Coherent savait faire et que Linux ne faisait pas, mais après avoir posé la question sur USENET, quelqu’un m’a envoyé un patch en quelques jours. C’était un patch permettant d’utiliser deux moniteurs sur un 386sx avec une carte monochrome et une carte VGA, exactement comme le faisait Coherent
      Avant que les entreprises du Fortune 500 ne débarquent dans les années 2000, les gens étaient beaucoup plus accessibles
    • Les BSD arrivaient eux aussi à peu près à la même époque, notamment 386BSD[1]. Linus est célèbre pour avoir dit que si cela avait été possible au début, il n’aurait probablement pas créé Linux[2]
      La première version de 386BSD date de 1992, donc on parle ici d’une courte fenêtre d’un à deux ans. Bien sûr, FreeBSD et NetBSD en ont rapidement dérivé eux aussi
      [1] https://en.wikipedia.org/wiki/386BSD
      [2] https://www.antman.se/abc-klubben/linux/linuxdoc/linus.html
    • Je faisais tourner 386/ix[1] sur un PC i386 depuis 1987, puis je suis passé à 386BSD 0.1 fin 1992, et à FreeBSD vers 1993
      [1] https://en.wikipedia.org/wiki/Interactive_Systems_Corporatio...
    • Je me souviens avoir installé FreeBSD en 1994. Pour un gamin de 13 ans, voir un environnement de type Unix apparaître sur mon ordinateur avec startx, c’était vraiment génial
      Je trouvais FreeBSD meilleur que Linux, mais comme dans beaucoup d’autres cas, c’est la disponibilité des applications qui a fait la différence
  • Il existe un excellent documentaire sur Linux sorti en 2003. Il s’intitule Revolution OS et je le recommande vivement
    https://www.youtube.com/watch?v=k0RYQVkQmWU

    • C’était le meilleur documentaire sur Linux et GNU que j’aie vu