Tech —

The complete history of the IBM PC, part two: The DOS empire strikes

The real victor was Microsoft, which built an empire on the back of a shadily acquired MS-DOS.

Nota bene: This is the concluding part of the surprisingly interesting history of the IBM PC. You should probably read part one of the story if you haven't already.

In November 1979, Microsoft's frequent partner Seattle Computer Products released a standalone Intel 8086 motherboard for hardcore hobbyists and computer manufacturers looking to experiment with this new and very powerful CPU. The 8086 was closely related to the 8088 that IBM chose for the PC; the latter was a cost-reduced version of the former, an 8-bit/16-bit hybrid chip rather than a pure 16-bit like the 8086.

IBM opted for the less powerful 8088 partly to control costs, but also to allow the use of certain hardware that required the 8-bit external data bus found on the 8088. But perhaps the biggest consideration stemmed, as happens so often, from the marketing department rather than engineering. The 8086 was such a powerful chip that an IBM PC so equipped might convince some customers to choose it in lieu of IBM's own larger systems; IBM wanted to take business from other PC manufacturers, not from their own other divisions.

An Intel 8086 card produced by Seattle Computer Products.
Enlarge / An Intel 8086 card produced by Seattle Computer Products.
S100 Computers
The important thing to understand for our purposes, though, is that both chips shared the same instruction set, and thus could run the same software. Everyone wanted to run CP/M on the SCP boards, but CP/M existed only for the Intel 8080 and Zilog Z80. Thus, SCP had the same problem that Jack Sams and IBM would face months later. Digital Research repeatedly promised an 8086/8088 version of CP/M, but failed to deliver. So, in April of 1980 Tim Paterson of SCP decided to write his own 8086/8088 operating system. He called it QDOS—the "Quick and Dirty Operating System."

The ethicality or lack thereof of what Paterson did has been debated for years. Gary Kildall stridently claimed many times that he ripped off the actual CP/M source code, but this is a very problematic assertion. There is no evidence that he even had access to the source, which Digital, like most companies then and now, guarded carefully.

On the other hand, Paterson freely admits that he pulled out his CP/M reference manual and duplicated each of its API calls one by one. On the other other hand, and while it may not have reflected much originality or creative thinking, what he did was pretty clearly legal even by the standards of today. Courts have ruled again and again that APIs cannot be copyrighted, only specific implementations thereof, and that reverse engineering is therefore allowed. (Well, there is patent law, but that's a swamp we're going to stay well away from...)

Food for thought for open source advocates and Microsoft haters: if QDOS was ethically wrong, then Linux—largely a reimplementation of the Unix standards—must be equally wrong. Paterson claims that he had a good reason to copy CP/M so closely: he wanted to make it as easy as possible for programmers to move existing CP/M software over to QDOS. He also claims that beneath the surface, where he could get away with it, he substantially improved upon his model, notably in disk- and file-handling.

In the meantime Bill Gates was wondering how the hell he was going to come up with an operating system for IBM in the time frame they wanted. Then one day Paterson called Microsoft co-founder Paul Allen to tell him about QDOS, just in case Microsoft was interested in writing some software for it or using it in-house. Gates, just the man to recognise an out-of-the-blue saviour when he saw one, called Sams, asking, "Do you want to get [it], or do you want me to?" Sams' answer to that question would cost IBM billions and billions over the decades to come. "By all means, you get it," he said.

Recognising that PC software was far from his realm of expertise, Sams had already pretty much thrown all of his systems-software problems into Microsoft's lap, and he saw no reason to change course now. "We wanted this to be their problem," he later said. Microsoft's "problem" would in a few years become a big, big problem for IBM.

Let there be light!

Steve Ballmer and Bill Gates, at the PC Forum in 1986.
Enlarge / Steve Ballmer and Bill Gates, at the PC Forum in 1986.
Ann E. Yow-Dyson/Getty Images

On September 30, Gates, Steve Ballmer, and Bob O'Rear—Microsoft’s seventh employee—flew down to Florida to make their final proposal to IBM. For Sams, who wanted to essentially foist the software problem on someone else, their plan sounded ideal. Microsoft would take responsibility for providing an operating system, four programming languages (BASIC, COBOL, Fortran, Pascal), and a range of other software to be available at launch (including our old friend Microsoft Adventure).

One point Gates carefully stipulated: Microsoft would licence all of this to IBM, not outright sell it to them, and would expect to be paid on a per-copy royalty basis. IBM, feeling there was opportunity enough for everyone to do well out of this and that it couldn't hurt to have Microsoft's own fate tied so closely to that of the IBM PC, agreed. This huge company, legendarily risk-averse and conservative, elected to place the fate of one of its biggest projects ever in the hands of a 24-year-old. If Microsoft failed to come through, the IBM PC itself would be stillborn.

On November 6, Microsoft and IBM officially signed the contract, which immediately paid Microsoft $700,000 to begin porting all of this disparate software to the new architecture. Ironically, IBM’s Lowe and Sams, who had played such prominent roles in everything that came before, had been transferred to other divisions. Project Chess may have been an Independent Business Unit, but it obviously wasn't entirely immune to the fickle ways of the IBM bureaucracy. Don Estridge took over leadership of the project.

While the software deal was being finalised, Project Chess had not been idle. That same November Microsoft received its first two prototype machines. IBM, desperately concerned about secrecy, demanded they keep them in a windowless vault secured with locks they themselves provided. Microsoft and IBM's Project Chess, just about as physically far apart as two organisations can be and still be in the United States, nevertheless developed a working relationship that seems similar to those of today, when geography matters far less. They communicated constantly through telephone and (especially) a special e-mail system they set up, shuttled packages back and forth via an overnight service, and visited one another frequently—and sometimes without warning. (This became a particular concern for Microsoft; IBM had a habit of dropping in unannounced to see if all of their byzantine security procedures were being practiced.)

The IBM team of course had plenty to keep them busy, but Microsoft were truly up against it. Thanks to all of the negotiations, they were, according to Gates, already "three months behind schedule" the day the contract was finalised. Everyone worked months of seven-day weeks. Most didn't even take Christmas off.

The first goal had to be to get the machine running in its two modes of operation: BASIC and the disk-based operating system. Microsoft could handle the former on their own, but the latter left them dependent on Seattle Computer Products. Even as Microsoft had been finalising their deal with IBM and starting to work, Paterson and SCP had been continuing their own work, refining QDOS from a "quick and dirty" hack into an operating system they could sell. Along the way they renamed it, for obvious reasons, to 86-DOS. As 1980 drew to a close, they at last had a version they felt was suitable for the outside world.

Channel Ars Technica