home " subscribe " advertise " customer service " back issues " " contacts

An Interview with Linus Torvalds

You probably know Linus Torvalds as the moving force behind the operating system that is reshaping the computing industry. But did you also know that he owns a four-wheel drive, orders steak and beer when given the chance and that these days, he worries less about symmetrical multi-processing support in Linux 2.2 than he does about being away from his wife and two kids?

Linux Magazine had the unique opportunity to sit down with Linus Torvalds over dinner, near headquarters of Transmeta -- the mystery-shrouded Santa Clara, California that employs him. On hand were Adam Goodman, publisher of Linux Magazine; Matt Welsh, author of O'Reilly's Running Linux; and Lee Gomes, who covers the computer industry for the Wall Street Journal.

We met Torvalds at the Transmeta headquarters, and true to form, we were not allowed beyond the lobby; he also refused to answer any questions about what the company is actually up to. (Our best guess is that it is working on a chip that will compete with Intel.) From there, we adjourned to a nearby restaurant, where Torvalds -- despite his wife having pleaded with him not to miss dinner at home to do yet another interview -- spent an obliging two hours answering questions. Topics ranged from Microsoft's software design philosophy to Torvalds' family tree to the differences between life in Helsinki and life in Silicon Valley. (Turns out Silicon Valley isn't nearly as high-tech as everyone thinks.)

Throughout it all, Torvalds was alternatingly insightful, sarcastic, expansive and funny, and the evening served as a great introduction to the World According to Linus. An edited transcript of our dinner-time chat follows; we hope you enjoy reading it as much as we enjoyed having it. -- The Editors.


Linux Magazine: What was your reaction to the part of the internal "Halloween" documents from Microsoft that implied that Microsoft believes that Linux skims the cream of the crop of ideas, and that the company was investigating the idea of using legal tactics against Linux?

Linus Torvalds: I would love for that to happen. It would show people just how sleazy the other side is. And who would they sue? Would they sue me? Because it's very obvious in Linux, unlike with a lot of commercial companies, you can actually see how the code was developed. And you can actually follow it backwards from the origins. You actually have a historical record. You can say, "OK, that was how the code looked at that point. Two weeks later it looked different." You can prove the code was developed through evolution and not through stealing someone's idea.

LM: But why would it be sleazy if they sued?

Torvalds: It's not sleazy per se to sue, although I think the United States does it too much. I think that the sleazy part would be the motivation for suing. It would be very obvious that people would have been searching for any other way besides the straightforward technical or marketing approach to try to trample the underdog. But I don't think it will happen. They might have done something two years ago, but it's too late now because Linux is too high profile. It would make the front pages. The Halloween documents called Linux "Best of Breed" and said it stole a lot of ideas from other operating systems. I freely admit to stealing ideas. That's what evolution is all about. Stealing ideas. Of course, you shouldn't steal other people's work. UNIX is obviously the mother of Linux in that sense, in that we stole all the basics. But a lot of ideas come from a small operating system called Plan 9 that was done by a lot of the same guys who did UNIX in the first place. Plan 9 is not something that a normal person would like to use, but it had a lot of nice ideas. So we stole some of them. NT has a "send file" system call, so we did that too, because we could do it so easily and it is actually a reasonably useful thing to have. It copies a file from the kernel space directly on to a socket, for example. It's what you want to use if you are an FTP server or a Web server.

LM: Is there anything about Microsoft you like or admire?

Torvalds: I like a lot of their applications. I used to use PowerPoint to make my slides. I still think PowerPoint is a perfectly good application. It's not a great application, but it's one of the better ones out there. I just think that Microsoft is very marketing driven, and that results in some good decisions but it also results in bad decisions. And I think that in the long run, especially for technical areas, it results in really bad decisions. You see that with DOS and Windows and Windows NT. And they haven't stopped making the bad decisions.

LM: So what are the bad decisions they are making?

Torvalds: Well, decisions that I consider bad aren't necessarily decisions that a Microsoft shareholder would consider bad.

LM: But don't you think that ultimately, the quality of the of the technology matters in the long run?

Torvalds: I think it actually does. But I think it's really in the long run. And you can always make the argument that you can mess it up in the short run and then start over. That's what Microsoft tried to do with NT. The first versions of NT didn't run all that many Windows programs, and they had to make a lot of changes to make it run more Windows programs. And all of those changes were exactly the kind of changes they wanted to get away from in the first place! One problem is that when you have a large company like Microsoft, you tend to use the "Mythical Man-Month" approach, in which you add people to a project. But the sad part about that is that in a complex technical area -- and an OS is one of the more complex technical areas there is -- when you add people, you dilute the knowledge. You have people who know their subsystems, but you don't have people who know how they work together. And when you do that or a few years, you end up with a system that doesn't work well internally. You have 30 development teams that each do one feature, and then when you try to put the features together, you notice that hey, they don't actually fit. They make assumptions that the other team broke.

LM: Where do get your information about Microsoft?

Torvalds: Mailing lists. A of people send me rumors just because they know who I am. I don't actually have people at Microsoft telling me what's up.

LM: Do you know any Microsoft people?

Torvalds: I know some people who got hired by Microsoft.

LM: Have they ever asked you to work for them?

Torvalds: No.

LM: Would you ever?

Torvalds: I don't see why not, if they had an interesting enough job. I probably wouldn't, because I don't think they have an interesting enough job for me to do. But they have the money to make it very tempting.

LM: So what would it take to get you there?

Torvalds: Essentially free hands and lots of money.

LM: So you don't consider it out of the question?

Torvalds: The free hands part of the agreement would have to say that I could continue doing Linux, and that it's my work, so they can't own it. I went to Transmeta not for the big money but because of the interesting work. My contract says that I can work on Linux and it's not Transmeta property even when I do it on work time.

LM: I don't understand how Linux and Transmeta overlap.

Torvalds: They aren't supposed to! I can't say anything about what Transmeta does. When it comes to Linux, however, I can say whatever I like. That's one of the good things about doing Linux. When journalists interview me, I never need to lie.

LM: We have been talking a lot about Microsoft. Do you think about them as much as some other people seem to?

Torvalds: No. Normally, Microsoft never comes up on the development side, because they are very rarely doing anything interesting that we want to try on a kernel level.

LM: Does their success bother you?

Torvalds: No, what bothers me is not their success, per se, but there are some secondary things that result from that success that have been bothersome. A year ago, for example, there were people inside companies that wanted to deploy Linux for internal use -- it happens all the time. They told me that they tried but had been overruled by management who said, "We are an NT-only shop." That's not Microsoft's fault, unless they pressure people into doing that, which they may or may not do. But it's a secondary effect of their dominance in the market.

LM: If another company had won the software wars the way Microsoft has -- say Sun or Apple -- do you think the world would be different?

Torvalds: Maybe Linux wouldn't have come to be --- because I wouldn't have needed to build it if there had been a default operating system that was technically saner. I don't particularly admire the Sun OS, but at least it makes sense to a large degree. I actually disliked Solaris when they introduced it. But that's because I came from a university background, and SunOS is what I used. What I started out trying to do was to make Linux essentially the same environment at home as I already had at the university. That was one of the driving reasons why I did Linux, because finally at the university I had found an operating system that made sense, that you didn't have to fight it to do what you wanted to do. I wanted to have that at home, and I couldn't, because I couldn't afford it.

LM: Sun always claims the moral high ground vis-a-vis Microsoft. Do you view it that way?

Torvalds: I think Sun has a lot of interesting ideas. I like them technically a lot more. As a company, though, I don't see any big difference. However, you should hold the giants to different standards than the little people, and right now Sun is one of the little people. They aren't the nicest little people, but if you're small, it's OK to be mean. [Laughs.]

LM: People always talk about Linux and Microsoft. But isn't Linux equally threatening to Sun? If you run Linux on a standard Intel PC, you aren't going to buy a lot of Sun workstations, are you?

Torvalds: Well, a year ago, people were saying that UNIX was going away completely. But today that's not how people see it. People are seeing NT failing and renewed interest in UNIX, partially because of Linux. So I actually think that Linux is very much in the same market as Solaris, but at the same time Linux actually helps revitalize some of the UNIX market. So far at least Linux has been in the low end of the UNIX market, where niche vendors haven't done that much. They tend to have much higher profit percentages in the larger installations where Linux hasn't yet penetrated. So in that sense Linux is much more competitive with NT, because it's used in the same kinds of places.

LM: To the extent that Linux is at the low end -- is that permanent?

Torvalds: I don't think so. But at the same time I think the low end is fairly interesting. But the low end for me is actually dual- and quad-CPU machines. It's not really low end, however, it's not the high-end servers.

LM: But can Linux also play in the high end, such as with mission critical applications?

Torvalds: Two years ago, you wouldn't have even asked that. Today, you are asking that question! It is definitely moving towards that. NT was that way too. Two years ago you wouldn't have considered NT for a real server -- today you might. For a lot of mid-class servers, NT is perfectly fine. But I think Linux has already overtaken NT when it comes to scalability to larger machines.

LM: Three years from now, what degree of multiprocessor support will there be in Linux?

Torvalds: I'd say three years from now you will regularly see up to 16 CPUs in one machine. After that it gets too expensive to do the memory subsystem to for symmetric multiprocessing. So what you do then is you cluster them: you have 16 of these machines, and a fast network between them.

LM: How do you feel when you think about the fact that your creation is changing the software world?

Torvalds: It's happened over eight years -- that's more than a quarter of my life! It's happened so gradually, so it seems so normal. Right now Linux has something like 17 percent of the server market... that's peanuts. But 17 percent of the workstation market and the desktop market -- that's my ultimate campaign.

LM: Are you rich?

Torvalds: I have two kids and a wife, so... the money rolls out at the same rate it rolls in. I do own options in Transmeta.

LM: So if they went public, you would do really well, right?

Torvalds: Yes. I'm not worried abut making money, because in this area even if Transmeta doesn't have an IPO -- and I certainly hope they will -- I still get a salary and I can still live on a salary.

LM: Other people are trying to now profit from Linux. Aren't you?

Torvalds: No. There is one Linux company that gave me an employee stock option package even though I am not an employee. I'm not going to tell you which one.

LM: What motivates you personally? Is it something philosophical? Religious? Technical? Why the effort?

Torvalds: It started out as just personal interest. It wasn't that I wanted to change the world; I wanted to make Linux freely available, but there wasn't any deep philosophical thinking behind it. I want to have fun in my life. Not fun like parties... I want do something that matters. The fact that it matters to a lot of people gives it meaning to me. I want to be the best I can be, and I don't plan to join the Army! [Laughs.]

LM: Do you want to change the world?

Torvalds: One hundre yyears from now if people asked you who were the most important people in the 20th Century, the only person who I am sure would be on the list is Einstein.

LM: What about Bill Gates?

Torvalds: He might be there in 100 years. But he won't be there in 2000 years. Einstein will. Mozart will. Jesus will be. Maybe I won't get to that level. [Laughs.] In 100 years if I am remembered as a Chopin or an Einstein I will be a hell of a lot happier than if I am remembered as a random "capitalist pig!"

LM: What is it that you enjoy about developing software?

Torvalds: There isn't a final goal -- the goal changes constantly. A good example is doing multiprocessor support. Four years ago I thought it was too expensive and normal people wouldn't have access to it; that there's no point. I wasn't very interested in it. So the first SMP versions of Linux came out without any help from me at all. Then I started to be very interested indeed because the systems are very cheap these days and it's technically a very challenging area... I decided it was what I wanted to do. So that's what I've been working on. It's not just me, however. The fact that SMP was done without me is an example of somebody else who had a different priority.

LM: But as you go about adding features, how do avoid doing to Linux what happened to NT?

Torvalds: In the end it will happen to anything. It's just a basic fact of software engineering that it's a lot easier to add features than it is to remove them! Adding features never breaks old programs, unless you have a bug -- and even then the bug may be so subtle that you never notice. Eventually it will happen to Linux too. The only thing you can do is to make that process as slow as you can make it.

LM: How can you make it slower in the Linux model than in the NT model?

Torvalds: There are a few ways of doing that. You have to have a basic philosophy. You have to have some fairly basic rules about how things should work so that whenever someone adds new features you can ask, "Does this make sense in the larger picture?" If you don't have a larger picture, you can never ask yourself whether some new feature makes sense.

Unix has a philosophy that makes it less susceptible to these random additions. But the Windows philosophy is to add whatever it takes -- to do whatever you have to do for marketing reasons. It's not written down anywhere, but trust me, that's what the Windows philosophy is. UNIX, however, was not quite a research operating system. A lot of research operating systems go to the other extreme, which is, "We don't care about how the world looks, because we want it to look this way, and that's the way it's going to look." You can't do that either -- that's putting blindfolds on yourself!

The other thing that Linux has that NT doesn't have any more is a few fairly strong personalities. You have me, you have Alan Cox, and there are others too. You have people who actually know how it works. Say you have a bug, such as a null pointer, where the system crashes because you expect the pointer to point to a real data structure and it doesn't. The easy way to avoid the crash is to place an safety mechanism in the code which says, "If this pointer isn't null, then do this." This way, you don't get the crash because you don't use the pointer when it's trapped. The point is that if you actually understand the code, you can say, "That pointer should never have been null in the first place," and you can backtrack to find out where the real bug is. Instead of hiding the crash, you go back and find out why it happened. If you hide the bugs, you'll never find them.

LM: So to what extent is Linux bug-free?

Torvalds: Nothing is bug-free! Of all the operating systems out there, the ones that are the less buggy are already a subset of what any modern operating system does. One way of not being buggy is to not do too many things.

LM: What do you think of people who use Windows?

Torvalds: The operating system itself might be bad, but that doesn't make the users who use it bad. Users who use it have very good reasons to do so. But it goes the other way too -- if people who use Windows are good users, that doesn't make Windows good.

LM: What kind of computers do your family use?

Torvalds: My mother uses a Mac. My Dad uses Windows... so does my sister. My wife uses Linux.

LM: Your sister -- do you think she ought to use Linux?

Torvalds: There's no reason for her to. She doesn't use Windows -- she uses Microsoft Works. Windows is really only a program loader. I can see why Windows 95 has 95% market share. I'm going to change it, but It's going to take some time. Give me a few more years and ask me again.

home " subscribe " advertise " customer service " back issues " contacts