Microsoft 'Re-Open Sources' MS-DOS on GitHub (microsoft.com)
An anonymous reader quotes Microsoft's Developer blog:
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.... 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!
While non-source modifications are welcome, "The source will be kept static," reads a note on the GitHub repo, "so please don't send Pull Requests suggesting any modifications to the source files."
"But feel free to fork this repo and experiment!"
While non-source modifications are welcome, "The source will be kept static," reads a note on the GitHub repo, "so please don't send Pull Requests suggesting any modifications to the source files."
"But feel free to fork this repo and experiment!"
did Microsoft MS-DOS rip off CP/M 86 code?
No they didn't, because contrary to general belief Microsoft did not originally write DOS. They bought it from Seattle Computer Products [SCP] where it had been written for an 8086 by a guy called Tim Paterson. Some people believe that some ripped-off CP/M code was in it. MS also hired Paterson to port it to the IBM PC.
What MS did rip off was SCP - by lying about what they wanted DOS for, which was specifically to sell it on to IBM, and so they got it for a low price. Later SCP threatened to sue MS for misrepresentation, and I believe it was settled out of court by MS paying some more.
It’s only the source for the two ancient versions mentioned - 1.25 and 2.0. It’s been a while (obviously), but I don’t think MS-DOS got interesting until 3.x... and the final release was 8.0.
Don’t think this will replace your FreeDOS, in other words.
This is a very interesting update. And interestingly, the MIT license is compatible with the GNU GPL.
You're right, these are very old versions of MS-DOS that do not include more advanced features including CD-ROM support, networking, '386 support, etc. So from a practical side, FreeDOS would not be able to reuse this code for any modern features anyway. But for basic features, such as weird edge case compatibility, we might now be able to reference this code to improve FreeDOS.
Note: I'm the founder and coordinator of FreeDOS
It reduces the chances of tainting freedos since freedos already reverse engineered dos 1.x/2.x era functionality decades ago.
Yes, you're right. The previous source code release of MS-DOS (March 2014, from Microsoft) was under a "look but do not touch" license that said you could only read the source code, but you could not use it elsewhere, and you couldn't apply what you'd learned from the MS-DOS code in other projects. So the FreeDOS Project has been very careful and said several times that if you viewed the MS-DOS source code, you should not contribute to FreeDOS Base because we didn't want to risk tainting the FreeDOS source code. We have a note to that effect on the FreeDOS History page:
"Please note: if you download and study the MS-DOS source code, you should not contribute code to FreeDOS afterwards. We want to avoid any suggestion that FreeDOS has been "tainted" by this proprietary code."
This source code release uses the MIT license (aka Expat license) which is compatible with the GNU GPL. That should mean that people who read this version of the MS-DOS source code can contribute to FreeDOS. (As always, if you've somehow viewed one of the unauthorized source code releases of MS-DOS, you should still not contribute to FreeDOS Base.)
Note: I'm the founder and coordinator of FreeDOS
That's because 86-DOS started out as a way to port 8080/Z-80 CP/M applications to the 8086. CP/M compatibility was a primary goal, but the OS itself was never intended to be a CP/M clone.
https://web.archive.org/web/20031204161621/http://www.ece.umd.edu/courses/enee759m.S2000/papers/paterson1994-kildall.pdf