Microsoft publie en open source le « plus ancien code source de DOS découvert à ce jour »
(arstechnica.com)- Microsoft a publié des documents précoces sur DOS remontant à avant l’apparition du nom MS-DOS, montrant une étape de développement plus ancienne que les publications précédentes
- Les éléments publiés incluent le code source du noyau 86-DOS 1.00, plusieurs instantanés de développement du noyau de PC-DOS 1.00, ainsi que des utilitaires comme CHKDSK
- Tim Paterson a créé 86-DOS pour les kits informatiques Intel 8086 de Seattle Computer Products, et ce système d’exploitation était aussi connu sous le nom de QDOS
- Microsoft a concédé sous licence 86-DOS pour le système d’exploitation de l’IBM PC 5150, a embauché Paterson, puis a racheté les droits pour l’étendre en PC-DOS et MS-DOS
- Ce code n’a pas été restauré à partir d’archives numériques mais retranscrit et numérisé manuellement à partir des sorties papier de Paterson, élargissant les sources de recherche sur les premiers systèmes d’exploitation pour PC
Code source des premières versions de DOS rendu public
- Microsoft a publié ce qu’il présente comme le « plus ancien code source de DOS qu’il ait jamais rendu public »
- Cette publication remonte jusqu’au code antérieur à l’appellation MS-DOS, et le billet de Microsoft comprend le code source du noyau
86-DOS 1.00, plusieurs instantanés de développement du noyauPC-DOS 1.00, ainsi que des utilitaires commeCHKDSK - Ces documents sont antérieurs aux codes sources MS-DOS déjà publiés et permettent donc d’observer le processus de développement initial de DOS à un stade plus précoce
Le chemin de 86-DOS à MS-DOS
- Tim Paterson a d’abord créé 86-DOS pour les kits informatiques à base d’Intel 8086 commercialisés par Seattle Computer Products
- 86-DOS était auparavant connu sous le nom de QDOS, acronyme de « quick and dirty operating system »
- Pour fournir un système d’exploitation au IBM PC 5150, alors encore en développement, Microsoft a obtenu une licence sur 86-DOS et a embauché Paterson afin qu’il poursuive le développement
- Microsoft a ensuite racheté intégralement les droits sur 86-DOS et l’a concédé sous licence à IBM sous le nom de PC-DOS, tout en conservant le droit de le vendre à d’autres entreprises
- La version commercialisée par Microsoft a été appelée MS-DOS et est devenue un système d’exploitation largement utilisé dans les années 1980 et 1990 avec la diffusion des compatibles IBM PC d’autres constructeurs
Un code restauré à partir de sorties papier
- Ce code source est si ancien qu’il n’avait pas été conservé sous forme numérique
- Une équipe d’historiens et de spécialistes de la conservation dirigée par Yufeng Gao et Rich Cini, sous le nom de « DOS Disassembly Group », a retranscrit manuellement et numérisé le code à partir des sorties papier fournies par Paterson
- En raison de la qualité de ces impressions vieilles de plusieurs décennies, les logiciels d’OCR modernes avaient du mal à les traiter correctement, ce qui a rendu la restauration plus complexe
Publications liées et dynamique de préservation
- Microsoft avait déjà publié en open source MS-DOS 1.25 et 2.0 en 2014, puis les a de nouveau publiés en 2018
- En 2024, le code source de MS-DOS 4.0, décrit comme une version atypique, a aussi été publié, et ces versions sont hébergées dans le même dépôt GitHub
- Cette publication n’est pas la première redécouverte liée à 86-DOS dans les années 2020 : il y a deux ans, la plus ancienne version connue de 86-DOS avait été redécouverte puis mise en ligne sur Internet Archive
- Avec la publication conjointe de code antérieur à la marque MS-DOS, d’instantanés de développement et d’utilitaires, l’éventail des sources primaires pour étudier l’histoire des premiers systèmes d’exploitation pour PC s’élargit
1 commentaires
Avis Hacker News
Je dis rarement ça, mais merci Microsoft. En réalité, au moins autant que DOS, et peut-être même davantage, ce qui comptait était le BASIC créé par Microsoft
Ce qu’ils voulaient vraiment faire, c’était BASIC, et DOS a surtout été l’élément qui leur a permis de décrocher le contrat IBM. Pendant des décennies, Microsoft a davantage ressemblé à une entreprise d’outils pour développeurs qui faisait des systèmes d’exploitation et d’autres logiciels en activité secondaire, et ils ont aussi publié ce code BASIC en open source https://opensource.microsoft.com/blog/2025/09/03/microsoft-o...
Dartmouth BASIC a ensuite évolué vers SBASIC (Structured BASIC), un langage de programmation structuré, mais la popularité de Microsoft BASIC a au contraire stoppé la normalisation ANSI de SBASIC
https://en.wikipedia.org/wiki/Microsoft_BASIC
L’interpréteur Altair BASIC a été développé par Paul Allen et Bill Gates à l’aide d’un émulateur Intel 8080 qu’ils avaient eux-mêmes créé sur un mini-ordinateur PDP-10, et le dialecte Microsoft s’inspirait de BASIC-PLUS de DEC, que Gates avait utilisé au lycée
https://en.wikipedia.org/wiki/Dartmouth_BASIC
Dartmouth BASIC est le BASIC d’origine créé par John G. Kemeny et Thomas E. Kurtz, et avec DTSS il a fourni un environnement de programmation interactif aux étudiants de premier cycle et, plus largement, à l’ensemble de la communauté universitaire. En 1975, ils ont lancé SBASIC, qui introduisait des concepts de programmation structurée, et cela a servi de base aux travaux ANSI sur le “Standard BASIC” au début des années 1980
Mais à la fin des années 1980, des dizaines de millions d’ordinateurs personnels faisaient tourner des variantes de l’interpréteur MS BASIC, devenu le standard de fait, et l’effort ANSI autour de SBASIC a finalement été abandonné. Kemeny et Kurtz ont poursuivi ces idées avec True BASIC, mais au mois de février 2026, le site de TrueBASIC était officiellement fermé
https://en.wikipedia.org/wiki/True_BASIC
Je suis vraiment jaloux qu’à l’époque, il ait été possible de lancer une entreprise de logiciel prospère avec seulement quelques milliers de lignes d’assembleur
Microsoft n’a pas écrit le code de DOS à l’origine, ils l’ont acheté. Bien sûr, ils l’ont ensuite développé et modifié, mais c’était moins un exploit technique qu’une opération commerciale habile, avec aussi une part de chance
Le vrai départ de Microsoft, c’était plus tôt, quand Allen, Gates et Davidoff ont créé l’interpréteur Altair BASIC, et ça, c’était une vraie prouesse
Ils n’avaient jamais vu la machine cible, et ils n’en possédaient même pas. Ils ont travaillé pendant 8 semaines sur un ordinateur universitaire qu’ils n’étaient pas censés utiliser
“Altair avait accepté une rencontre au sujet de l’achat potentiel d’un interpréteur BASIC, mais Gates et Allen n’avaient ni interpréteur BASIC ni système Altair. Allen avait déjà créé un émulateur Intel 8008 tournant sur un ordinateur en temps partagé PDP-10, qu’il adapta ensuite pour correspondre au guide du programmeur Altair afin de développer et tester l’interpréteur sur le PDP-10 de Harvard.”
L’interpréteur terminé tenait dans 4 KB de mémoire, avec son propre système d’E/S et un éditeur de lignes, tout en laissant encore assez de place pour le programme à interpréter. Pour préparer la démonstration, ils ont sauvegardé l’interpréteur terminé sur une bande perforée que l’Altair pouvait lire, puis Paul Allen s’est envolé pour Albuquerque pour rencontrer Altair
Juste avant l’atterrissage, Allen a réalisé qu’il avait oublié le bootloader permettant de charger la bande en mémoire, et il a fini le programme en langage machine 8080 avant que l’avion ne touche le sol. Ce n’est qu’après avoir chargé le programme sur l’Altair et vu l’invite demandant la taille de la mémoire système que Gates et Allen ont su que l’interpréteur fonctionnait réellement sur le matériel Altair
https://en.wikipedia.org/wiki/Altair_BASIC
Aujourd’hui, rien que pour démarrer, il faut un petit processeur à l’intérieur du processeur principal. C’était l’âge d’or
La discussion de l’époque sur ce code source est ici. Il y a 24 jours, 79 points, 19 commentaires https://news.ycombinator.com/item?id=47957494
Il y a aussi une discussion sur le clone GitHub. 162 points, 15 commentaires https://news.ycombinator.com/item?id=47946813
De façon assez incroyable, il a fallu relire des impressions papier avec de l’OCR
Ce code source est si ancien qu’il n’était même pas conservé sous forme numérique, et une équipe d’historiens et de conservateurs, le “DOS Disassembly Group”, dirigée par Yufeng Gao et Rich Cini, a péniblement retranscrit et scanné le code à partir des listings papier fournis par Paterson. À cause de la qualité de ces impressions vieilles de plusieurs décennies, même les logiciels OCR modernes auraient eu du mal
J’ai déjà réussi à faire de l’OCR sur des sorties d’imprimantes à qualité lettre jusqu’à environ 97 %, avec surtout des problèmes entre O et X
Mais les systèmes modernes de reconnaissance de texte basés sur l’apprentissage automatique semblent aussi biaisés vers le refus quand le code informatique ne ressemble pas à une langue humaine
C’est une histoire intéressante sur la manière dont Microsoft est entré dans le secteur des systèmes d’exploitation. IBM voulait le système d’exploitation CP/M, mais Digital Research n’a pas signé la NDA d’IBM, et cela est devenu un grand point de bifurcation dans l’histoire de l’informatique
Pour citer le script TV de “Triumph of the Nerds” :
https://www.pbs.org/nerds/part2.html
Jack Sams (IBM) pensait que Microsoft avait un package regroupant à la fois le langage BASIC et un système d’exploitation, mais IBM n’avait pas vraiment fait ses vérifications préalables
Selon Steve Ballmer, IBM pensait que Microsoft pouvait concéder sous licence CP/M pour le nouveau PC, parce que Microsoft vendait déjà CP/M avec le produit SoftCard. Microsoft a répondu : “Nous ne faisons pas ce métier”
Jack Sams a expliqué que Bill Gates lui avait dit qu’il n’en avait pas les droits, mais que Gary Kildall serait probablement prêt, et il aurait donc appelé Gary de Digital Research sur-le-champ pour lui dire de bien recevoir les gens d’IBM
Je me demande combien de temps il faudra avant que le code source des toutes premières versions de Windows soit publié. Le simple fait que ce code DOS si ancien existe encore donne au moins l’espoir que les anciens codes de Windows aient eux aussi été préservés
Bon, il est fort probable que je sois déjà mort depuis longtemps au moment où une telle possibilité commencera ne serait-ce qu’à poindre. C’était vraiment un système d’exploitation magnifique et fluide
Article lié récent : Microsoft open sources DOS 1.00 on 45th anniversary - https://news.ycombinator.com/item?id=47957494 - avril 2026, 19 commentaires
Les débuts de l’informatique moderne étaient vraiment brillants. On traitait les machines comme des machines
Il fallait des performances, de la créativité et de la science pour faire correctement fonctionner une machine 386. Aujourd’hui, j’ai l’impression qu’on empile juste des bibliothèques, de la virtualisation, et du mauvais code sur du mauvais code sur du mauvais code
Linus Torvalds disait quelque chose de similaire il y a quelques mois en parlant des outils de codage IA. Sa génération, et la mienne, ont eu la chance de commencer par le bas niveau et de garder une intuition de toute la pile, alors qu’aujourd’hui les jeunes ont plus de mal à avoir cette chance
Si la première expérience de programmation d’un enfant, c’est un chatbot qui a l’air génial, il me semble difficile d’acquérir ce niveau d’intuition sur les ordinateurs, les algorithmes et les structures de données
C’est bien le plus ancien code source, mais le binaire 86-DOS v0.1-C est antérieur à ce source v1.00, et v0.34 a aussi été retrouvé ; on peut le télécharger et l’exécuter dans un émulateur :-)
https://arstechnica.com/gadgets/2024/01/the-oldest-known-ver...