Le code source de MS-DOS 4.0 publié en open source
- Microsoft a publié le code source de MS-DOS 4.00 sous licence MIT, en collaboration avec IBM, dans un esprit d'open innovation
- Il y a dix ans, Microsoft avait déjà rendu publics les codes sources de MS-DOS 1.25 et 2.0 via le Computer History Museum, avec une redistribution à des fins de référence
- Ce code, écrit presque entièrement en assembleur 8086 il y a près de 45 ans, constitue un système d’exploitation historiquement important et particulièrement intéressant
L’histoire complexe et fascinante de DOS 4.0
- L’historique des versions de DOS 4.0 est quelque peu complexe et intéressant : Microsoft a co-développé une partie du code avec IBM, tout en créant aussi une branche DOS appelée Multitasking DOS, qui n’a jamais été largement distribuée
La découverte du chercheur britannique Connor "Starfrost" Hyde
- Le chercheur britannique Connor "Starfrost" Hyde a récemment contacté l’ancien CTO de Microsoft, Ray Ozzie, pour discuter d’une partie de sa collection logicielle
- Ray a retrouvé, parmi ses disquettes, un binaire bêta inédit de DOS 4.0 reçu à l’époque où il travaillait chez Lotus
- Starfrost a contacté l’OSPO de Microsoft afin de proposer la publication du code source de DOS 4, dans le cadre d’un travail de documentation sur les liens entre DOS 4, MT-DOS et ce qui deviendra plus tard OS/2
- Ce nouveau binaire bêta provenant d’Ozzie est bien plus ancien que les versions ultérieures de Multitasking DOS que l’on peut trouver sur Internet ; il s’agit d’une version inédite qui inclut aussi le code source de
ibmbio.com
Efforts supplémentaires de Microsoft
- Scott Hanselman de Microsoft, avec l’aide de l’archiviste et passionné d’Internet Jeff Sponaugle, a réalisé une image de ces disquettes originales et soigneusement numérisé la documentation papier d’origine de l’"Ozzie Drop"
- Avec ses homologues chez IBM, Microsoft a estimé qu’il s’agissait d’un pan fascinant de l’histoire des systèmes d’exploitation qui méritait d’être partagé
- Jeff Wilcox et l’OSPO ont exploré les archives de Microsoft, sans retrouver le code source complet de MT-DOS, mais ont découvert le MS-DOS 4.00 publié aujourd’hui, ainsi que des binaires bêta supplémentaires, des PDF de documentation, des images disque, etc.
- Si d’autres éléments sont retrouvés, cette publication sera mise à jour
Remerciements
- Remerciements à Ray Ozzie, Starfrost, Jeff Sponaugle, Larry Osterman, aux amis de l’OSPO d’IBM, ainsi qu’aux créateurs de logiciels d’archéologie numérique comme Greaseweazle, Fluxengine, Aaru Data Preservation Suite et HxC Floppy Emulator
- Et surtout, merci aux auteurs originaux de ce code, dont certains travaillent encore chez Microsoft et IBM
L’essayer vous-même
- Pour exécuter et explorer ce logiciel par vous-même, vous pouvez l’utiliser directement sur un IBM PC XT d’origine ou sur un Pentium plus récent, ainsi que dans les émulateurs open source PCem et 86box
L’avis de GN⁺
- Cette publication du code source semble être une initiative significative à forte valeur historique. MS-DOS occupant une place importante dans l’histoire du PC, ce sera une ressource passionnante pour beaucoup
- Toutefois, DOS 4.0 est une version inachevée qui n’a pas réellement été utilisée à grande échelle ; il serait donc aussi intéressant de voir publiés les codes sources des versions réellement utilisées, comme les séries 3.x, 5.0 ou 6.x
- Même le code source d’une version inachevée a de la valeur, car il permet d’entrevoir les méthodes de développement des OS et les styles de code de l’époque, mais voir le code réellement utilisé dans des produits aurait une autre forme d’intérêt
- Restaurer le contenu de vieilles disquettes n’a certainement pas dû être simple, mais cela semble avoir été rendu possible grâce aux progrès des outils concernés. On peut espérer voir se multiplier ce type de restauration d’artefacts du passé par l’archéologie numérique
- Si un environnement de build reproductible était fourni avec les sources, cela offrirait aussi l’occasion de compiler et modifier directement MS-DOS. Ce serait une aide précieuse pour l’étude des OS legacy
1 commentaires
Avis sur Hacker News
Quelqu’un a réussi à faire tourner MS-DOS 4.0 sur un IBM XT d’origine avec un adaptateur d’affichage monochrome. C’était impressionnant de pouvoir basculer d’une simple touche entre de petits jeux, Turbo Pascal et l’invite DOS.
Il semble que l’insulte préférée des développeurs lorsqu’ils étaient frustrés dans le code source de MS-DOS était souvent « brain damaged ».
Une courte vidéo montrant MS-DOS 4.0 en cours d’exécution sur un IBM XT a été partagée. Scott a été largement félicité pour avoir retrouvé les disquettes et obtenu l’autorisation de publication.
Le code source contient un commentaire disant « Dam multiplan! », vraisemblablement une pique contre l’application de feuille de calcul Multiplan.
Il semble que le code source contenait des grossièretés avant la mise en place de la politique.
L’open source du code source de MS-DOS est une bonne chose, mais il est regrettable qu’elle ait été motivée par des facteurs externes. Il semble manquer, en interne dans les entreprises, une vraie dynamique pour publier les codes sources historiques.
De mémoire, à partir de MS-DOS 5.11, les TSR, les gestionnaires de mémoire et autres éléments s’étaient stabilisés. Il serait intéressant que le code source des versions 5.x et 6.x soit également publié.
Il s’est écoulé 37 ans entre la sortie de MS-DOS 4.0 (1986) et son passage en open source (2024). À ce rythme, on peut s’attendre à ce que Windows XP passe en open source vers 2038.
MS-DOS 4.x peut exécuter la plupart des logiciels DOS vintage, ce qui donne une vraie importance à la publication de son code source.
Globalement, MS-DOS 4 n’était pas une très bonne version et n’a pas été largement utilisée. Les versions 3.3 ou 5.0 étaient plus courantes. Quelqu’un se demande si d’autres se souviennent de la liste MUF (Microsofts Undocumented Features).