Eager to capitalize on their expertise, Gates and Allen developed a computer program for analyzing the traffic-flow data collected by those rubber tubes that transportation departments stretch across highways. Under the company name Traf-O-Data, the young entrepreneurs tried to sell their service to various municipalities; these efforts failed to make them rich. By this time, Bill was in his last year of high school while Paul was studying at Washington State. They got together again during their summer vacation, when they secured summer jobs at another computer giant—Honeywell.
Meanwhile, the miniaturization revolution was proceeding at such a rapid pace that Allen and Gates both knew that affordable computers were going to arrive sooner or later. When they did, these two young entrepreneurs wanted to get in on the ground floor of what they suspected would be a major revolution within the computer industry. In fact, Allen tried to convince Gates that they should write a BASIC interpreter for Intel’s 8008 microprocessor, but Gates felt that the chip’s built-in language was too clumsy.
Their entrepreneurial speculations were based on their knowledge of the way microprocessor chips were set up to receive instructions from programmers. When a microprocessor chip is built, certain circuits are put into it to perform elementary information-processing operations. One such circuit would take two inputs and add them together, for example. Another such circuit could perform an elementary logical operation such as opening a circuit when either one of the two inputs was on. These wired-in elementary commands are known as the instruction set of that chip, and they constitute the “words” of any higher languages that communicate instructions to that kind of chip. Each chip has its own instruction set, but all instruction sets are written in the same code, known as machine language , which is based on an “alphabet” of on-and-off switches.
A BASIC interpreter for the Intel 8008, then, would be a program written in the language of the chip’s hardwired instruction set. The purpose of such a program is to make life easier for programmers. In the machine’s native language of ones and zeroes (the numerical equivalent of the on-or-off states of the switching elements) it would take literally dozens of machine instructions to perform a simple arithmetic operation like multiplying two times three. First, the numbers each have to be assigned specific positions in the processor’s memory. Then the built-in multiplication procedure has to be directed to first multiply the contents of one memory location by the contents of another memory location and then to put the product of the operation in yet another specific memory location.
Programming anything of significant complexity with such a nit-picking and endlessly specific code is like writing a novel with alphabet blocks. The interpreter program would enable the BASIC programmer to write a command like “PRINT 2*3,” then enter it into the computer along with the BASIC interpreter program, which would translate the command into the proper 8008 instructions, apply it to the data, and return the correct answer on the screen or printout.
After Allen and Gates decided to pass up the 8008, Allen quit Washington State to continue working with Honeywell and moved east to Honeywell’s Boston office. In the fall of 1974, Gates was at Harvard, just across the Charles River. The next time they contemplated the state of microprocessor-based software was the afternoon Allen saw the historic Altair issue of Popular Electronics at a Harvard Square newsstand. This new computer kit was based on the Intel 8080 microprocessor, an improved version of the 8008 chip they had originally rejected as the target for a commercial software effort. This was it—their opportunity to expand their entrepreneurial venture, begun with Traf-O-Data, into the software business.
Although they didn’t even have an Altair, they called Ed Roberts and asked if he was interested in a BASIC interpreter. Roberts told them that several other programmers had already made the same proposal, and as far as he was concerned he would buy the first BASIC that would actually run on an Altair. Gates and Allen promised him delivery of their interpreter in three weeks. They then programmed a larger computer to simulate an Altair, and by using the simulation rather than the actual hardware, they created the BASIC interpreter they promised. It took twice as long as they had expected—not an unusual turn of events in the software business.
Six weeks after their conversation with Roberts, Allen finally delivered a paper tape that contained, in a code consisting of a pattern of holes punched into the paper, his and Gates’s version of BASIC for the Altair. This was before disk drives were cheap enough for small computers, so punched paper tape (as ancient as that technology sounds) had to be used to feed the program to the computer. After a tape reader converted the pattern of holes into on and off impulses that automatically set the Altair’s memory-location switches, the Altair was ready to receive BASIC commands. The remarkable thing about that tape is that it worked the first time—a virtually unheard-of event in the bug-prone world of software. It was an especially noteworthy feat, considering the fact that they didn’t have an Altair to test it on!
Within a month, Roberts had hired Paul Allen away from Honeywell. Bill Gates stayed at Harvard while Paul Allen went to New Mexico to become MITS’ software director. In the meantime, they had renamed Traf-O-Data Micro-Soft, later to be shortened to Microsoft. Then Gates took a leave of absence from Harvard (in fact he never returned) and moved to Albuquerque. He and Allen hired a programmer by the name of Monte Davidoff to help them enhance their BASIC interpreter. MITS was in ferment. The Altair freaks were already drifting in to check on their orders and become involved in the operation. Gates and Allen, perfectionists since their days as consultants for TRW, didn’t exactly mesh with Roberts, who was strictly a seat-of-the-pants guy. But they were on to something hot.
Gates wrote the disk operating system program for the first Altair disk drives in a famous marathon session in February 1976. According to one of the legends that have since become a prerequisite for homebrew software immortality, he apparently sequestered himself in a motel room with a computer, pencils, and notebooks until the task was complete. The same story is told of Wozniak and the creation of Apple’s first disk operating system. In any case, 1976 was also the year that Roberts’s competitors began to appear, in the form of companies like IMSAI, Processor Technology, and Cromemco—all founded by members of the Homebrew Computer Club. Given the increasing competition, Allen and Gates’s BASIC interpreter became a major selling point for the Altair.
But in the meantime, it had also become a source of conflict between MITS, Microsoft, and the homebrewers. A lot of people objected to the idea of selling software—especially for $500, which was the price of Microsoft BASIC. Some people refused to pay for it. Others made copies of the punched paper tape and distributed them for free. A $500 BASIC interpreter was simply a philosophical affront to the inner circles of the personal computer cult. The hacker tradition went back to the early 1960s, when similarly obsessed computer enthusiasts at MIT created the software for the kind of interactive computers that led to personal computers. And hacker tradition dictated that software was supposed to be free.
Gates didn’t agree. In February 1976, at the same time he was creating the Altair disk operating system, he also wrote a now-infamous manifesto titled “Open Letter to Hobbyists,” which was published in the Homebrew Computer Club newsletter. He pointed out that “as the majority of hobbyists must be aware, most of you steal your software. Hardware must be paid for, but software is something to share. Who cares if the people who worked on it get paid?” A lot of the homebrewers didn’t react kindly to this bluntly worded accusation by a nineteen-year-old programmer who was clearly interested in becoming a successful entrepreneur.
Читать дальше