Microsoft re-open-sources early versions of MS-DOS on GitHub

Back in 2014, Microsoft gave the source code for MS-DOS 1.25 and MS-DOS 2.0 to the Computer History Museum. Now — in a move it describes as “re-open-sourcing” — the company has pushed the code to GitHub for all to see.

Dating from mid-1983, the source code may moisten the eyes of anyone who remembers the days of text-based operating systems, and it gives an interesting glimpse into the world of software development a few decades ago.

The code is presented complete with original comments, and Microsoft makes the slightly comic statement that “the source will be kept static, so please don’t send Pull Requests suggesting any modifications to the source files!”. MS-DOS 1.25 comprises seven assembly code sources files, totaling just 12 kilobytes. MS-DOS is rather larger, but still minuscule by today’s standards.

So what’s the reason for sticking all of this on GitHub? Microsoft says:

These are the same files originally shared at the Computer History Museum on March 25th 2014 and are being (re)published in this repo to make them easier to find, reference-to in external writing and works, and to allow exploration and experimentation for those interested in early PC Operating Systems.

The company also shares a number of pieces of trivia about the code:

All the source for MS-DOS 1.25 and 2.0 was written in 8086 assembly code

The source code for the initial release of 86-DOS dates from around December 29th 1980

The MS-DOS 1.25 code dates from around May 9th 1983, and is comprised of just 7 source files, including the original MS-DOS Command-Line shell — COMMAND.ASM!

MS-DOS 2.0 dates from around August 3rd 1983, and grew considerably in sophistication (and team size), and is comprised of 100 .ASM files

There are some interesting documentation (.TXT, .DOC) files interspersed with the source and object files — many are well worth a read, as are many of the source code comments!

If you’re interested in taking a look at the source code, you’ll find MS-DOS on GitHub.