Winner of the 1993 Price Waterhouse Leadership Award for Lifetime Achievement,
Computerworld Smithsonian Awards
Location: Microsoft Corporation, Bellevue, Washington
Interviewer: David Allison (DA)
Division of Computers, Information, & Society
National Museum of American History, Smithsonian Institution
Part 1 Page 2 Page 3 Page 4 Page 5
David Allison (DA): We thought we'd start talking about your family. Tell me some of the qualities that you attribute to your family that later shaped your career at Microsoft.
Bill Gates (BG): My dad was a lawyer and my mom was very involved in business activities as a board member in non-profit organizations like running United Way Campaigns. She was the Director of the University of Washington, banks, that kind of thing. They shared what they were doing out in the world with my older sister and I as we were growing up.
So, we always had a sense of, "Okay, this is the Governor coming to dinner, or here is this political campaign, let's get involved in this." I was a page down in the State Capitol of Olympia, Washington. Then I went out and spent some time being a page back in Washington, DC. I understood about contracts and things. I was interested in the business world, reading about it all the time. Sort of always playing around with the idea of "What would I end up eventually doing?"
DA: Were other of your contemporaries equally interested in the business, or did you find yourself unusual among the groups?
BG: Well, when I went to Lakeside School, I was about 12 years old. I started there in seventh grade. That was kind of a change for me. It is a private boys' school. Very strict. At first I really didn't like the environment. I did eventually find some friends there, some of who had the same sort of interest, like reading business magazines and Fortune. We were always creating funny company names and having people send us their product literature [laughs]. Trying to think about how business worked. And in particular, looking at computer companies and what was going on with them.
DA: What companies, in particular, did you like to follow?
BG: The first computer we used was a GE time-sharing system. It was connected over a phone line. Actually, the school couldn't afford a full phone line, so someone in the offices had a switch where you could take over the phone line. It was an ASR-33 Teletype with paper tape connected up to a GE computer. But, very quickly, we found out about PDP-8s, and eventually got one loaned to us.
So, these companies making smaller computers were very fascinating to us. Joining all the user groups. DEC had one called the DECUS User Group. Getting on every mailing list. In Datamation they had these bingo cards where you could check everything you were interested in. So, we just put our name down and checked everything in there and tried to learn about the world of computing.
DA: How did the faculty respond to your interest outside of your curriculum compared to your interest in your own studies?
BG: Well, I was relieved from some classes, Math in particular, because I'd read ahead. So, I had quite a bit of free time. So, when the Mother's Club which did this rummage sale, got the money for this Teletype and a certain amount of time to buy computer time, it was a question of who was going to figure this thing out? Now, I was very young. I was in eighth grade and some of the older students kind of barged in and thought they could figure it out. And very quickly, the teachers were intimidated.
So, it was sort of a group of students reading the manuals and trying things out. You would type the programs off-line on this yellow paper tape and then put it into the tape reader, dial up the computer, and very quickly feeding the paper tape and run your program. They charged you not only for the connect time, but also for storage units and CPU time. So, if you had a program that had a loop in it of some type you could spend a lot of money very quickly. And so we went through the money that the Mothers Club had given very rapidly. It was a little awkward for the teachers, because it was just students sitting there and zoom! -- the money was gone. I wrote a tic-tac-toe program and a couple of other base conversion programs. It was the BASIC language running on this GE system.
So, people didn't know what to think because teachers were fairly dignified in those days and usually were supposed to know what was going on. They were okay about it, but then when the money was gone, they had to start billing us for all of our usage. We had this kind of funny student checking accounts so my friends and I still stayed very active. We were kind of desperate to get free computer time one way or another. The amount of time we'd spend in this particular room that had the Teletype was quite extreme. We sort of took over the room, myself and two other people. They called it the "Teletype Room".
We were always coming up with schemes to get free computer time, and eventually did with a local company. Convinced them that because they had a deal with DEC for this big computer, an early PDP-10, serial number 36, that if they could find problems with it they wouldn't have to pay their rent. Having a few of the students, including me, bang on it and try to find bugs seemed like a good idea. And particularly, let us do that mostly at night. So, we were going down to this ... it was called Computer Center Corporation, C-Cubed, in the University District, staffed by some old people from the University of Washington Academic Computing Center had gone over there.
So, for a few years that is where I spent my time. I'd skip out on athletics and go down to this computer center. We were moving ahead very rapidly: BASIC, FORTRAN, LISP, PDP-10 machine language, digging out the operating system listings from the trash and studying those. Really not just banging away to find bugs like monkeys [laughs], but actually studying the code to see what was wrong. The teachers thought we were quite unusual. And pretty quickly there were four of us who got more addicted, more involved, and understood it better than the others. And those were myself, Paul Allen, who later founded Microsoft with me, Ric Weiland, who actually worked at Microsoft in the early days, and Kent Evans, who was my closest friend, and most my age, was killed in a mountain climbing accident when I was in 11th grade in high school. So, the four of us became the Lakeside Programming Group. We were the hard-core users.
Importance of Extra Curricular Activities
DA: Clearly, your extracurricular activity was probably more important in your later development than what you did in class, or at least equally important [Bill laughs]. How do you feel as we look at problems in education, that students that are coming up interested in technical things should balance those. Do you think it is important to explore things on your own at that age?
BG: Self-exploration is great, because you develop a sense of self-confidence and an identity of "Hey, I know this pretty well. I know this better than the teachers. Let me try and see if I can understand at the next level. Maybe I'm pretty good at this stuff." And particularly with the computer where if your program is wrong, you know you try it and if it doesn't work and then you fix it and try it again. It is kind of a feedback loop, which because the classroom has a lot of people, and maybe there is not a subject that you think you are good at or interested at. It is just fascinating to try and figure out the computer.
I remember at Computer Center Corporation they had hired in some of the great people of early computer days, including Bob Gruen, Dick Russell, a guy named Weir who was a Stanford guy. Anyway, these guys would kind of loan us deep manuals on the system, just for a few hours and then take them away. So, we'd spend those few hours just reading carefully. It was so exciting to get a little glimpse and beginning to figure out how computers were built, and why they were expensive. I certainly think that having some dimension, when you're young, that you feel a mastery of, versus the other people around you is a very positive thing. And for me that came in several ways: the reading I was doing non-computer related; in Math. But computers, time wise, for many years was a key center of excitement.
Experiences with the PDP-10
DA: You mentioned the PDP-10 as a computer that was important to you. In what ways do you think working with that particular machine set you up for the kind of developments that you did later?
BG: DEC always named their computers PDP, Programmable Data Processor. It is actually funny, because they kind of skip numbers. PDP-1 was their first. And it is kind of strange, I did a lot of work on the PDP-1, but not until I got to Harvard, late in my career. They had so few computers there, a couple of really decrepit PDP-1s hanging around were the best graphics display machines. Anyway, the PDP-10 which whose predecessor was the PDP-6 very similar and later called the PDP-20 or DEC 20, and was, in a sense, the first time-sharing system. It was written, well, it was the first... I don't know how they said that? It was DEC's first time-sharing system, in any case. And it was a very good time-sharing system. That means that you could have lots of people working at the same time sharing the storages and the CPU.
It is kind of ludicrous today because the speed of that machine is so much less than these PCs [Bill gestures to PCs set up in the interview room], to think that it was so expensive, that we all had to share it and how slow things were. I mean, connecting up to these computers... these Teletypes, the print head only moved at 110 baud, which is about ten characters per second. There was no lower case. And one day at this Computer Center they brought in a GE Terminate terminal. It was an absolute, incredible breakthrough, because it printed 30 characters per second. It was just incredible! [Bill imitates sounds of Teletype] We'd all just sit there and watch it. And even more fantastic was that it had lower case letters. So, you could do real correspondence and things like that.
PDP-10 today is considered kind of a strange machine because it was 36-bit with these 18-bit addresses. You used octal instead of hex because having a word size that breaks into 18 by 18 that's not multiples of four. Anyway, DEC always used hex, because PDP-1 from the beginning was actually an 18-bit machine, although their later machines of great success were the PDP-11 was 16-bit and VAX and its successors were 32-bit machines.
In any case, the PDP-10 was an exciting machine to be involved with because a lot of university campuses were getting these things and doing time-sharing. It was being used in a lot of new applications. And DEC was very much the up and coming company in computers. People were doing great peripherals to hook-up to these things. They were doing some awfully good system software. The BASIC they did which we got hold of the BASIC source code and enhanced it quite a bit was great. They had AID and FORTRAN. They didn't have a very good COBOL until a little bit later on. But it was a very solid time-sharing system. Lots of great experimentation going on with it.
DA: One last thing I wanted to ask you before we talk about the Altair. In addition to having this intense interest in computing, you maintained an interest in business in this early period at Lakeside and actually began a business. Would you talk a little bit about Traf-O-Data and some of the other entrepreneurial activities that you did?
BG: Well, there was the interest in the technology and also the business together. The two sort of went together. When we wanted to get free computer time, you had to have a sense of how you could motivate people to give you free computer time. With C-Cubed, that meant just finding bugs for them. Eventually, DEC made them pay for the machine. But we had been deemed useful enough by them, and although they didn't pay us, they gave us free time. That company went bankrupt.
Then we found a company down in Portland, Oregon with the same PDP-10 that let us write a COBOL program - a payroll program - a huge complex payroll program. I learned about labor reports, taxes, and all sorts of mundane things. We called this group the "Lakeside Programming Group." And Paul really got interested in the machine. And Ric Weiland got interested in writing an Editor. So the two younger members of the team ended up doing most of the work on this payroll program.
In fact, they thought there wasn't enough work to go around, so they kicked me off. I said, "Look, if you want me to come back you have to let me be in charge. But this is a dangerous thing, because if you put me in charge this time, I'm going to want to be in charge forever after." Which in high school, when you are two years behind, it was considered a reasonably uppity thing. So, they brought me back in. And we got the payroll program done. We got a lot of free computer time.
During all this time we were helping this school with its scheduling. It's kind of a long story, but they got it all screwed up. They used an approach that we had not recommended. And, eventually, they had to turn it over to us. So to be a student and being determining who's in what classes and when they meet, the school paid us pretty well. We actually used the computer time we had to do that. That worked out great. We bought some equipment from a bankrupt computer company, some DEC tapes and made money on that [laughs].
Traf-O-Data was taking road volume data and converting it into reports where you have actually just a 16-channel paper tape on the side of the road. The pressure sensitive hose that you drive over has a counter in there clicking out a count every five, ten, or fifteen minutes. Those have to be processed for the State Road Departments, to give out money for repairs, and decide how to do traffic lights, etc. Anyway, it was data that needed to be processed. So, we got involved in that.
Using an 8008 Processor
We were truly naive in that we built a machine using the very first decent microprocessor, the 8008. I funded that development and wrote some of the software. And Paul Allen and another hardware person, Paul Gilbert, who knew how to do crazy wire wrapping, took these very tiny Intel memory chips -- I forget if they were 256-bit or 1K-bit, -- I think 1K-bit Intel chips in this 8008 and created a system and we did special software.
8008 wasn't capable of running a BASIC Interpreter. That had always been my Holy Grail because I had played around writing a little bit of a BASIC Interpreter on a PDP-8, and a Data General machine. But the 8008 is basically an 8-bit machine with no programmable stack. Doing this traffic analysis software was pushing the limits.
Anyway, we were making machines and we thought we'd sell them to people. But, when the guy from the county that Seattle is in came to see it, it didn't work. We ended up being okay successful, not seriously successful [laughs], just by processing the tapes. At first that was a very manual process. Then we used this prototype machine that we built to do that. So, we made a little bit of money and had some fun with it.
Working for TRW
I was definitely always pushing us out into those frontiers of "What should we do?" Even so, I never had this image that I'd end up being in computers. I didn't think computer people were mainstream or very interesting in certain ways. So, I took my first job where I took off part of my senior year in high school and worked for TRW, who was doing an awesome project using PDP-10s.
Even then I was thinking, "Okay I'm going to go to college and do a normal career." In fact, it was very exciting when I was taking this time off. I got my college acceptances.
So, I could just work hard on this. This was a real-time data project, controlling the power grid in the Northwest using PDP-10s. It had reliability requirements way beyond what the PDP-10 could deliver. So, we were really trying to push the state-of-the-art, really pushing the state-of-the-art. It never met the full power industry requirements, but they did put the system on-line. And even at that point we'd thought, "Wow, this microprocessor is going to do something incredible."
Importance of the Microprocessor
As early as 1971, Paul and I had talked about the microprocessor. And, it was really his insight that because of semi-conductor improvements, things would just keep getting better. I said to him, "Oh, exponential phenomena is pretty rare, pretty dramatic. Are you serious about this? Because this means, in effect, we can think of computing as free!"
It is a gross exaggeration, but it is probably the easiest way to understand what it means to cut cost like that. And Paul was quite convinced of that.
So I would sort of say to Paul, "Well, you know what that means?" And he'd say, "Yeah, that is what it means." It is kind of fun to know this, and think, gosh, how are companies going to react, how are they going to respond to something that phenomenal? The early days were very slow moving, though. By the time I went to Harvard, all there was was the 8008 chip. And the 8080 was just coming out, which was the first good general purpose microprocessor chip that Intel was coming out with.
DA: We are going to talk a little bit about your transition into Harvard before you got to the Altair. You mentioned that even though you worked in computing, that it wasn't your goal when you went to college. Do you want to say what your goal was?
BG: That's right. I finished up at TRW, went back, and graduated from Lakeside School. I picked, out of the schools I'd been accepted to, to go back to Harvard. They seemed to have a lot of different things. I knew that if I wanted to be a Lawyer or a Mathematician, Harvard had good courses for these things.
Once I got there, I thought Economics was pretty interesting. And I felt that I understood computers well enough, that I really didn't need to hang out with a computer crowd there, because they weren't as interesting. I did end up taking a few computer courses. But most of what I did was not related to computers. And meanwhile, Paul Allen, who had worked with me on everything, basically [chuckles], and who shared this idea that we should go do a company. He actually tried to convince me after TRW that we should start a company then, and try to build PDP-8-like systems around 8080 chips. But it just was too vague and my parents wanted me to go back to school.
So, I went back there. But Paul was there and we were always talking about, "Could we stick a lot of microprocessors together to do something powerful? Could we do a 360 emulator using micro controllers? Could we do a time-sharing system where lots of people could dial-in and get consumer information?" A lot of different ideas.
Discovery of Altair
But a major milestone for us was when we were walking through Harvard Square, one time, and saw this Popular Electronics magazine. And it was kind of in a way, good news and bad news.
Here was someone making a computer around this chip in exactly the way that Paul had talked to me, and we'd thought about what kind of software could be done for it, and it was happening without us. And for all we knew maybe they had some software people, they were just going to go charge off and do this thing.
Writing an Altair Basic
So, we wrote this company immediately. Sent them a letter, we have a copy of that somewhere. But anyway, a letter on Traf-O-Data's stationary, because it was the only stationery we had. We offered to do a BASIC for them and they thought that was interesting. They called back and said, "Well, are you serious? We have a lot of strange people calling us."
This article received immense interest. I mean, the idea of a kit computer even though there was really nothing you could do with it. There was no Teletype hook-up in the early days, there was no software for it. All you could do was use these switches, key things in into this front panel and maybe do a little program that does things in the lights. Or, actually, a guy named Steve Dompier discovered it, because this bus is unterminated, if you are very clever about the program you run, you can get high-frequency emission that can cause a radio to make interesting noises. Now, eventually, we did get controllers for Teletypes and cassette tapes and floppy disks, that kind of thing. But, in the early days it was pretty useless. People just bought it thinking that it would be neat to build a computer.
DA: I want to hone in on this idea of your proposing that you would actually write BASIC for this machine. It is kind of a gutsy thing to do. Did you feel about it as being boastful, or did you really think you could deliver? Did you think they'd take you up on the offer?
BG: Well, I had no doubt that I could write a BASIC Interpreter. I thought through in my head all the things that I hadn't done before on those mini-computers. Doing things really small, fascinated me. These machines, you could actually buy it with no memory card. After we got there, a lot of people were calling up asking, "What do they do with it?" Well, if you don't buy a memory card you can't do anything. But, the memory cards were 1K. So, if you bought four of those you could have a 4K machine. 4K bytes. And I thought I could do a pretty decent BASIC. Fitting the BASIC in, allowing you to have both your program and your data storage in 4K bytes. That was going to be hard. But, it was a fun challenge.
People had done 8K BASICs on the PDP-8. But this was a much better instruction set. I had some ideas on how to do things a little bit in a new way. There was no doubt in my mind we could write a BASIC. I was fairly self-confident in those days. We didn't know how long it would take us. And it was kind of funny because we were sort of acting like we had it already. We went to work day and night. Paul first worked on the simulation software. He took the Macro 10 Assembler and defined macro, so we could just type in sort of a form of 8080 code. Then he modified the DDT-10, the symbolic debugger that was on the 10, to understand these instructions. He then wrote a simulator to simulate these instructions.
It was a reasonably simple instruction set. Paul was very good with the PDP-10 Assembler. I, in the meantime, laid out the design and charged off coding the BASIC. Paul later came in and helped out with that. A third person, Monte Davidoff, sat down for lunch with us and said he knew floating point packages. So, we had him write some of the math routines. And then we just kept squeezing it. So, we wrote without ever seeing this machine [pats the Altair], except in this picture, and the simulator and got the BASIC running.
And then, we called them back and said "By the way, what's the sub-routines for reading a character from the Teletype and writing to the Teletype -- how do you do that?" And we got Bill Yates on the phone, who was the co-author of this article. And he said, "Well, that is pretty interesting. All these other guys call us up and say they are going to do things. But nobody ever asked us how you get data in and out of the machine. You guys sound pretty serious. You ought to come out and show it to us." And, because we'd never had the chip, just the book from Intel, if we had made any mistake in terms of how the instructions worked, the thing never would have run.
Testing the Basic
And so Paul was scheduled to fly out to Albuquerque. He decided to go get some sleep. I stayed up all night reading the book to see if we'd miscoded some of the instructions. And finally, decided it was all okay, punch out the paper tape, and made sure Paul got that before he went off on his plane. He wrote the bootstrap loader, that is the thing you have to key in to make this computer smart enough to know to go get data off the Teletype to read it into memory. He wrote that on the plane on the way out. It was actually 46 bytes, the first one. I eventually wrote in 17 bytes.
He took the BASIC to MITS. They had a machine they had run with 6K of memory, which for them was a big, big thing. And loaded up the paper tape. The first time, for some reason it didn't work. The second time they loaded it in and it worked. Of course, the simulator is very slow because you go through lots of instructions to a single instruction. So, actually, the real machine [pats the Altair], even though it is such a simple little microprocessor, was faster than our PDP-10 simulator. About five times faster. And so to Paul, when it finally came up and said, OK ... Actually that first version said READY. Most BASICs when they are ready, say READY. Later when I was squeezing bytes out, I thought, well it is faster to print OK, and it is kind of a nice friendly word. So I shortened it to OK a little later.
Anyway, it came up, it said Ready, and he typed in a program, Print 2 + 2, and it worked. He had it print out squares, sums and things like that. He and Roberts, the head of this company, sat there and they were amazed that this thing worked. Paul was amazed that our part had worked, and Ed was amazed that his hardware worked, and here it was doing something even useful. And Paul called me up and it was very, very exciting.
Pretty quickly we decided that we ought to get out there and really help these guys get their act together. I never became an employee. Paul was their Vice President of Software. But I moved out and whatever I did from the inside, I did on behalf of Microsoft. I got out there and a lot of what I started doing at first was actually enhancing the BASIC. 537
Joining the PC Revolution
DA: Let me ask this Bill. You mentioned that, even before this, you and Paul had many discussions about the future. How did this work affect what you thought the future was going to hold?
BG: Well, Paul had talked about the microprocessor and where that would go and so we had formulated this idea that everybody would have kind of a computer as a tool somehow. Not just for business, but also for something they would play around with as a home device. We knew that however it got started, that there would be certain standards built-up around it, about how you programmed things. We wanted to be part of that excitement. And so, we saw this machine as just the beginning of an era. And this company was a wild company. I mean, they were actually bankrupt before they did this because they had gotten screwed up doing Kit Calculators which had been their thing they had done after model rocketry.
MITS actually stands for "Micro Instrumentation Telemetry Systems", funny little things you stick on top of the rocket that tells you what the temperature is at the top of the flight or eventually, they had ones that would take pictures. So, they had done okay in that and then got into Kit Calculators. But was wiped out by Bomar and TI. And then just as a desperate thing, they did Kit Computers.
When these computers came out at $360, the price of the 8080 chip was $360. So people kept saying, "They must be broken chips, it must be fake." And, of course, when they put these kits together, they didn't preassemble them, so if you miss one part -- a lot of people had a hard time putting these things together. But, a lot of people got it done and eventually went on to buy the Teletype and BASIC, and actually get a running system.
So we thought, "Hey, are we really on to something here? We think so." And MITS was just great because it was just a center of activity for those first few years.
We went around the country in this big van, big blue van, they had, with these machines starting up user groups and demonstrating things. Actually, before we even shipped BASIC, somebody stole the demo copy out of the van and started copying it around and sending it to different computer clubs. There was a real phenomenon taking place there, right around this Altair computer. In fact, the MITS guys were kind of upset when people would imitate this computer, same plug-in bus for peripherals -- things like that. They really weren't sure what to do about it.
Expanding Customers Beyond MITS
DA: How did your development on this lead you and Paul to setup your own company as opposed to just working for MITS?
BG: Well, we knew that MITS was only one company, and we wanted our software to be used on all the machines. And even the original deal we did with MITS talked about our ability to get paid for licenses to other companies.
We saw that as Intel was promoting their chip to intelligent terminal makers and other computer makers, that instead of that company writing their own BASIC, we could sell our own BASIC to them for a lot less money. In fact, just do it on a royalty basis. And so we went around convincing companies like NCR and a lot of the terminal companies that they should make microprocessor-based machines.
And so, I was never part of MITS.
Paul worked there for about eighteen months and he hired someone else in to take over their software department. And I started hiring other people. In fact, before Paul came back, we had started BASIC for 6800s, 6502s -- other chips. We started the FORTRAN compiler. We were talking with Texas Instruments about doing a BASIC for them.
It was kind of complicated at first because, actually, I went back to Harvard for a little bit, and we hired in Ric Weiland, one of our high school friends, and Marc McDonald, another high school friend to sort of be the core group until both Paul and I got there full time.
Part 1 Page 2
Page 3 Page 4
David K. Allison, Chairman, Division of Information Technology and Society. National
Museum of American History.
Research specialties: Computer technologies; military technology; social history of technology.
B.A. (1973) St. John's College; Ph.D. (1980) Princeton University.
09/27/1994 Final Edit Kris Kaeding
06/28/1995 Webification by David Allison and Mikel Maron