The title page of the assembly language code that produced Altair BASIC
Altair BASIC was an interpreter for the BASIC programming language that ran on the MITS Altair 8800 and subsequent S-100 bus computers. It was Microsoft's first product (as Micro-Soft), distributed by MITS under a contract. Altair BASIC was the start of the Microsoft BASIC product range.
Origin and development
Bill Gates recalls that when he and Paul Allen read about the Altair in the January 1975 issue of Popular Electronics, they understood that the price of computers would soon drop to the point that selling software for them would be a profitable business. Gates believed that by providing a BASIC interpreter for the new computer they could make it more attractive to hobbyists. They contacted MITS founder Ed Roberts, told him that they were developing an interpreter, and asked whether he would like to see a demonstration. This followed the common engineering industry practice of a trial balloon, an announcement of a non-existent product to gauge interest. Roberts agreed to meet them for a demonstration in a few weeks, in March 1975.
Gates and Allen had neither an interpreter nor even an Altair system on which to develop and test one. However, Allen had written an Intel 8008 emulator for their previous venture, Traf-O-Data, that ran on a PDP-10 time-sharing computer. He adapted this emulator based on the Altair programmer guide, and they developed and tested the interpreter on Harvard's PDP-10. Harvard officials were not pleased when they found out, but there was no written policy that covered the use of this computer. Gates and Allen bought computer time from a timesharing service in Boston to complete their BASIC. They hired Harvard student Monte Davidoff to write floating-point arithmetic routines for the interpreter, a feature not available in many of its competitors.
The finished interpreter, including its own I/O system and line editor, fit in only four kilobytes of memory, leaving plenty of room for the interpreted program. In preparation for the demo, they stored the finished interpreter on a punched tape that the Altair could read and Paul Allen flew to Albuquerque.
On final approach, Allen realized that they had forgotten to write a bootstrap program to read the tape into memory. Writing in 8080 machine language, Allen finished the program before the plane landed. Only when they loaded the program onto an Altair and saw a prompt asking for the system's memory size did Gates and Allen know that their interpreter worked on the Altair hardware. Later, they made a bet on who could write the shortest bootstrap program. Gates won.
Versions and distribution
Roberts agreed to distribute the interpreter. He also hired Gates and Allen to maintain and improve it, causing Gates to take a leave of absence from Harvard. They produced several versions: the original 4K BASIC and later 8K BASIC, Extended BASIC, Extended ROM BASIC, and Disk BASIC.
As they expected, the Altair was very popular with hobbyists such as the Homebrew Computer Club. Altair BASIC, as MITS's preferred BASIC interpreter, was also popular. However, the hobbyists took a "share-alike" approach to software and thought nothing of copying the BASIC interpreter for other hobbyists. Homebrew member Dan Sokol was especially prolific; after somehow obtaining a pre-market tape of the interpreter, he made 25 copies and distributed them at the next Homebrew meeting, urging recipients to make more copies. Gates responded in 1976 with a strongly worded Open Letter to Hobbyists that accused the copiers of theft and declared that he could not continue developing computer software that people did not pay for. Many hobbyists reacted defensively to the letter.
Under the terms of the purchase agreement, MITS would receive the rights to the interpreter after it had paid a certain amount in royalties. However, Microsoft had developed versions of the interpreter for other systems such as the Motorola 6800. When they decided to leave MITS, a dispute arose over whether the full amount had been paid and whether the agreement applied to the other versions. Microsoft and MITS took the dispute to an arbitrator who, much to Roberts' surprise, decided in favor of Microsoft based on MITS failure to market the software with their "best efforts". BASIC interpreters remained the core of Microsoft's business until the early 1980s, when it shifted to MS-DOS.
- Freiberger, Paul; Swaine, Michael (2000). Fire in the Valley: The Making of the Personal Computer. New York, NY: McGraw-Hill. p. 53. ISBN 0-07-135892-7. "While walking through Harvard Square one day, Allen spotted the Popular Electronics cover that features the Altair. ... Allen ran to tell Bill that he thought their big break had finally come. Bill agreed."
- Wallace, James; Jim Erickson (1992). Hard Drive: Bill Gates and the Making of the Microsoft Empire. John Wiley & Sons. pp. 81–83. ISBN 0-471-56886-4.
- "We have a BASIC". New Mexico Museum of Natural History and Science. Retrieved 2007-04-18.
- Wallace, James; Jim Erickson (1992). Hard Drive: Bill Gates and the Making of the Microsoft Empire. John Wiley & Sons. p. 78. ISBN 0-471-56886-4.
- Allen, Paul (2011). Idea Man : a memoir by the cofounder of Microsoft. New York: Penguin Group. p. 107. ISBN 978-1-59184-537-9. "MITS/Pertec 'materially breached its best efforts obligation...'"
- Freiberger, Paul; Swaine, Michael (1999). Fire in the Valley: The Making of the Personal Computer. New York, NY: McGraw Hill. ISBN 0-07-135892-7.
- Gates, Bill; Nathan Myhrvold; Peter Rinearson (1995). The Road Ahead. New York: Viking. ISBN 0-670-77289-5.
- Cringely, Robert X.. Triumph of the Nerds. PBS, 1996.
- Bunnell, David (April 1975). "Altair BASIC — Up and Running". Computer Notes (Altair Users Group, MITS Inc.) 1 (1): pp. 1, 3. Retrieved 2007-04-18.
- Altair BASIC source disassembly, compiled by Reuben Harris and archived at archive.org