The way the histories of CP/M, DOS, Microsoft, and the 8086 intertwine would be worthy of an amazing film if it wasn’t for the fact it would be very hard to make it interesting screen material.
Few OEMs were asking for an 8086 version of CP/M. One that did was SCP – the same company that helped Microsoft design SoftCard. They needed a disk operating system for their 8086 board released in November 1979. In April 1980, after CP/M-86 was still nowhere to be seen, they lost patience and asked their young engineer Tim Paterson to develop a “quick and dirty” OS similar to CP/M that would hopefully boost the sales of their board. That little operating system, officially named 86-DOS, was eventually purchased by Microsoft and renamed MS-DOS. Paterson has stated on multiple occasions that he would never have begun developing it had CP/M‑86 been available on time.
↫ Nemanja Trifunovic
There’s a ton more in this article about CP/M-86 and its gestation period, but this tangled little knot of coincidences always entertains me. It really could’ve been CP/M, and it really could’ve not been Microsoft. This industry is filled to the brim with interesting what-if stories that we barely regard as a worthy footnote, but few are as fascinating as what the world would’ve looked like had CP/M won out over DOS. The entire world would’ve been drastically different, and while nobody can say with a straight face it would be a better world, we’d at least not have the spectres of MS-DOS haunting system administrators, developers, and users the world over.
Of course, they’d be haunted by different spectres, but still.

The more I hear about this story, the more I sadly have to lay most of the responsibility at the feet of Gary Kildall himself.
There is not a lot of evidence that IBM rejected CP/M for technical reasons. So I doubt the state of CP/M-86 was really the deciding factor. You often hear that Killdall missed a key meeting that created an opportunity for Microsoft (off flying his plane somewhere). It is sometimes painted as an unfortunate bit of bad luck. If you dig into it though, he did meet with IBM and it seems more likely that he missed the meeting in question on purpose. Gary Kildall saw the IBM opportunity as a bad deal–giving away too much for too little upside. He thought he had the keys to the kingdom and, at the very least, he was trying to play hardball.
In the end, the good enough, more open, and eventually better operating system won lasting market share. We have seen this movie plot before and since.
The events detailed in this article are important context but not truly explanatory. At least, that is my view.
> The more I hear about this story, the more I sadly have to lay most of the responsibility at the feet of Gary Kildall himself.
Your story is incomplete and the details you continued with were wrong.
> There is not a lot of evidence that IBM rejected CP/M for technical reasons.
It was not technical. Nobody ever said it was.
> So I doubt the state of CP/M-86 was really the deciding factor.
I think that’s wrong.
> You often hear that Killdall missed a key meeting that created an opportunity for Microsoft
Not from good sources, no.
There is a *LOT* of FUD about this.
> (off flying his plane somewhere).
Right, so you have been reading the FUD.
Yes, Kildall was in his plane, but you do not know the reasons. There were two.
1. He was flying was to make a site visit with a very important business partner, Bill Godbout.
Robert Scoble has the story:
https://scobleizerblog.wordpress.com/2007/08/08/the-rest-of-the-story-behind-microsofts-os-deal-with-ibm/
Kildall was flying with his colleague Tom Rolander, who is alive and well & has told this story repeatedly, including on video.
https://www.youtube.com/watch?v=Dx89THub510&t=1020s
(17min onwards.)
Godbout died a couple of years ago, and is missed in the classic and vintage computer world: he was a big figure.
https://en.wikipedia.org/wiki/Bill_Godbout
(I am quoting myself from the last time I had to explain this, over on HN.)
DR was based in Pacific Grove, some 80 miles or an hour and a half drive from Silicon Valley. He often chose to fly. Why wouldn’t you?
2. Kildall was not at the meeting because it was not his job. He was a programmer. His wife, Dorothy McEwen, was a co-founder of DR and she did negotiations and so on.
https://en.wikipedia.org/wiki/Dorothy_McEwen_Kildall
It was not his job to talk to IBM and so he did not need to be there. She did. She was.
IBM wanted a harsh NDA. She refused. It was a sensible call; DR dominated business computing, and IBM wasn’t even in that market.
https://books.google.im/books?id=pNmm_Axdor8C&pg=PA147&redir_esc=y#v=onepage&q&f=false
> It is sometimes painted as an unfortunate bit of bad luck.
It is called bad luck, but there were solid viable reasons for DR’s mistakes — the true story is there, on the record.
> If you dig into it though, he did meet with IBM and it seems more likely that he missed the meeting in question on purpose. Gary Kildall saw the IBM opportunity as a bad deal–giving away too much for too little upside. He thought he had the keys to the kingdom and, at the very least, he was trying to play hardball.
Yes, that’s fair. But the point is that IBM wanted an NDA that was against DR policy and DR followed its own guidelines in refusing. This was IBM trying to act tough, and yet, it let MS keep a licence to resell DOS to other vendors, showing that it was not IBM being canny, just IBM being bureaucratic and institutional and not willing to negotiate and compromise.
> In the end, the good enough, more open, and eventually better operating system won lasting market share. We have seen this movie plot before and since.
I’d dispute “eventually better.”
DOS was smaller and simpler, but it grew.
However, DR grew CP/M too. It effectively merged its multiuser multitasking MP/M into CP/M-86 to create Concurrent CP/M, and then added DOS compatibility to make Concurrent DOS, which became Multiuser DOS.
DR’s OS grew into something far more capable.
The _286_ version of Concurrent DOS could multitask DOS apps, which even MS’s own OS/2 could not.
https://books.google.im/books?id=2y4EAAAAMBAJ&pg=PA17&redir_esc=y#v=onepage&q&f=false
https://books.google.im/books?id=2y4EAAAAMBAJ&pg=PA17&redir_esc=y#v=onepage&q&f=false
However, Intel removed the feature it needed before it shipped the 80286 CPU.
Intel later replaced them and fixed the 286:
https://books.google.im/books?id=_y4EAAAAMBAJ&pg=PA21&redir_esc=y#v=onepage&q&f=false
… but it was too late. This mortally hurt DR but it
recovered: it turned CDOS into a realtime OS and sold it on cash registers and things for decades to follow.
https://en.wikipedia.org/wiki/FlexOS
I think it’s fair to say DR’s OSes were _far_ superior to anything MS offered until well into the Windows era in the 1990s.
> The events detailed in this article are important context but not truly explanatory. At least, that is my view.
Then I think you are wrong and working on incomplete and incorrect info.
DR was critically late with CP/M-86, which followed about _three years_ after the 8086 itself. This was _why_ SCP wrote 86-DOS.
This article explains _why it was late_. That’s vital info; the future of the PC industry and trillion-dollar businesses hinged upon it.
I wouldn’t say MS-DOS was “more open”. I think MS-DOS and CP/M were equally “open”. Microsoft licensed it to any vendor willing to ship it, just as DRI did with CP/M. It’s just MS-DOS was riding the coat-tails of the unexpected raving success of the IBM PC. Microsoft weren’t shipping a superior product, and MS-DOS wasn’t Any better, or really any worse, than any other operating system at the time. Microsoft just happened to be in the right place at the right time, with a large enough company to make products quick enough and “good enough”.
Most people think Microsoft made their fortune with Windows and MS-DOS. This fortune was built upon a significant foundation of contract software development and BASIC interpreter licenses. BASIC ruled the roost on 8-bit consumer computers, and most likely that BASIC was developed by Microsoft.
@The123king
I am not arguing that DOS was better, at least not at first. And there is no question that MS was at the right place at the right time. My point is that they were not there by accident and DRI not being in that place instead was arguably a conscious choice by DRI.
CP/M included code for the specific hardware it ran on. In contrast, DOS made BIOS calls to a BIOS not written by or controlled by Microsoft. Hardware makers had greater independence with DOS which is part of my “more open” comment.
That said, my calling DOS “more open” comes largely from how accessible MS made it both in terms of cost and licensing. Along the the same theme as not wanting to sell out to IBM for too little, DRI protected access to and pricing of CP/M. They set the license and it was expensive (CP/M-86 cost six times what PC-DOS did–both from IBM). Microsoft on the other hand would license DOS to OEMs for relatively little, let them modify it, and let them distribute the result to end-users. And Microsoft let IBM and the clone makers drive the BIOS and hardware definition. Take the Tandy 1000 for example, whose DOS shipped with custom drivers, utilities, and even applications (DeskMate) not written by Microsoft.
LeFantome,
I would also add they were “open” to meeting customer demands. There are famous anecdotes about them promising an assembler, C compiler, and FORTRAN compiler and whatnot, even though they had zero experience with any of those.
While CP/M was trying to “sell their thing”
Microsoft was willing meet the needs of “IBM’s thing”
@sukru
True.
That said, Microsoft did know dev tools. They wrote an assembler in 1978 and the first PC assembler (MASM) in 1981. And of course, they wrote many of the classic 8-bit BASIC systems like Apple II and Commodore 64 (1976 and 1977). I bet the success of the Commodore 64 had something to do with the way they thought about the potential of the IBM PC deal.
Their biggest “zero experience” item may have been the OS itself though they did resell both Xenix and of course CP/M. They already had the FAT filesystem in 1977 so that was them at least.
LeFantome,
Yes, “zero experience” might have been exaggeration. But you get the point.
They were willing to do what IBM needed, and they were already in the business of tailioring things to other hardware companies.
(Was Commodore before or after IBM deal?)
@sukru
I agree completely with your point.
Microsoft wrote Commodore Basic years before the IBM deal. Commodore negotiated an inexpensive and perpetual source license and did not allow Microsoft to put their name on it. But if you type
WAIT 6502,1in early Commodore Basic, it will printMICROSOFT!