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.
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.
Word 1.0