Developpez.com

Le Club des Développeurs et IT Pro

Microsoft publie le code source de MS-DOS 1.1 et 2.0, et de Word pour Windows 1.1a

Sur le site du Computer History Museum

Le 2014-03-26 11:02:24, par Hinault Romaric, Responsable .NET
À quoi ressemble le code source des premières versions du système d’exploitation de Microsoft (MS-DOS) et de l’application de bureautique Word ? Si vous vous êtes déjà posé cette question, Microsoft vous donne l’occasion d’assouvir votre curiosité.

La société vient de publier le code source de MS DOS 1.1 et 2.0, ainsi que de Word pour Windows 1.1a, qui peut être téléchargé librement.

Pour la petite histoire, MS-DOS (Microsoft Disk Operating System) est une adaptation de QDOS par son développeur Tim Paterson, après son rachat à 75 000 dollars par Microsoft à Seattle Computer Company, suite à un deal avec IBM pour livrer un OS pour son premier PC. MS-DOS 1.0 est sorti avec l’IBM PC en juillet 1981 et a été jusqu’en 1990 le système le plus utilisé sur compatible PC. Microsoft avait conservé le droit de vendre celui-ci à d’autres constructeurs, ce qui a favorisé l’éclosion de la société.


En ce qui concerne Word pour Windows, il a été publié en 1989 (la première version a été publiée en 1983 pour MS-DOS) et a rapidement explosé en popularité. L’outil de traitement de texte a déclassé ses concurrents de l’époque (WordStar et WordPerfect) grâce à ses fonctionnalités de mise en forme et son système de WYSIWIG.

Ces deux programmes (MS-DOS et Word) ont permis à Microsoft d’écrire les plus belles pages de son histoire dans l’industrie technologique. « MS-DOS et Word ont jeté les bases du succès de Microsoft », rappelle Roy Levin, directeur de Microsoft Research.


La publication du code source de MS DOS 1.1 et 2.0, et Word a été possible grâce à une collaboration avec le Computer History Museum (CHM). « Nous pensions que la préservation du code source historique comme celui de ces deux programmes est essentielle pour comprendre comment le logiciel a évolué pour devenir un élément essentiel de notre civilisation », a commenté Len Shustek, président du Computer History Museum.

Le code source de ces programmes est disponible sur le site du CHM et ne doit pas être exploité à des fins commerciales.

En publiant le code de ces logiciels, Microsoft emboîte le pas à Adobe et Apple, qui ont respectivement fait don du code du premier PhotoShop et du DOS de l’Apple II au CHM.

Télécharger le code sur le site du CHM

Source : Microsoft

Et vous ?

Qu'en pensez-vous ? Allez-vous télécharger ce code ?
  Discussion forum
33 commentaires
  • Calmacil
    Membre régulier
    C'est drôle de voir les ptits nouveaux réagir aux trolls.. Les fleurs en plastique, ca s'arrose avec du pé-troll non?
  • rawsrc
    Expert éminent sénior
    C'est le printemps qui revient ^^
    C'est moi ou les fleurs se mettent à fleurir très tôt en cette saison
  • Envoyé par Fleur en plastique
    En effet quand on voit que pour faire tourner Lunix il faut minimum 4 cœurs, 3 GHz et 8 Go de RAM
    Non, non et non !
    Si les utilisateurs de linux ont des machines magnifique c'est qu'ils ont économisé la licence de 120€ de windows 8.1
  • psychadelic
    Expert confirmé
    Envoyé par chanyslas
    Dans le package, il y a un assembleur x86 écrit en langage assembleur x86. Amusant. Mais avec quoi l'ont-ils assemblé ?
    C'est un classique en développement, l'assembleur x86 à été fait par lui même, on commence avec des fonctions basiques (faites en Hexa pour commencer) puis une fois qu'on a suffisament de code utile, on l'augmente en l'auto compilant par lui même.

    C'est ainsi que les compilateurs C sont écrits en C, et même le premier compilateur ADA d'Ichbiah à été fait en ADA...
  • Etanne
    Membre éclairé
    Envoyé par coolspot
    Quand à SQL Server il faut plutôt le comparé avec du postgres et de toute façon les part SQL Server c'est comme IIS ca reste pas terrible et très loin d'un Oracle par exemple.
    Dire cela c'est ne rien connaître aux SGBDR...

    Deux petits liens :


    Et dire que IIS n'est pas terrible

    Bref, pour en revenir à l'article c'est vraiment sympa d'avoir publié les sources ! Et reddit à bien fait son boulot, voici de magnifiques bouts de codes :

    Pour Word :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Word 1.1a CHM Distribution/Opus/asm/wordgrep.asm:; BP  is used as always, the other registers are free to fuck with.
    Word 1.1a CHM Distribution/Opus/asm/wordgrep.asm:   je  another_fucking_out_of_range_jump
    Word 1.1a CHM Distribution/Opus/asm/wordgrep.asm:another_fucking_out_of_range_jump:
    Word 1.1a CHM Distribution/Opus/rsb.c:          /* convert HT value into a move value. This is shitty,
    Word 1.1a CHM Distribution/Opus/renum.c:            /* catch bogus user input of stupidly large numbers... */
    Word 1.1a CHM Distribution/Opus/docman2.c:      pchPattern++;       /* starting a pattern with * is stupid */
    Word 1.1a CHM Distribution/Opus/wordtech/error.c:   StKey("Style cannot be based on itself.",StupidBasedOn) 
    Word 1.1a CHM Distribution/Opus/CMD3.C: TurnOffSel(&selCur); /* to avoid horrible flashing */
    Word 1.1a CHM Distribution/Opus/CMD3.C:         TurnOffSel(&selCur);    /* to avoid horrible flashing */
    Word 1.1a CHM Distribution/Opus/grswath.c:          { /* this is the horrible case of landscape bitmaps & !fvertdev */
    Word 1.1a CHM Distribution/Opus/insfield.c:#ifdef HORRIBLEFLUSHING
    Word 1.1a CHM Distribution/Opus/insfield.c:#endif /* HORRIBLEFLUSHING */
    Word 1.1a CHM Distribution/Opus/dlglook1.c:             FormatLine pukes...generates a 256 point line */
    Word 1.1a CHM Distribution/Opus/fltexp.c:               goto LReturnCh; /* This should make the parser puke. */
    Word 1.1a CHM Distribution/OpusEtAl/cashmere/fldexp/expmod.c:               return (ch); /* This should make the parser puke. */
    Word 1.1a CHM Distribution/OpusEtAl/cashmere/fldexp/expmod.c:               return (chDecimal); /* This should make parse puke. */
    Et pour DOS :
    Code :
    v11source/ASM.ASM:; 08/18/82 2.42 Increase stack from 80 to 256 (Damn! Overflowed again!)
    Et enfin un grand remerciement à Fleur_Plastique pour m'avoir fait rire en cette journée pas très rose, chacun des posts est un vrai régal (surtout les personnes qui y répondent)
  • satenske
    Membre confirmé
    Envoyé par Fleur en plastique
    Je suis très déçue de cette décision de Microsoft. Déjà, pourquoi dévoiler ainsi un secret industriel vieux de 30 ans ? Quel intérêt, si ce n'est donner à manger aux affamés qui bidouillent sur le noyau Lunix ?

    En effet quand on voit que pour faire tourner Lunix il faut minimum 4 cœurs, 3 GHz et 8 Go de RAM, et qu'à côté Microsoft dévoile le code source d'un OS qui ne prenait que 16 Ko de RAM et tournait sur un 8088 à 4,77 MHz, et donc dévoile à tout le monde les différents secrets industriels qui ont permis de faire fonctionner sur une machine très faible un OS aux performances et à la fiabilité inégalée, je me dis que c'est donner à manger aux requins pour mieux se faire manger. Il est fort probable que les barbus de Lunix vont se jeter sur ce code et l'intégrer sournoisement à leur noyau. Il y aurait même un risque que Lunix devienne plus performant et fiable que Windows 8.1 Update 1. Vous imaginez l'horreur ?
    Fleur en plastique, ça faisait longtemps.
    Mais j'ai l'impression que tes trolls ont un peu moins de pêche qu'avant, dommage.

    SInon, je trouve ça une bonne nouvelle, le code en lui même ne servira pas à grand chose, mais ça reste intéressant de voir comment était fait ce dinosaure.
  • temoanatini
    Membre averti
    MS-DOS (Microsoft Disk Operating System) est une adaptation de QDOS par son développeur Tim Paterson, après son rachat à 75 000 dollars par Microsoft à Seattle Computer Company, suite à un deal avec IBM pour livrer un OS pour son premier PC
    De mémoire, QDOS signifie : "Quick and Dirty Operating System".

    Et c'est bel et bien son créateur qui l'avait nommé ainsi... or on sait bien qu'on a tendance à être plutôt fier de son propre code.

    C'est dire que MS-DOS partait sur de "bonnes bases"
  • Fleur en plastique

    Je suis très déçue de cette décision de Microsoft. Déjà, pourquoi dévoiler ainsi un secret industriel vieux de 30 ans ? Quel intérêt, si ce n'est donner à manger aux affamés qui bidouillent sur le noyau Lunix ?

    En effet quand on voit que pour faire tourner Lunix il faut minimum 4 cœurs, 3 GHz et 8 Go de RAM, et qu'à côté Microsoft dévoile le code source d'un OS qui ne prenait que 16 Ko de RAM et tournait sur un 8088 à 4,77 MHz, et donc dévoile à tout le monde les différents secrets industriels qui ont permis de faire fonctionner sur une machine très faible un OS aux performances et à la fiabilité inégalée, je me dis que c'est donner à manger aux requins pour mieux se faire manger. Il est fort probable que les barbus de Lunix vont se jeter sur ce code et l'intégrer sournoisement à leur noyau. Il y aurait même un risque que Lunix devienne plus performant et fiable que Windows 8.1 Update 1. Vous imaginez l'horreur ?

    Ah voilà quelque chose d'intéressant !
    Ca me met de bonne humeur en ce matin gris, Depuis que Developpez a des airs de Doctissimo, je trouve Fleur en plastique plutôt bien intégrée. Elle est un peu notre Monty Python binaire.
    Hélas Fleur en plastique, publier les sources ne veut pas dire libre, GNU, GPL .... Donc, peu de risque de le retrouver dans le code Lunix 64. Dommage pour Lunix !

    Ceci dit à titre pédagogique et paléontologique ce code source est très intéressant, mais à part ça .... ?
  • berceker united
    Expert éminent
    Envoyé par Fleur en plastique
    Je suis très déçue de cette décision de Microsoft. Déjà, pourquoi dévoiler ainsi un secret industriel vieux de 30 ans ? Quel intérêt, si ce n'est donner à manger aux affamés qui bidouillent sur le noyau Lunix ?

    En effet quand on voit que pour faire tourner Lunix il faut minimum 4 cœurs, 3 GHz et 8 Go de RAM, et qu'à côté Microsoft dévoile le code source d'un OS qui ne prenait que 16 Ko de RAM et tournait sur un 8088 à 4,77 MHz, et donc dévoile à tout le monde les différents secrets industriels qui ont permis de faire fonctionner sur une machine très faible un OS aux performances et à la fiabilité inégalée, je me dis que c'est donner à manger aux requins pour mieux se faire manger. Il est fort probable que les barbus de Lunix vont se jeter sur ce code et l'intégrer sournoisement à leur noyau. Il y aurait même un risque que Lunix devienne plus performant et fiable que Windows 8.1 Update 1. Vous imaginez l'horreur ?
    Hein ?
  • Paul TOTH
    Expert éminent sénior
    en même temps, tant qu'à étudier du code assembleur, je me mettrais plus à étudier KolibriOS qu'un vieux DOS