I am totally loving ArsTechnica’s two part series on the history of the IBM-PC (Part 1, Part2). However there are some glaring omissions around the MS-DOS part of the story that I think they should have added in at least an afterward. My write-up here is based substantially on other articles but most importantly this article from the Computer History Museum.
History is rarely as straight forward or simple as we learned it. The nuances can make a huge difference in the overall interpretation of the actors and actions of the people involved. So the macroscopic view of the history of the IBM PC, the one you’ll find in Pirates of Silicon Valley (one of my favorite movies on the topic), is that Gates convinced IBM to pay them for an operating system. Gates then goes and finds some poor schmuck to give him his already written operating system for $50,000. Gates then makes millions on the OS he bought and then built an empire around. The Ars article does a good job of cutting through a lot of the nuance but it seems to leave the open ended questions left open as if we haven’t had some follow-on forensic analysis since then.
So first there is the claim that QDOS, which is what Microsoft purchased, was a source-code stolen clone of CP/M, as Gary Kildell the head of the company that owned CP/M, claimed. Then there was the claim that if QDOS wasn’t then at least some of MS-DOS was. Last is the claim that without QDOS there would be no Microsoft Empire. Let’s work backwards on those topics.
Microsoft wasn’t some no-name entity that happened to waltz into IBM with nothing in hand and con them into having them build an OS. Microsoft was the place to go to get your computer language tools from. They were the original authors of almost every single BASIC system in the personal computing market, along with a whole host of their own compilers for other languages like FORTRAN and Pascal. That’s why IBM wanted them, and while there they wanted them to get the OS problem solved too, which brings us to the QDOS issue.
First, it is true that without QDOS there would be no MS-DOS because Microsoft wouldn’t have been able to write an OS from scratch in under a year. However that ignores the fact that QDOS was “quick and dirty” (where the name came from) and needed a lot of work once it got brought into Microsoft. It wasn’t like all they had to do was change the strings that held the name and copyright notices. It needed major work to be up to par with what needed to be shipped. The code base they started from was QDOS to be sure, but it was still a down to the wire race to get it polished up enough for release. Beyond that first in the door entry though, QDOS really has nothing to do with MS-DOS. The code base was so poor that MS-DOS 2.0 is essentially a total rewrite of the MS-DOS 1.x line. The whole QDOS = MS-DOS concept therefore pretty much died with the release of MS-DOS 2.0 in 1983.
That moves us on to the second claim, did MS-DOS copy anything from CP/M. Since there was a ton of work in polishing, an unscrupulous developer could have peeked at decompiled or original source code from CP/M and made changes there. As I said there was a rewrite between the 1.x and 2.x versions so that would be another possible entry point for that sort of activity. Microsoft has always denied such allegations and Kildell et cetera have always stood by those allegations. The same dogged allegations came about QDOS as well and up until recently was really left to a “he said, she said” type argument. The article leaves it there as if we don’t know who is right and who is wrong, but that is no longer the case.
One of the great things about The Computer History Museum is the preservation of the source code from old software. In recent years the source code for these early operating systems has been contributed. This means we no longer have a “he said, she said” we have the data in front of us to make a determination of whether copying occurred or not. Bob Zeidman is a software forensics expert who specializes in doing just this sort of detective work. His article published in IEEE Magazine, here, employs the same modern tools we use to prove copying of source code in present day legal disputes. The conclusion is that, no, there was no copying involved. There was looking at the public API and reproducing that, which the developers of QDOS and early MS-DOS admit, but by doing it from scratch at the API implementation level. Admittedly at the time whether this was legal or not was still up for debate, but it has long since been settled as legal.
This Ars series is awesome, and I highly recommend it to anyone interested in the history of the PC or computer history in general. However it is important to close these open ended points of the article: No QDOS is not a rip-off of CP/M; No MS-DOS 1.x is not simply a rebranded QDOS; No QDOS is not the foundation of the Microsoft empire, it’s source code didn’t even live past early 1983; No, MS-DOS did not rip-off CP/M either.