Microsoft veröffentlicht den „bisher ältesten entdeckten DOS-Quellcode“ als Open Source
(arstechnica.com)- Microsoft hat frühe DOS-Materialien veröffentlicht, die bis in die Zeit vor der Bezeichnung MS-DOS zurückreichen, und damit einen noch früheren Entwicklungsstand als in bisherigen Veröffentlichungen zeigen
- Das veröffentlichte Material umfasst den Kernel-Quellcode von 86-DOS 1.00, mehrere Entwicklungs-Snapshots des PC-DOS-1.00-Kernels sowie Utilities wie CHKDSK
- Tim Paterson entwickelte 86-DOS für die von Seattle Computer Products angebotenen Intel-8086-Computer-Kits; das Betriebssystem war auch als QDOS bekannt
- Microsoft lizenzierte 86-DOS für ein Betriebssystem des IBM PC 5150, stellte Paterson ein und kaufte anschließend die Rechte, um es zu PC-DOS und MS-DOS weiterzuentwickeln
- Dieser Code stammt nicht aus einem digitalen Archiv, sondern wurde manuell aus Papierausdrucken von Paterson transkribiert und eingescannt, was den Umfang des Forschungsmaterials zu frühen PC-Betriebssystemen erweitert
Veröffentlichten früher DOS-Quellcode
- Microsoft hat den „ältesten DOS-Quellcode, den das Unternehmen bislang veröffentlicht hat“ freigegeben
- Diese Veröffentlichung reicht bis zu Code aus der Zeit vor der Bezeichnung MS-DOS zurück; im Beitrag von Microsoft sind der Kernel-Quellcode von
86-DOS 1.00, mehrere Entwicklungs-Snapshots des Kernels vonPC-DOS 1.00sowie Utilities wieCHKDSKenthalten - Da das Material aus einer noch früheren Phase stammt als bereits veröffentlichter MS-DOS-Quellcode, lässt sich der frühe Entwicklungsprozess von DOS weiter zurückverfolgen
Der Weg von 86-DOS zu MS-DOS
- Tim Paterson entwickelte 86-DOS ursprünglich für die von Seattle Computer Products verkauften Computer-Kits auf Basis des Intel 8086
- 86-DOS war zuvor als QDOS bekannt; QDOS stand für „quick and dirty operating system“
- Microsoft lizenzierte 86-DOS und stellte Paterson ein, um die Entwicklung fortzusetzen und ein Betriebssystem für den noch in Entwicklung befindlichen IBM PC 5150 bereitzustellen
- Später kaufte Microsoft die Rechte an 86-DOS vollständig und lizenzierte es an IBM als PC-DOS, behielt jedoch das Recht, es auch an andere Unternehmen zu verkaufen
- Die von Microsoft vertriebene Version wurde MS-DOS genannt und wurde in den 1980er- und 1990er-Jahren mit der Verbreitung von IBM-PC-kompatiblen Systemen anderer Hersteller zu einem weit verbreiteten Betriebssystem
Aus Papierausdrucken rekonstruierter Code
- Dieser Quellcode ist so alt, dass er nicht in digitaler Form archiviert wurde
- Ein Team aus Historikern und Bewahrungsexperten unter Leitung von Yufeng Gao und Rich Cini transkribierte und scannte den Code unter dem Namen „DOS Disassembly Group“ manuell aus Papierausdrucken, die Paterson bereitgestellt hatte
- Wegen der Qualität der jahrzehntealten Ausdrucke war die Rekonstruktion schwieriger, da moderne OCR-Software sie nicht zuverlässig verarbeiten konnte
Verwandte Veröffentlichungen und die Entwicklung der Bewahrung
- Microsoft veröffentlichte 2014 MS-DOS 1.25 und 2.0 als Open Source und legte sie 2018 erneut offen
- 2024 wurde außerdem der als ungewöhnliche Version beschriebene MS-DOS-4.0-Quellcode veröffentlicht; diese Versionen liegen im selben GitHub-Repository
- Die aktuelle Veröffentlichung ist nicht das erste neu entdeckte 86-DOS-bezogene Material der 2020er-Jahre; vor zwei Jahren wurde die früheste bekannte 86-DOS-Version wiederentdeckt und ins Internet Archive hochgeladen
- Mit der gemeinsamen Veröffentlichung von Code aus der Zeit vor der MS-DOS-Marke, Entwicklungs-Snapshots und Utilities erweitert sich das verfügbare Quellenmaterial für die Forschung zur Geschichte früher PC-Betriebssysteme
1 Kommentare
Hacker-News-Kommentare
Das sagt man selten, aber danke, Microsoft. Eigentlich war BASIC von Microsoft mindestens genauso wichtig wie DOS, vielleicht sogar wichtiger
Das war das, was sie wirklich machen wollten, und DOS war der Anlass, durch den sie den IBM-Vertrag bekamen. Über Jahrzehnte war Microsoft eher ein Unternehmen für Entwickler-Tools, das Betriebssysteme und andere Software nebenbei baute, und auch diesen BASIC-Code haben sie als Open Source veröffentlicht https://opensource.microsoft.com/blog/2025/09/03/microsoft-o...
Dartmouth BASIC entwickelte sich später zu der strukturierten Programmiersprache SBASIC (Structured BASIC), aber die Popularität von Microsoft BASIC verhinderte letztlich sogar die ANSI-Standardisierung von SBASIC
https://en.wikipedia.org/wiki/Microsoft_BASIC
Der Altair-BASIC-Interpreter wurde von Paul Allen und Bill Gates mit einem Intel-8080-Emulator entwickelt, den sie selbst auf einem PDP-10-Minicomputer gebaut hatten, und der Microsoft-Dialekt orientierte sich an DECs BASIC-PLUS, das Gates in der Highschool benutzt hatte
https://en.wikipedia.org/wiki/Dartmouth_BASIC
Dartmouth BASIC ist das ursprüngliche BASIC von John G. Kemeny und Thomas E. Kurtz und bot zusammen mit DTSS Studierenden und der gesamten Hochschulgemeinschaft eine interaktive Programmierumgebung. 1975 brachten sie SBASIC heraus, das Konzepte der strukturierten Programmierung aufnahm und zur Grundlage der ANSI-Arbeiten an „Standard BASIC“ in den frühen 1980ern wurde
Doch bis Ende der 1980er liefen auf zig Millionen Heimcomputern Varianten des MS-BASIC-Interpreters, die damit de facto zum Standard wurden, und die ANSI-Bemühungen um SBASIC wurden eingestellt. Kemeny und Kurtz führten die Idee mit True BASIC weiter, aber Stand Februar 2026 wurde die TrueBASIC-Website offiziell geschlossen
https://en.wikipedia.org/wiki/True_BASIC
Ich beneide wirklich die Zeit, in der man mit nur ein paar tausend Zeilen Assembler ein erfolgreiches Softwareunternehmen gründen konnte
Microsoft hat den DOS-Code nicht selbst geschrieben, sondern gekauft. Natürlich wurde er später weiterentwickelt und verändert, aber das war weniger eine technische Leistung als ein kluger und glücklicher Business-Deal
Der eigentliche Anfang von Microsoft war davor, als Allen, Gates und Davidoff den Altair-BASIC-Interpreter bauten, und das war eine beachtliche Leistung
Sie hatten den Zielrechner nie gesehen und besaßen ihn auch nicht. Sie arbeiteten acht Wochen lang auf einem Uni-Computer, den sie eigentlich nicht benutzen durften
„Altair hatte einem Treffen zugestimmt, um den möglichen Kauf eines BASIC-Interpreters zu besprechen, aber Gates und Allen hatten weder einen BASIC-Interpreter noch ein Altair-System. Allen hatte bereits einen Intel-8008-Emulator gebaut, der auf einem PDP-10-Time-Sharing-Computer lief, und passte ihn an den Altair Programmer’s Guide an, um den Interpreter auf Harvards PDP-10 zu entwickeln und zu testen.“
Der fertige Interpreter passte mitsamt eigenem Ein-/Ausgabesystem und Zeileneditor in 4 KB Speicher und ließ noch genug Platz für das auszuführende Programm. Zur Vorbereitung der Demo speicherten sie den fertigen Interpreter auf Lochstreifen, den der Altair lesen konnte, und Paul Allen flog nach Albuquerque, um den Altair zu treffen
Kurz vor der Landung merkte Allen, dass er den Bootloader vergessen hatte, der das Band in den Speicher laden sollte, und beendete das Programm noch vor der Landung in 8080-Maschinensprache. Erst als das Programm auf den Altair geladen war und die Eingabeaufforderung nach der Speichergröße des Systems erschien, wussten Gates und Allen, dass der Interpreter auf echter Altair-Hardware funktionierte
https://en.wikipedia.org/wiki/Altair_BASIC
Heute braucht man schon zum Starten oft einen kleinen Prozessor im Hauptprozessor. Das war ein goldenes Zeitalter
Die damalige Diskussion über den Source-Code gibt es hier. Vor 24 Tagen, 79 Punkte, 19 Kommentare https://news.ycombinator.com/item?id=47957494
Es gibt auch eine Diskussion über den GitHub-Klon. 162 Punkte, 15 Kommentare https://news.ycombinator.com/item?id=47946813
Erstaunlicherweise musste man die Papierausdrucke erneut per OCR einlesen
Dieser Source-Code ist so alt, dass er nicht digital gespeichert war, und ein Team aus Historikern und Bewahrern namens „DOS Disassembly Group“ unter der Leitung von Yufeng Gao und Rich Cini hat den Code mühsam aus Papierausdrucken transkribiert und gescannt, die Paterson bereitgestellt hatte. Wegen der Qualität der jahrzehntealten Ausdrucke hatte selbst moderne OCR-Software Schwierigkeiten
Letter-Quality-Drucke habe ich schon mit etwa 97 % Erfolgsquote per OCR verarbeitet, meist mit Problemen bei O und X
Aber moderne, auf Machine Learning basierende Texterkennung scheint auch in die Richtung verzerrt zu sein, Computercode abzulehnen, weil er nicht wie menschliche Sprache aussieht
Es ist eine interessante Geschichte, wie Microsoft ins Betriebssystemgeschäft kam. IBM wollte das Betriebssystem CP/M, aber Digital Research unterschrieb IBMs NDA nicht, und das wurde zu einer großen Weggabelung der Computergeschichte
Zitat aus dem TV-Transkript von „Triumph of the Nerds“:
https://www.pbs.org/nerds/part2.html
Jack Sams (IBM) glaubte, Microsoft habe ein Paket mit der BASIC-Sprache und einem Betriebssystem, aber IBM hatte seine Vorrecherche nicht sauber gemacht
Laut Steve Ballmer dachte IBM, Microsoft könne CP/M für den neuen Personal Computer lizenzieren, weil Microsoft CP/M zusammen mit dem SoftCard-Produkt verkauft hatte. Microsoft antwortete: „Das ist nicht unser Geschäft.“
Jack Sams sagte, Bill Gates habe erklärt, dass er die Rechte nicht habe, aber Gary Kildall wohl bereit wäre, und habe deshalb noch vor Ort Gary von Digital Research angerufen und ihm gesagt, er solle die IBM-Leute gut behandeln
Ich frage mich, wie lange es wohl dauern wird, bis der Source-Code der frühesten Windows-Versionen veröffentlicht wird. Allein die Tatsache, dass so alter DOS-Code überhaupt noch existiert, macht Hoffnung, dass auch alter Windows-Code archiviert wurde
Wobei ich wahrscheinlich schon lange tot sein werde, bis sich auch nur ein Hauch einer solchen Möglichkeit abzeichnet. Es war wirklich ein schönes und flüssig laufendes Betriebssystem
Jüngst verwandter Beitrag: Microsoft open sources DOS 1.00 on 45th anniversary - https://news.ycombinator.com/item?id=47957494 - April 2026, 19 Kommentare
Die Anfangszeit des modernen Computings war wirklich großartig. Wir behandelten die Maschinen als das, was sie waren: Maschinen
Um einen 386er richtig zum Laufen zu bringen, brauchte es Leistung, Kreativität und Wissenschaft. Heute ist es nur noch Bibliotheken, Virtualisierung und schlechter Code auf schlechtem Code auf schlechtem Code, und das gefällt mir nicht
Linus Torvalds hat vor ein paar Monaten über AI-Coding-Tools etwas in eine ähnliche Richtung gesagt. Seine Generation und auch meine hatten das Glück, unten anzufangen und dadurch ein Gefühl für den gesamten Stack zu behalten, aber Kinder heute bekommen diese Chance nur schwer
Wenn das erste Coding-Erlebnis eines Kindes ein Chatbot ist, der wie ein Genie wirkt, wird es nicht leicht sein, ein solches Verständnis für Computer, Algorithmen und Datenstrukturen zu entwickeln
Das ist zwar der älteste Source-Code, aber das 86-DOS-v0.1-C-Binary ist noch älter als dieser v1.00-Source, und auch v0.34 wurde gefunden; man kann beides im Emulator herunterladen und ausführen :-)
https://arstechnica.com/gadgets/2024/01/the-oldest-known-ver...