Microsoft rilascia i codici sorgenti dell’MS-DOS e di Word per Windows

Qualche anno fa era assolutamente impensabile: Microsoft che rende pubblico il suo tesoro più prezioso, i codici sorgenti dei propri programmi. Ma ormai la musica è cambiata e la “nuova” Microsoft, ormai non più una “software house” ma una “servizi & device company”, è molto diversa da quella guidata da Bill Gates, soprattutto negli anni ’80.

E’ vero, comunque, che si tratta dei sorgenti dell’MS-DOS 1.1 e di Word per Windows 1.1a, che hanno un esclusivo fascino “storico” e di studio, non avendo alcun utilizzo pratico possibile, tant’è che la divulgazione è curata dal Computer History Museum.

dos11_command_prompt

PC DOS 1.10

La cosa curiosa è che Microsoft non ha rilasciato le versioni 1.0 ma le 1.1 che, tipicamente, seguivano a stretto giro la release iniziale ponendo rimedio ai bug più evidenti. Probabilmente la società di Redmond non dispone più dei sorgenti di tali versioni, anche perché il caos durante le fasi di sviluppo, in quell’era pioneristica, era tutt’altro che trascurabile.

Prendiamo ad esempio il DOS: la versione 1.0 (nota come PC DOS, perché realizzata in esclusiva ed in licenza per IBM) viene presentata 12 agosto del 1981, ed è più un “concept” che un vero e proprio sistema operativo, derivato dall’86-DOS della Seattle Computer Products (SCP), e costituito da 4.000 linee di codice assembly.

Lo sviluppo richiede quasi un anno di impegno congiunto tra IBM ed il futuro colosso di Redmond, come lo stesso Gates dichiara nei primi anni ’80 a PC Magazine:

“For more than a year, 35 of Microsoft’s staff of 100 worked fulltime (and plenty of overtime) on the IBM project. Bulky packages containing computer gear and other goodies were air-expressed almost daily between the Boca Raton [IBM] laboratory and Seattle [Microsoft]….”

“Per più di un anno, 35 dei 100 dipendenti Microsoft hanno lavorato a tempo pieno (e molto straordinario) sul progetto IBM. Enormi scatoloni contenenti componentistica hardware e altre chincaglierie erano scambiati, quasi quotidianamente, tra il laboratorio di Boca Raton [IBM] e quello Seattle [Microsoft]…”

La versione 1.0 non supporta i dischi rigidi, ma solo i floppy da 160KB e dimensione 5.25”, non supporta neanche le directory e bisogna persino reinserire la data ogni volta che si riavvia il PC.  In totale, la prima versione del DOS è composta da 40 file, di cui 38 visualizzabili con il semplice DIR e datati: 08-04-81. Gli altri due file, nascosti, sono l’IBMBIO.COM (23 luglio 1981) e l’IBMDOS.COM (13 agosto 1981).

Parte del codice è scritto direttamente da Bill Gates (quello relativo alla FAT originariamente creata per il BASIC), mentre è decisamente curiosa, ma non inusuale, la presenza della firma di Robert O’Rear all’interno del Boot Sector (scomparsa nella versione 1.1):

Absolute Sector 0 (Track 0, Side 0, Sector 1)

0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F

0000  EB 2F 14 00 00 00 60 00 20 37 2D 4D 61 79 2D 38 ./….`. 7-May-8

0010  31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  1……………

0020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  …………….

0030  00 FA 8C C8 8E D8 BA 00 00 8E D2 BC 00 7C FB A1  ………….|..

0040  06 7C 8E D8 8E C0 BA 00 00 8B C2 CD 13 72 41 E8  .|………..rA.

0050  58 00 72 FB 2E 8B 0E 02 7C 51 BB 00 00 33 D2 B9  X.r…..|Q…3..

0060  08 00 BE 01 00 56 B0 01 B4 02 CD 13 72 22 5E 58  …..V……r”^X

0070  E8 E7 00 2B C6 74 14 FE C5 B1 01 BE 08 00 3B C6  …+.t……..;.

0080  73 04 8B F0 EB 01 96 56 50 EB DD 2E FF 2E 04 7C  s……VP……|

0090  BE 44 7D B8 42 7D 50 32 FF AC 24 7F 74 0B 56 B4  .D}.B}P2..$.t.V.

00A0  0E BB 07 00 CD 10 5E EB F0 C3 BB 00 00 B9 04 00  ……^………

00B0  B8 01 02 CD 13 1E 72 34 8C C8 8E D8 BF 00 00 B9  ……r4……..

00C0  0B 00 26 80 0D 20 26 80 8D 20 00 20 47 E2 F3 BF  ..&.. &.. . G…

00D0  00 00 BE 76 7D B9 0B 00 FC F3 A6 75 0F BF 20 00  …v}……u.. .

00E0  BE 82 7D B9 0B 00 F3 A6 75 02 1F C3 BE F9 7C E8  ..}…..u…..|.

00F0  A5 FF B4 00 CD 16 1F F9 C3 0D 0A 4E 6F 6E 2D 53  ………..Non-S

0100  79 73 74 65 6D 20 64 69 73 6B 20 6F 72 20 64 69  ystem disk or di

0110  73 6B 20 65 72 72 6F F2 0D 0A 52 65 70 6C 61 63  sk erro...Replac

0120  65 20 61 6E 64 20 73 74 72 69 6B 65 20 61 6E 79  e and strike any

0130  20 6B 65 79 20 77 68 65 6E 20 72 65 61 64 F9 0D   key when read..

0140  0A 00 CD 18 0D 0A 44 69 73 6B 20 42 6F 6F 74 20  ……Disk Boot

0150  66 61 69 6C 75 72 E5 0D 0A 00 50 52 8B C6 BF 00  failur….PR….

0160  02 F7 E7 03 D8 5A 58 C3 52 6F 62 65 72 74 20 4F  …..ZX.Robert O

0170  27 52 65 61 72 20 69 62 6D 62 69 6F 20 20 63 6F  ‘Rear ibmbio  co

0180  6D B0 69 62 6D 64 6F 73 20 20 63 6F 6D B0 C9 00  m.ibmdos  com…

0190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  …………….

01A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  …………….

01B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  …………….

01C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  …………….

01D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  …………….

01E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  …………….

01F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  …………….

0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F

La versione 1.1 (1982), quella di cui sopra, si limita sostanzialmente a risolvere i bug presenti e la funzionalità più innovativa è quella di confermare la data con un semplice “invio”, senza richiederne l’inserimento ogni volta ;-)

Si tratta comunque per Microsoft di una vera pietra miliare perché alla base della prime release distribuite agli OEM diversi da IBM, identificata dal numero di versione 1.25, ma sostanzialmente identica.

A differenza dell’MS DOS 1.1, Word per Windows 1.1a (1989) è un prodotto più maturo perché erede delle versioni per DOS e per Mac, a cui segue, rispettivamente, dopo 6 e 4 anni. Se volete avere un’idea di tale versione basta aprire il vecchio “write” di Windows XP: ecco, era più o meno tutto lì, tranne la vision e la strategia di Gates per conquistare anche il settore delle office application.

 word1

Word 1.0

Press ESC to close