Was MS-DOS copied from CP/M?

Wednesday, November 21st, 2018

Even to this day, people are still talking about the CP/M vs. MS-DOS controversy. Did MS-DOS steal from CP/M? Why did they settle a lawsuit if they didn’t? The problem is, almost no one realizes what the actual argument is. People want to make the issue about Microsoft stealing code from CP/M and using it. I don’t deny that there is a rumor that Gary Kildall performed some secret keystroke combination that produced an Easter egg in CP/M that he duplicated in MS-DOS. But, the best I can tell, that is complete folklore that only added to the mystique and mystery. The real argument is more apparent.

MS-DOS copied the CP/M API interface. The CP/M API was and is copyrighted material. MS-DOS did expand it and change around certain aspects of it, but it was a blatant copy. In addition to that, MS-DOS copied the FCB structure for accessing files from CP/M. This fact cannot be questioned or debated (I suppose it could be, but no intelligent debate will be produced). It would’ve been in Digital Research’s best interest to have immediately filed a lawsuit. However, on the advice of DR’s legal counsel, they decided to settle with IBM whereby IBM would sell CP/M as an alternate OS for the IBM-PC. Of course, no one told DR that IBM would sell PC-DOS for $40 while CP/M’s list price was $240.

If DR would’ve sued MS-DOS, they would’ve received royalties for each copy of PC-DOS sold. From what I’ve read, DR’s legal counsel advised against it since copyright law in software might prove rather difficult. Additionally, no one really felt that the IBM-PC would have any kind of real market penetration anyway. So, it kind of makes sense that Gary Kildall would have made the decision that he did.

Regardless, anyone who knows anything about computer science and operating systems would know that CP/M and MS-DOS were written in different languages. Gary originally wrote CP/M mostly with a programming language that he created call PL/M. Some, if not many, portions were written in assembly language. However, MS-DOS, at least the first several versions, was written entirely in assembly language. There is no proof that the author of MS-DOS, Tim Patterson, disassembles portions of CP/M and reverse engineered it. But, as a whole, no wholesale copying of MS-DOS was proven or even alleged.

The main lawsuit, filed by Caldera (the company who obtained the rights to Digital Research’s intellectual property and assets), was mainly because of Microsoft’s anti-competitive practices. Microsoft actively tried to keep DR-DOS out of the marketplace. AARD code and vaporware (Microsoft’s claims of developing products that never came to light) were a few of the examples of Microsoft’s nefarious business practices. Not only were these highly illegal but it just wasn’t the right thing to do. This was the basis for the lawsuit and the reason Microsoft eventually paid out the nose.

While articles making the claim of code piracy are entertaining (for example, see http://www.embedded-computing.com/embedded-computing-design/software-forensics-lay-ms-dos-cp-m-controversy-to-rest), they get the argument almost completely wrong. However, that seems to be consistent with just about every aspect of Gary Kildall’s life. It’s too bad that the things that most of us know or remember about Gary’s life were never really true.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: