Daily Archives: May 16, 2012

The IBM PC, Part 3

In November of 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.

The important thing to understand for our purposes, though, is that both chips shared the 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 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 Gates was wondering how he was going to come up with an operating system for IBM in the time frame they wanted. Then one day Paterson called Paul Allen of Microsoft 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 recognize an out-of-the-blue savior when he saw one, called Sams, asking, “Do you want to get [it], or do you want me to?” Sams’s answer to that question would cost IBM billions and billions over the decades to come. “By all means, you get it,” he said. Recognizing 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.

On September 30, Gates, Ballmer, and Bob O’Rear 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 license 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 their 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, by that time both 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 finalized, 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 organizations 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 email 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 finalized. 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. The former Microsoft could handle on their own, but the latter left them dependent on Seattle Computer Products. Even as Microsoft had been finalizing 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.

Until this point, Bill Gates has basically behaved himself, acting like a hard-driving but straightforward businessman. Now, however, we start to see some of that legendary Gates shiftiness come out. He wanted for Microsoft a royalty-based agreement that would let them share in the hoped-for success of the IBM PC. But he wasn’t ready to share those fruits with SCP, who still had no idea that the IBM project was even happening or that their modest little one-man-authored operating system was key to the plans of one of the biggest companies in the world. Gates wanted to keep them in the dark, but he needed 86-DOS, like, yesterday. He therefore needed to pry 86-DOS out of their hands without letting them know why he wanted it.

Paul Allen negotiated an agreement with SCP owner Rod Brock in January, implying that Microsoft had a whole stable of customers eager to run 86-DOS. The deal would essentially allow Microsoft to act as middleman — or, if you like, retailer — in these transactions. For each customer to whom they sold a license for 86-DOS, they would pay SCP $10,000, or $15,000 if the license also included the source code. They would also pay SCP an initial fee of $10,000 to begin the agreement. For SCP, a much smaller, hardware-focused company without the reach or marketing skills of Microsoft, the agreement sounded great — especially because business lately had not been particularly good. Microsoft seemed convinced that they could sell quite a few licenses, bringing in effortless money for SCP for this operating system Paterson had begun almost on a lark. One clause buried in the contract might have raised a red flag: “Nothing in this licensing agreement shall require Microsoft to identify its customer to Seattle Computer Products.” Brock later said, “That seemed strange to us, but we agreed to go along.” In reality, of course, Microsoft had no stable of eager licensees. They had just one, the biggest fish of all: IBM. Microsoft sold just one license under the agreement, acquiring IBM’s operating system for them complete with source for just $25,000.

In February, Bob O’Rear of Microsoft got 86-DOS to boot for the first time on one of the prototype machines:

“It was like the middle of the night. It was one of the most joyous moments of my life, to finally after all the preparation and work, and back and forth, to have that operating system boot up and tell you that it’s ready to accept a command. That was an exciting moment.”

IBM was soon requesting a number of changes to 86-DOS. Microsoft thus found themselves in the awkward position of having to go back to Paterson, who of course knew 86-DOS far better than anyone else and whom they had signed to a consulting contract, to request changes without telling him where the requests were really coming from. In the end they convinced him to leave SCP and come to work for them full-time. “It’s IBM!” they told him as soon as he walked through the door on his first day as an employee. Ironically for Paterson, who has spent decades battling critics who claim he ripped off CP/M, many of the changes IBM requested actually made 86-DOS look even more like CP/M. For instance, the command prompt showing the current drive — i.e., “A>” — was the result of one of IBM’s requests, and a carbon copy of CP/M’s. Paterson says it made him “want to throw up,” but of course on this project what IBM requested IBM generally got.

IBM planned to announce the IBM PC in August of 1981 — as per the original plan, which gave Project Chess exactly one year to complete its work. They weren’t interested in postponing, so everyone in Boca Raton and especially at Microsoft just worked harder as smaller deadlines were missed but the biggest one just stayed fixed. They also began confidentially approaching other developers, of software such as VisiCalc and the word-processing package Easy Writer, to add to Microsoft’s lineup of applications and games. They even arranged to make another of our old friends, the UCSD Pascal P-System, available for those who wanted to run it in lieu of 86-DOS or the Microsoft BASIC environment. Incredibly given its expanding scope, the project remained a complete secret for quite a long time. But finally in June InfoWorld printed a detailed article that described the entire plan down almost to the last detail, even mentioning that the operating system would not be CP/M but would be “CP/M-like.” They missed only the planned announcement date, saying it would happen in July rather than August. The Datamaster, the earlier “PC-like” project that had provided technology and personnel to Project Chess, did make its own belated debut that month. Many assumed that the project InfoWorld had scooped was the Datamaster, and thus that the magazine had gotten it all quite wrong. Those better connected, however, knew better by this time.

Then on July 27, 1981, barely two weeks before the planned announcement, Bill Gates made what has often been called the deal of the century.

Rod Brock at SCP was a disappointed man. The legion of 86-DOS licensees he had anticipated following the Microsoft deal hadn’t materialized, and now he had lost Paterson, the one software guy at his hardware-focused company, to Microsoft. It was pretty obvious by now who the one 86-DOS sub-licensee must be, but SCP was strapped for cash and lacked the ability to support an operating system. He started to shop 86-DOS around a bit, looking for someone willing to take over support in return for an exclusive license to it. Gates pounced immediately, offering SCP a much-needed $50,000 for the deal — with one crucial difference. He stipulated that Microsoft would not be buying an exclusive license, but would be buying the software itself, outright. They would then grant the exclusive license to SCP, essentially turning the deal on its head. Brock was uncertain, but he really did need the money, and he didn’t quite know what to do with 86-DOS himself anyway…

He signed the agreement, making Microsoft the sole owner of 86-DOS — or, as it was immediately renamed, MS-DOS. It’s yet another example of the terrible financial decision-making that was so endemic to the early microcomputer industry, as hackers who knew everything about bits and bytes but nothing about business suddenly found themselves running companies. These were the kinds of mistakes that Gates never made, but knew how to exploit and even engender in others. When dealing with innocents like Brock, it was as easy as leading the proverbial lambs to slaughter. MS-DOS, purchased for $50,000, was earning Microsoft more than $200 million per year by 1991. Even more importantly, it was the key building block in the Microsoft monopoly that would absolutely dominate business computing by the mid-1980s, and dominate virtually all computing throughout the 1990s. This decision, more than any other, is the one that made Microsoft the giant it still is today.

But Microsoft (and IBM) suddenly had one more legal hurdle to clear. By this time, with the IBM PC becoming more and more of an open secret in the industry, Gary Kildall had seen a copy of 86-DOS/MS-DOS in action. He was convinced that Paterson had stolen his operating system, that he had somehow gotten a copy of the source code, made only those changes needed to get it running on the Intel 8086/8088, filed off the digital serial numbers, and sold it to IBM. Now he began to threaten legal action, and (perhaps of more concern to IBM) to cause a huge stink in the press that could cast a cloud over the upcoming announcement. He and Gates met for lunch to try to hash things out, but to no avail. “It was one of those meetings where everybody was nice to each other, then everyone shouted at each other, then everyone was nice to each other, then everyone shouted at each other,” recalled John Katsaros, a Digital Research colleague who was also there. And so IBM stepped in to make a deal. They would also offer CP/M-86, the 8088-compatible version of the operating system which Digital were still messing about with, on the IBM PC just as soon Kildall could give them a completed version. Kildall, at least somewhat placated, accepted. The IBM PC, which IBM had from the start envisioned as a true “anything machine,” would now have no fewer than four available operating paradigms: the ROM-hosted BASIC, MS-DOS, CP/M, or UCSD Pascal.


Tags: , ,