Microsoft's Rich Turner wrote, "In March 2014, Microsoft released the source code to MS-DOS 1.25 and 2.0 via the Computer History Museum. The announcement also contains a brief history of how MS-DOS came to be for those new to the subject, and ends with many links to related articles and resources for those interested in learning more.
"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."
Turner also observes:
- 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 29 December 1980.
- The MS-DOS 1.25 code dates from around 9 May 1983, and is comprised of just seven source files, including the original MS-DOS Command-Line shell – COMMAND.ASM!
- MS-DOS 2.0 dates from around 3 August 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!
Turner concludes with the exhortation, "Enjoy exploring the initial foundations of a family of operating systems that helped fuel the explosion of computer technology that we all rely upon for so much of our modern lives!"
Already, one commenter to the announcement has indicated that he/she plans to port the source to the Arduino platform.
The software is provided under the MIT Licence:
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: (not included here – read the licence.md file on GitHub for the full text)