Do you dream of CONFIG.SYS and find yourself doodling “DOS=HIGH,UMB” on scraps of paper during moments of boredom? If so, recent news from Microsoft will likely make your day. Microsoft is re-open-sourcing MS-DOS on GitHub. As implied, this isn’t the first time the OS has been released as an open-source project, but according to Microsoft, it’s now much easier to use the data. The company writes, “Today, we’re re-open-sourcing MS-DOS on GitHub. Why? Because it’s much easier to find, read, and refer to MS-DOS source files if they’re in a GitHub repo than in the original downloadable compressed archive file.”
Two different versions of DOS have been open-sourced — DOS 1.25 and DOS 2.0. DOS 1.25 was used as the basis for all of the non-IBM versions of DOS, while MS-DOS version 2.0 included a number of significant features such as IBM XT hard drive support (up to 32MB formatted), user-installable device drivers, non-multi-tasking child processes, and ANSI.SYS. DOS 2.0 was also the first version to support 5.25-inch disks in capacities of 180KB and 360KB.
Microsoft’s blog post notes:
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!
Microsoft’s decision to open source MS-DOS like this might not seem particularly important, given the plethora of alternatives on the market. FreeDOS remains in active development, while utilities like DOSBox can emulate DOS effectively. Then there’s the fact that even as DOS versions go, MS-DOS 2.0 is ancient — I got started with MS-DOS 3.3 in 1987, DOS 6.22 was the last version released at retail, and the last version to formally ship with Windows ME was 8.0. But DOS is also a critical component of the history of the PC and its development mirrors the deployment of features and technology in much of the market through the 1980s.
Microsoft asks that users refrain from Pull Requests that suggest source file modification, as it intends to keep source files static.