LINUX MANIFESTO

BOOT Magazine, Sept. 98
http://www.bootnet.com/youaskedforit/lip_linux_manifesto.html
© 1996 Imagine Media, Inc. http://www.bootnet.com

Many have fallen to the mighty Gates OS regime, but all hope is not lost. For out of the darkness and despair a new world leader has emerged -- Linus Torvalds. And only with Linux -- his revolutionary OS for the masses -- will salvation, security, and succor ever be possible.

But a one-man army can't win a war, and Torvalds needs your help to deliver his manifesto to the world.

boot: Let's discuss Linux's conception. How did it originate?

Torvalds: It really came to be because of my own personal needs.

boot: Personal needs?

Torvalds: Yea, I was a student, and I was a very poor computer person. And I knew that I couldn't live with DOS and Windows. I wanted to run somebody else's operating system and be happy and not worry. But the problem was there was nobody else's operating system that fit the needs. You either had the really low end, DOS, or you had the really high-end—the real operating systems, such as UNIX, which nobody used as personal operating systems. They were used in commercial settings in universities, in research institutions--big places. And big places don't care if they throw $10,000 out the window because that's peanuts to them. But to a poor student like me, it wasn't peanuts.

So what happened was that I got a teaching operating system, a small UNIX-like thing that was meant to be a teaching aide of how operating systems worked. But it wasn't enough. When I was 21, I was very self-assured when it came to programming and not very self-assured when it came to anything else. But I knew I was the best programmer in the world. So I just decided "Hey, why couldn't I do this myself?" And so I did. And lot of people have told me that you need to be good, but you also need to be bad enough because if you know beforehand how much work it would have been to do, nobody sane would have even started it.

boot: In retrospect, would you go through it again?

Torvalds: If I knew everything I know now, yes. It's been a great experience. If I knew how much fun it were to have been and how successful it would become, sure, I'd do it again. But if I had only knew how much work it was without really understanding how much pleasure it would bring too, I wouldn't have started.

boot: You mentioned DOS didn't meet your need for an operating system. What were your needs at that time?

Torvalds: Well I was doing fairly low level programming—assembly level stuff. But games and stuff like that are performance-critical. And what programmers tend to do under DOS is ignore the operating system completely. Remember, I was in a university setting, and I knew how the OS SHOULD work, and that it should be supportive enough that you can do what you want to do without having to work around the problems of the operating system. What some people really want, is to control the machine without having to worry or know about the operating system underneath.

But I'm not that kind of person. I really want to have an operating system I can depend on and have it do what I want it to do. DOS didn't fit that bill and Windows still doesn't. When I do something I expect the computer to do what I tell it to do because that's hw computers are supposed to work. But if you're running Windows, MacOS, or a lot of other non-secure operating systems, you really can't depend on the machine because there are too many bugs that can bring down the system. And when there's too many things you can't depend on, you sit there nervously hoping it won’t crash. I really hate not being able to trust the system.

boot: And Linux is something you can trust?

Torvalds: Ultimately, yes. But when I'm doing very active development—such as adding new features—I'm doing stuff that really makes my personal system untrustworthy. I know I'm not immune to bugs either; but at the same time when something goes wrong, I can at least trust that I can fix it.

boot: Do you consider yourself a celebrity?

Torvalds: Sometimes. At conferences I have a lot of people coming up and talking to me. But at the same time I don't have young girls coming and screaming at me and throwing their underwear! Which is just as well, as I'm a married man!

boot: Do you wish you did?

Torvalds: No. I have enough recognition that I feel good about myself, that I know that what I'm doing is actually meaningful to people. And that's a really good feeling to have. Maybe it's not significant on a really big scale, but it’s certainly enough that you can feel comfortable about what you've done with your own life.

boot: Was it your intent to make an OS for the rest of the world?

Torvalds: No, no. It was really only meant to be my own personal system. And if it had continued that way, Linux would have just stopped being after a year because it would have reached my own personal needs. And by reaching those needs, it wouldn't have been interesting anymore. No program is interesting in itself to a programmer. It's only interesting as long as there are new challenges and new ideas coming up.

That's really where the Internet kind of came in. Even very early when there weren't people actually helping with Linux development, there were people who commented "Hey, this doesn't do what I need." At that time, I personally didn't need those features, or maybe I didn't even know I might need them in the future. But having other people just even say that "This is nice, BUT..." actually made it much more interesting to do the whole project.

boot: Why did you use the Internet to hawk the OS?

Torvalds: There wasn't any deep thought of "Hey, let's use the Internet to my advantage" because seven years ago people didn't think that way. Most of the people on the Internet tended to be university people who just used it for e-mail and for moving files around. The Web hadn't really arrived back then.

So it wasn't a question of trying to leverage off the Internet; it was more of a question of "Hey, I have this cool program." I was in this university environment where sharing was kind of what you did. In any science, not just computer science, people usually don't make much money. Scientists aren't known for being rich. But what they do is they share their ideas and they get recognition.

So it wasn't a big step for me to say "Hey, I have this program that I think is pretty cool" and maybe somebody else thinks it's nice too. I knew some people who had access to the largest FTP sites in Finland and I talked to them over beers, and they said "Hey, we’ll give you this area. Put it there when you're ready." And then I just put it out there and I told maybe five people "Hey, this is the first release and it's not very good, but if you're interested take a look." And the five people I told were people who were interested. I had discussed ideas with them before, so they took a look. And the next release was better and partly due to feedback from them. And the next release, I actually told more people about. And then it just snowballed. In a few months I had hundreds of users, which to me was like "Wow! A hundred users! That's more than I ever imagined!"

But they weren't using Linux exclusively; they were users who just liked playing around with it. It could be used as the primary operating system but I suspect I was the only one who was actually using it in that capacity at that point.

But having those 100 part-time users was really great for all the feedback I got. They found bugs that I hadn't because I hadn't been using the way they were. And they added motivation. After a few months they started sending in patches. It took awhile for them to learn about the system enough for them to make any personal progress. But after awhile some of them knew parts of the system so well that they started sending me fixes or improvements. And again, this wasn't planned--it just happened.

boot: Were there any bugs or features that they found that you hadn't really identified as being important?

Torvalds: Very early-on in the development, I had been working on a 4MB 386 with a 40MB hard drive.And this was plenty for me because I was used to the really small personal computers. I had a QL before that; it was a strange English machine and before that an Amiga. So 4MB was plenty and I thought that trying to do paging to disk to virtual memory is just not worth it for me because I don't need it. But then I had a person in Germany, but he just essentially mentioned to me that he had this 2MB machine he didn't have enough memory to do anything useful. He couldn't even compile the simplest program because 2MBs wasn't really enough. So in five days, just before Christmas, and just because this one person said "Hey this would be something I'd like..." I wrote him the first version of Linux that actually did paging to disk so that he could do what he needed to do on his small machine.

And when I think back now, paging to disk is so fundamental. The fact that you can use more memory than your machine really has, are the very basics of any operating system. And I didn't do it because I needed it, but because somebody else thought that he would need it. It's obviously something that I use every day these days. I would probably have needed it at some point, but if it was only up to me, I probably never have felt the need enough to actually implement it.

boot: The Linux FAQ claims that "whenever a version with new functionality is released, it almost always contains bugs." Why would anybody want to take that risk?

Torvalds: Every program contains bugs. What you want to do is to minimize the risk. And you also want to maximize your personal goal/wins. And to some people, the interesting thing to do is to tinker with new kernels. They don't care all that much about the risks because they usually aren't running mission-critical applications; they just want to play around. And new kernels usually have new features or they're faster at certain things. So there is an incentive to upgrade to new kernels. Plus, to some people the risk itself is an incentive because a lot of people really enjoy being on the edge. It's exploration and people enjoy that. But some commercial companies don't want to take the risk. So they wait for the development process to finalize until they get the next stable version.

boot: Are there more bugs in Linux than say there are in Windows?

Torvalds: No. Bugs in Linux are minimal and fixed very quickly. As an example, a networking bug that allowed you to send illegal packets was corrected within four hours. Most commercial UNIXES had fixes within a week or two. Compared to the number of bugs in Windows, it's incomparable.

boot: Linux is based on UNIX, right?

Torvalds: Well it's based on UNIX in the sense that I was used to UNIX and I really liked it. UNIX has a philosophy, it has 25 years of history behind it, and most importantly, it has a clean core. It strives for something—some kind of beauty. And that's really what struck me as a programmer. Operating systems that normal home users are used to, such as DOS and Windows, didn't have any way of life. Nobody tried to design Windows—it just grew in random directions without any kind of thought behind it.

boot: You mentioned you created Linux mainly for yourself. Was there a time when you sat back and said "Okay, I've got 100 users now… can I conquer the world?"

Torvalds: The first 100 users were the only point where I said "Whoa, this is really a jump." But even then, it happened so gradually that 100 users was obviously not something that was going to take over the world. A hundred compared to a few million, that's a big jump. And it always grew so slowly and so non-obviously, that I didn't even know who downloaded it because I just put it up for FTP and everything else happened without me really being aware of it.

So strangely, after the first 100, I completely lost track and stopped thinking about it. These days I jokingly talk about taking over the world and being the next Microsoft. But at the same time it really is a joke because I personally only care about the technical issues. So even though Linux is sold commercially these days, I've never really been involved. To me, a commercial company that sells Linux is just another user. Some of them have major requests of having things done in a specific way, but the fact that they're selling Linux for money doesn't make those requests more or less important—they're just another request as far as I'm concerned. Everything I do is based on what I think is technically the right issue.

boot: But is there any truth to the joke?

Torvalds: Well, yes. Every once in awhile I sit there rubbing my hands saying "You laugh now, but just wait and see. In a few more years I'll be the king!" But its really more pride then anything else.

boot: What's do you hate about Windows 95?

Torvalds: What's fundamentally wrong is that nobody ever had any taste when they did it. Microsoft has been very much into making the user interface look good, but internally it's just a complete mess. And even people who program for Microsoft and who have had years of experience, just don't know how it works internally. Worse, nobody dares change it. Nobody dares to fix bugs because it's such a mess that fixing one bug might just break a hundred programs that depend on that bug. And Microsoft isn't interested in anyone fixing bugs — they're interested in making money. They don't have anybody who takes pride in Windows 95 as an operating system.

People inside Microsoft know it's a bad operating system and they still continue obviously working on it because they want to get the next version out because they want to have all these new features to sell more copies of the system.

The problem with that is that over time, when you have this kind of approach, and because nobody understands it, because nobody REALLY fixes bugs (other than when they're really obvious), the end result is really messy. You can't trust it because under certain circumstances it just spontaneously reboots or just halts in the middle of something that shouldn't be strange. Normally it works fine and then once in a blue moon for some completely unknown reason, it's dead, and nobody knows why. Not Microsoft, not the experienced user and certainly not the completely clueless user who probably sits there shivering thinking "What did I do wrong?" when they didn't do anything wrong at all.

That's whats really irritating to me.

boot: You mentioned that you're proud of Linux Do you not think programmers at Microsoft have the same philosophy?

Torvalds: I think there's a lot of programmers who aren't in it for the money primarily. They're probably programming because they really like programming and Microsoft pays them and they're doing what they're used to doing. There's a lot of Microsoft programmers that are really proud, but they aren't really proud of the OS itself.

They're really proud of being part of something that's really successful. That has its own pride — you want to be on the winning side, right?

So there's a lot of proud Microsoft programmers. But the pride is not in the products. Some Microsoft programs are actually fairly good. Microsoft applications may be buggy, but hey, bugs are acceptable in an application; it's when it's in the operating system and it brings down the whole machine or when it messes up with another application that doesn't have the bug — that's when the bug is serious.

I actually like some of Microsoft applications. I used to use PowerPoint to make my slides when I was talking about Linux for example. I don't think Microsoft is evil in itself; I just think that they make really crappy operating systems.

boot: What about Windows NT?

Torvalds: NT isn't much better. It tries to be secure and tries to do things basically the right way, but at the same time NT too doesn't really have any guiding principles in life.

The only guiding principle is it tries to be more stable than Windows, which is not saying much. Plus, it tries to make money — which includes running Windows programs. But again, it doesn't have any core philosophy and because it doesn't have that people aren't thinking when they do any coding on Windows NT, they aren't thinking "Is this a really good idea or should I do it some other way?" because they don't have any guidelines on how things should be done. So they're just adding things, on top of each other and hoping that the end result is stable instead of trying to really build up a very stable base that everybody can depend on. Windows NT is a fairly young operating system. It's not much older than Linux. In fact, depending on how you look at it, most of its new features are younger than Linux. But you can already see that they're starting to have the same stability problems with NT that they had with Windows because they've been adding features. All the NT news groups for example, talk incessantly about the "blue screen of death," when NT just stops working. Or the fact that you'd better reboot some Windows NT machines every week because if you don't there seems to be a memory leak somewhere and nobody really knows where. After a week the machine still works, but it's crawling very slowly — like molasses. And if you reboot it, everything is fine again for a week, but then it starts acting strange. And that's not something you really should need to do, even though you think that "Hey, once a week, pushing the red button. Who cares? It's 15 minutes a week." Sure, it's stable again and I'm sure it's useful, but a system that acts that way is not a system you really want to depend on.

boot: What about Windows 98?

Torvalds: I haven't really been following Windows 98, but from all I've heard, it's exactly the same as Windows 95 internally. The only thing new is it has a slightly different look to it. They obviously tried to integrate the browser and have that as the desktop, but it's essentially the same operating system. And that's because nobody dares do any major modification because any modification is likely to break one of the thousands of applications. I think Windows 98 is likely to be as stable as Windows 95 because the basics are actually the same. Maybe they've fixed a few bugs but maybe they've added some too.

boot: If the Windows platforms are so unstable, why don't the people just say "Enough is enough, let’s just use Linux?"

Torvalds: A lot of Linux users are people who really need the stability and they're ready to say "Goodbye Windows. I can't take this crap anymore." But the reason Windows obviously has succeeded so well, is not because it’s a good operating system, but because there are a lot of good programs for Windows that aren't all made by Microsoft. Hardware manufacturers look at the market and say: "Since most of the market is Windows 95, should we spend a lot of money developing for Linux or for Windows NT?" Microsoft actually has problems getting drivers for NT. They’ve tried to make the interfaces between drivers to NT and 98 be as similar as possible so that there would be less resistance to making an NT driver even though it has a fairly small percentage of the market.

There's a lot of inertia keeping people with Windows because there's lots of good programs. Some of that inertia may actually end-up helping Linux too. Microsoft can't change all of their internals quickly because they have many applications. And what could happen is that you have an emulation library that is good enough to run all the applications people really need. And if you get that kind of emulation library and are able to run Windows programs on other platforms, Microsoft suddenly loses a lot of the advantages that Windows has now.

People have tried this. Java is a good example of that. If the Windows application wasn’t tied to Windows, but was a bytecode of x86 instead, there’s nothing stopping us from running Windows programs on Linux, Solaris, or even anything else. Sun had WABI, a Windows emulation package, but they had some serious resource problems and were never good enough to become a big player.

boot: How big a factor is Java?

Torvalds: I don't think Java is a factor at all. I think Java has been overhyped, and I certainly think, I HOPE that Java will succeed. But at least for the moment, I think the reality that we should look at an x86 bytecode instead of a Java bytecode. This is where the real reality is right now and Java has made some interesting inroads considering that it's only a few years old, but it still needs to prove itself before. It's not a question of whether I support it or not. I just think that it's been getting more press than it has shown itself to be worth.

boot: Can emulators actually work? Will people start using Linux just to see if they do?

Torvalds: I don't see that happening very quickly.

boot: You don't?

Torvalds: No. WINE (the Linux emulator for Windows) works to a fairly surprising degree. You can run real Windows programs with it, but some of them don't look right, and some of them just crash. But it has been making big progress in the last year, and now you can actually run Word for Windows. It doesn't work for everybody and there are known bugs, but it's almost becoming usable. I doubt people will wake-up and say "Hey, let's get rid of the shackles of Microsoft and switch to Linux and WINE". But there are going to be more and more people who discover they really want the networking abilities of Linux, or run a Web server which they can depend on it day and night.

WINE slowly expands the group of people who would find Linux or some other operating system acceptable because they really don't care about Microsoft per se; they care about a few programs. And as WINE progresses, those few programs start working on different platforms, and people start slowly migrating to non-Microsoft systems.

In a few years WINE will be good enough that you can actually consider running Linux instead of Windows. It won't take over 100% of the market, but that's okay too, because when you don't have one major entity that owns most of the market, it’s a much saner, competitive environment. I think that’ll happen, regardless of Linux. But it will happen eventually.

boot: When?

Torvalds: It'll start happening in a few years and I think it will have finalized by 2010 or 2015. That’s what happened to IBM. They used to be completely dominant and in five years essentially, they lost it. That will happen to Microsoft, but whether it happens in five years or in fifteen years, who knows?

boot: When that happens, how jubilant will you be?

Torvalds: I don't think it's going to happen overnight, so I don't think anybody will be at excited to see it happen. It will be more gradual. They’ll go down to 90% market share and then they go down to 75%. And once they've reached 60% or 50%, then people have already gotten used to the idea that hey, there actually is competition out there.

boot: Does Linux have a good chance of unseating Microsoft?

Torvalds: I certainly hope Linux will be one of the players that will be instrumental in this. It really is very strange to have one company that has this much power.

boot: What happened if it doesn’t happen?

Torvalds: We'll see some real stagnation in what you can do with computers. Software companies are already scared of making products that are too good because Microsoft either starts to look at them, or buys them up. That scenario happens fairly often. The bad situation, which is equally likely, is Microsoft decides they won't spend money on buying this company because they can compete in the same market space. And then just by being this big behemoth, they just roll over this smaller company. It's kind of sad. This is supposed to be the land of opportunities but many hardware and software companies are scared of Microsoft coming and taking their market away. Not by Microsoft being innovative, but by Microsoft just rolling over them.

boot: Does Linux support multimedia better than Windows 95?

Torvalds: Well it depends on what you want to do. For games, there are a lot of developers who really have to jump through hoops to get anything done using DirectX. There are actually game developers who prefer working on Linux and developing all their software on it. When the game is ready, they port it to Windows because that's obviously the larger market.

One of the obvious examples are Quake and Doom. Both of those games actually ran in a window on Linux long before they ran on Windows.

For many multimedia applications you need A-1 reliability in timing. You care about the performance but above all, it should be smooth. You don't care about how many frames per second you can output; you care about the fact that you can output them at certain well-defined times. There's no point in trying to output 100 frames a second if what happens is that all of them happen in the first half-second and the next half-second everything is still. And that's the kind of dependability that Microsoft has problems with.

Also when it comes to the really interesting stuff, performance is a major issue. A lot of multimedia is getting stuff off disk and onto the screen as fast as humanly possible. And in many cases Linux just performs a lot better. But again, there are many reasons for using Microsoft. You have a lot of these development tools under Microsoft that you don't have with Linux. There are multimedia environments for Linux too, but you don't have the same choices you have with Windows.

boot: The perception is that UNIX appears to be a dying platform. Can Windows NT kill UNIX?

Torvalds: Sure. One of the biggest problems in UNIX is all the mixed vendors. There aren't all that many big UNIX vendors, and many have decided (for marketing reasons) that it’s too hard to compete against Microsoft. So what they're doing is they're competing against each other, which is very detrimental to the UNIX market as a whole. One UNIX vendor may get a bigger market share, but it's only because they have one feature that is specific to them, that no other UNIX has. And it is not something that software developers want. They want to write their program once and run it on everything. And by writing their program for Microsoft Windows they can almost do that because it won't run on everything, but it will run on a large portion of the market. The UNIX in-fighting has just fragmented the UNIX market.

boot: What's the motivation to develop on Linux?

Torvalds: It's actually fairly hard to develop for Windows. You have a lot of development tools, but depending on what you do, if you have a bug you may have to reboot and wait for five minutes before you can fix that bug. And if that bug is a trivial bug, it can really be frustrating. Windows programmers tend to have two separate systems: one for testing, and one for programming.

Stability is nice. The tools are different under Linux, but when it comes to programming, Linux has a real edge. The tools are really good, but they are technically-oriented. There's a fairly steep learning curve, but once we get above that learning curve, you can do a lot with the tools that exist.

boot: Is the learning curve detrimental to Linux's overall success?

Torvalds: It is. Visual Basic for example, is a really bad programming language. But at the same time if you have a really small application, you don't want to jump through hoops to make it look pretty. And that's the success of Windows — it’s mediocre, but it’s easy. And it's a problem for Linux because traditionally, all the UNIX people have been very technically oriented. When they use UNIX, they had big programs. They were crunching numbers, or calculating how the Atom Bomb works. That's always been the UNIX mentality. But in the past few years UNIX has made inroads on the desktop.

boot: And are these changes for the better?

Torvalds: Yes. We have the big stuff on a more global scale, but now we're getting the small and important stuff on personal scale too. I consider games to be important, not because they increase your productivity or anything like that, but because that's what some people really want. So I was overjoyed when we got to do them; I was ecstatic when they decided that Quake should also be ported.

boot: If you were put in charge of Microsoft's OS for one day, what would be the first major change you'd make?

Torvalds: I don't know what there is to do anymore. They really cannot change Windows 95 or 98. Too many programs depend on it. They can't muck around with the big kernels.

boot: Do you ever see a time where Microsoft might release an OS that doesn't have any legacy support for applications?

Torvalds: No. They certainly probably want to, but at the same time they definitely don't want to open themselves up to the competition.

boot: Do you have a Windows PC at home or work?

Torvalds: No. I really don't need to. When somebody sends me e-mail in Word 5, I just reply to them and say "Please send this in readable format." Even though I could start-up Word for Windows I choose not to. Of course, there aren't that many people who actually send me Word files. The people I e-mail with tend to know better! [laughs]

boot: If Linux is considered a living entity, one must assume that it can die. Can it?

Torvalds: Sure. I think it's fairly unlikely, but miracles can happen. Maybe with some divine intervention, the next version of Microsoft's OS will actually be good. This is extremely unlikely, but hey... you never know.

You can also die a slower death, just keeping at the five-percent level for several years and just going the way MacOS eventually did. OS/2 was killed by bad management, and the MacOS was too tightly tied to certain platforms that were not economically viable anymore.

boot: How long before MacOS disappears?

Torvalds: I think it will be completely gone in five years and I think it will be a really small niche market in two.

boot: Compared to the BeOS and the MacOS (which seem to garner a lot of publicity), Linux is a silent OS. Why do you think that is?

Torvalds: Well it's marketing obviously. In number of shipped copies, Linux is far beyond where BeOS is, and I think we're about on par with MacOS. BeOS actually got most of their press by being obviously the first Macintosh-centric. So they weren't actually competing against Microsoft and as such they had a much easier time getting press because they were competing against this other niche market, right? And they have an interest in systems. I don't think they're going to make it because it's just too hard to commercially try to compete with Microsoft right now.

boot: Why don’t you make marketing your responsibility?

Torvalds: I just don't find it interesting. I do it part-time though. When somebody contacts me and asks to do an interview, I'm more than happy to do that because I obviously like to see Linux in print.

boot: But why not appoint somebody to do that for Linux?

Torvalds: Well I couldn't even afford somebody to do that. There are places such as Linux International, that might be able to do that. It’s a non-profit organization that's getting funded from various Linux companies. But I think the biggest thing is that the Linux community tends to not even be aware of marketing. Most software communities tend to not be very marketing-oriented.

boot: Can Linux survive without marketing?

Torvalds: With the Internet it can. Even though there is very little commercial marketing, there is a lot of noise about Linux on the Internet. You have a lot of Linux specific and even non-specific news groups out there. When it's a Web news group talking about Web-serving, probably THE single most popular platform for that is Linux.

Linux is more of a grassroots movement. But it's not really planned. It just happens. And I think that Linux has enough features that it can make do without marketing.

boot: You’ve got a full slate of global developers who are working on Linux. Why hasn't it developed into a state of chaos?

Torvalds: It’s a chaos that has some external constraints put on it. For example, the pure kernel has a copyright that says that whoever does Linux development doesn't need to go through me. If Microsoft wanted to, they could take Linux tomorrow, start development on it, and do it completely on their own. There's nothing to stop anybody from doing that. However, they are required to make all the changes available to everybody else. This "no ownership" idea means that the only entity that can really succeed in developing Linux is the entity that is trusted to do the right thing. And as it stands right now, I'm the only person/entity that has that degree of trust. And even if somebody thought I was doing a bad job (which is fairly rare) and that somebody decides that "I really want to fix this feature," there's a really big hurdle to convince everybody else that he CAN fix that feature.

It allows chaos, but at the same time it has certain built-in things that just make it very stable. But you really need to be very good to take over development. Knowing that the best person will be there to pick it up, is exactly the kind of security feature you need in a development network.

boot: So as long as they're the best, you don't really care?

Torvalds: Right. If somebody comes along that's better, what can I do? I can't lose.

boot: Is there room for more than one person?

Torvalds: There's a lot of people who I trust personally that act as co-developers. And when certain people do changes to their own sandbox, I almost always apply those changes to my tree because I know those people are trustworthy.

boot: If Linux is considered a living entity, one must assume that it can die. Can it?

Torvalds: Sure. I think it's fairly unlikely, but miracles can happen. Maybe with some divine intervention, the next version of Microsoft's OS will actually be good. This is extremely unlikely, but hey... you never know.

You can also die a slower death, just keeping at the five-percent level for several years and just going the way MacOS eventually did. OS/2 was killed by bad management, and the MacOS was too tightly tied to certain platforms that were not economically viable anymore.

boot: How long before MacOS disappears?

Torvalds: I think it will be completely gone in five years and I think it will be a really small niche market in two.

"I don't think Microsoft is evil in itself; I just think they make really crappy operating systems."

boot: Compared to the BeOS and the MacOS (which seem to garner a lot of publicity), Linux is a silent OS. Why do you think that is?

Torvalds: Well it's marketing obviously. In number of shipped copies, Linux is far beyond where BeOS is, and I think we're about on par with MacOS. BeOS actually got most of their press by being obviously the first Macintosh-centric. So they weren't actually competing against Microsoft and as such they had a much easier time getting press because they were competing against this other niche market, right? And they have an interest in systems. I don't think they're going to make it because it's just too hard to commercially try to compete with Microsoft right now.

boot: Why don’t you make marketing your responsibility?

Torvalds: I just don't find it interesting. I do it part-time though. When somebody contacts me and asks to do an interview, I'm more than happy to do that because I obviously like to see Linux in print.

boot: But why not appoint somebody to do that for Linux?

Torvalds: Well I couldn't even afford somebody to do that. There are places such as Linux International, that might be able to do that. It’s a non-profit organization that's getting funded from various Linux companies. But I think the biggest thing is that the Linux community tends to not even be aware of marketing. Most software communities tend to not be very marketing-oriented.

boot: Can Linux survive without marketing?

Torvalds: With the Internet it can. Even though there is very little commercial marketing, there is a lot of noise about Linux on the Internet. You have a lot of Linux specific and even non-specific news groups out there. When it's a Web news group talking about Web-serving, probably THE single most popular platform for that is Linux.

Linux is more of a grassroots movement. But it's not really planned. It just happens. And I think that Linux has enough features that it can make do without marketing.

boot: You’ve got a full slate of global developers who are working on Linux. Why hasn't it developed into a state of chaos?

Torvalds: It’s a chaos that has some external constraints put on it. For example, the pure kernel has a copyright that says that whoever does Linux development doesn't need to go through me. If Microsoft wanted to, they could take Linux tomorrow, start development on it, and do it completely on their own. There's nothing to stop anybody from doing that. However, they are required to make all the changes available to everybody else. This "no ownership" idea means that the only entity that can really succeed in developing Linux is the entity that is trusted to do the right thing. And as it stands right now, I'm the only person/entity that has that degree of trust. And even if somebody thought I was doing a bad job (which is fairly rare) and that somebody decides that "I really want to fix this feature," there's a really big hurdle to convince everybody else that he CAN fix that feature.

It allows chaos, but at the same time it has certain built-in things that just make it very stable. But you really need to be very good to take over development. Knowing that the best person will be there to pick it up, is exactly the kind of security feature you need in a development network.

boot: So as long as they're the best, you don't really care?

Torvalds: Right. If somebody comes along that's better, what can I do? I can't lose.

boot: Is there room for more than one person?

Torvalds: There's a lot of people who I trust personally that act as co-developers. And when certain people do changes to their own sandbox, I almost always apply those changes to my tree because I know those people are trustworthy.

boot: By nature of your current stature, some would accuse you of profiting from Linux's success. Have you done that and does this diminish Linux's overall "free OS" movement?

Torvalds: Profiting? I'm getting a lot of recognition and some of it is not necessarily deserved. I've done a lot of the really core functionality of the kernel, but there's been hundreds of other people who have written drivers for specific devices. And to some degree they get less recognition than they really should in this area because I'm the only person who people really see as the figurehead of the development. Bill Gates gets all the glory for Microsoft even though he's got thousands of people working for him. But I haven't made much money from Linux.

boot: So are you making any money on Linux at all?

Torvalds: No. Because I made Linux, I was able to make a name for myself, and I have a much better job than I would have otherwise. So that kind of indirect thing obviously exists. A few years ago people knew I was a poor student. At Christmas time I used to get a few personal checks of $100 or so. It didn't pay for development, but it was nice knowing that people care so much they're willing to pay even a small amount of money just because they want to.

boot: There’s a perception out there that Linux is very difficult to install…

Torvalds: [interrupts] And it's completely wrong. But the perception comes from the fact that when you buy a PC, Windows is already installed for you. So you don't ever actually see how nasty it is to install. When you install Linux, you actually have to do it yourself.

Most people who want to use Linux find themselves coming from a Windows background, and even though Windows isn't easy to use, they're used to it. So there's a small problem right there just getting used to a new system. It's like when you're switching cars—you're going from a stick shift to an automatic—it's just difficult getting used to it or going the other way. For some things the stick is better; for some things the automatic is better and you can use both.

The other issue is that you have to install it yourself, which you didn't have to do with Windows. But it really isn't any harder to install. And you don't have to reinstall it every time something goes wrong, which you have to do with Windows.

boot: Is Linux doomed to be a niche OS?

Torvalds: No, but I'm actually hoping that it won't take more than 25 or 30% of the market. If Linux owned 95% of the market it would be equally as sick. There is some need for competition.

boot: Are you happy with the current level of success?

Torvalds: Yes, it's just incredible. Considering that it was a young university student who did this seven years ago and started it all, and now Linux is being considered by some as the only alternative to Microsoft, how much more successful do I need to get?

boot: But do you wish it was more successful faster?

Torvalds: No, I wish it's going to be more successful, but faster is not an issue. It's okay if it seven or more years to get up to 15%.

boot: Is "Linux" a variation of your name?

Torvalds: Yes. Originally the official name was supposed to be Freix (the "IX" is from UNIX). It was intended as pun, and wasn't meant to be all that serious. But it turns out that the person who had the FTP site in Finland didn’t like the "FREIX" part, so he just decided on Linux instead.

boot: What's the biggest misconception about Linux right now?

Torvalds: That it's hard to install is the biggest misconception, but there are political issues too.

boot: Such as?

Torvalds: There are some people who think that this open source thing and giving away the operating system for free somehow is tied to Communism. These are people that think that Microsoft is a good company, not because they're making good products, but because "Damn you, it must be good if the richest man on earth owns it, right?" These are people who don't look at anything else than commercial success and they think that "this Linux thing must be bad". I've actually gotten e-mail (not often, but occasionally) from people who essentially say "Go home to Finland and don't take away these American jobs." And that’s only because I'm competing with Microsoft in a sense. But these people completely ignore the fact that capitalism is actually based on being able to compete in the marketplace.

boot: Who’s the typical Linux user?

Torvalds: It's been changing. These days there's still of university students using it, but a lot of commercial companies install Linux as a Web server. You have people who use Linux as a development platform, and you have people who use Linux just as a workstation.

I don't want people to run Linux because they want to run Linux. I want people to run Linux because that's what they wanted to do. And while there are still a lot of universities who run Linux, there are a lot of commercial places saying "Hey, if I want to have a workstation, the cheapest and actually fastest way of doing that is buy a PC and install Linux." And voila! They have a workstation that rivals the commercial workstations in power but for only half the cost.

boot: How many end-users out there?

Torvalds: It’s hard to say for sure, but the numbers seem to vary between 5 and 10 million people. These numbers are based on market surveys. It's an educated guess, but it’s a guess nonetheless.

boot: Linux users invariably have to wait to take advantage of the hardware for lack of hardware drivers. Is that fair?

Torvalds: Well, it's fair to some degree. I mean it would be unfair to require hardware companies to write Linux drivers. Why should they? There's no point.

We do have drivers for just about all the common hardware out there, and we have drivers for a lot of uncommon hardware too. And because the source is there, a lot of people are actually interested in writing drivers. And some commercial hardware manufacturers do include Linux drivers.

boot: How difficult though is it to get companies to actually write Linux drivers?

Torvalds: It's fairly difficult. It has happened. What's usually easier is to get companies to give out enough information that people can write their own driver, and that seems to happen fairly easily. There are companies that won't even give out that kind of information.

boot: Like who?

Torvalds: Matrox used to be one of them. They wouldn’t give out programming information initially. But it's fairly rare. It can still be a problem, but most companies will give out programming information and some companies will actually actively help the effort by putting an engineer on half time or by actively answering questions.

Most hardware companies do not make any money on the software. For them the driver is actually a money sink. It's something they have to have, but they'd be happier if somebody else was doing it. So most hardware companies are more than happy to tell you how to program their hardware, because it only helps. They're making their money on selling their hardware. The ones who don't tend to tell, tend to be cheap hardware companies, who are making cheesy hardware and know that they're making cheesy hardware. And they don't want to tell people just how cheesy it is. They don't want to let the competition know what the programming is because they know that that the competition might do a clone that is better. Cloning has been very popular in the PC business.

boot: What do you consider "cheesy" hardware?

Torvalds: Well for example, when the hardware itself has almost no smarts, and all the work is being done by software. Soft modems are a good example of this. And it’s really bad. I mean this is bad hardware, and the only reason they exist at all is because it’s cheaper to make them. Worse, some people say "Hey, we have the CPU power to do it in software." Sure, we have lots of CPU power but do you want to throw away your CPU time on something you could do in hardware for not much expense? Most people who buy this junk hardware don't realize how bad it is and what they lose in the long run.

boot: Do you work with any companies trying to get support for Linux?

Torvalds: Not me personally. Some of the commercial entities do work with other companies, specifically companies like Netscape. Caldera for example, had an agreement with Netscape before Netscape announced it was officially supporting Linux. But on the whole, there hasn't been all that much contact so far.

boot: Should there be?

Torvalds: I think it's because just a few years ago, or even just a year ago, Linux wasn't on the radar screen of a lot of hardware companies. So even when people tried to get in touch, it was really hard getting to any kind of interesting level of communication.

boot: So who's responsible for talking to these companies?

Torvalds: There isn't any specific organization. What tends to happen is that we have individual people who are talking to individual companies. So especially with high-end hardware, we've had a lot of luck with people wanting to do drivers and asking for support from the company that makes the hardware. And there's been a lot of fruitful help actually coming out from the company in the form of documentation and helping development and stuff like that.

boot: Are there any specific software applications you’d like to see ported to Linux?

Torvalds: I'd like to see more normal desktop applications.

boot: What do you mean by normal?

Torvalds: Linux already has a lot of technical applications like databases, compilers, stuff like that. What's lacking tends to be more of the office kind of applications. There's two or three office suites that are available for Linux, but it still isn't really choice enough for some people.

boot: What about games?

Torvalds: We have a certain amount of that, but not enough.

boot: Is that an area you'd like to see strengthened?

Torvalds: It's not an area where I would specifically hope for a lot more; but yeah, it's an area that I'd like to see more work into. And I've seen actually certain game companies trying to gather more interest in Linux as a game platform. And there's actually been some interest from these big game manufacturers that do games in arcade companies and they often have the problem they're running on specialized hardware and they really don't want to write their own operating system. Most modern games actually need a surprising amount of real operating system support, like multi-tasking, stuff like that. And there's been interest from that kind of industry where they like to use Linux because it has no licensing issues and they don't have to pay any fees or anything like that. At this point it's been mainly just people talking about it. No firm commitments yet.

boot: Okay. Is there a platform that Linux can't be ported to or used on?

Torvalds: Well I used to think that you really wouldn't want to port Linux to anything without a good memory management unit, and then a few crazy people actually ported Linux to the PalmPilot. And once somebody has done something like that, it has to be portable to just about anything.

boot: Is Linux still useful as a teaching aid?

Torvalds: Yes. When you're teaching about operating systems, you need to be able to show how things are done. And with Linux this is trivial because you have sources and you have no obligations put on you from those sources. Microsoft has given source licenses for NT to big universities. But in giving source licenses to NT they tend to require certain things. For example they require the students sign nondisclosure agreements. And while that is okay for a certain class of school, it’s not okay for a university that thinks it should allow people to also talk about what they have learned. So any serious university would not accept that kind of license.

I've actually been disgusted how many non-serious universities there are. There are universities that are considered to be reasonably good, but teach people skills that must not be used in a professional capacity, except if they happen to be professionals at Microsoft.

I find that to be fairly immoral for a school.

boot: You and Bill Gates walk into a dark alley. Who walks out?

Torvalds: [laughs] I have no idea. I think both.

boot: Why?

Torvalds: I don't think Bill Gates dislikes me personally. I don't think he lies awake during the night. I think he's very aware of Linux, but I don't think he's worried, at least not yet. And for reasons I've already outlined, I'm not worried about Bill Gates because I don't care about the marketing side. I mean Bill Gates is always mentioned to be this super programmer and is head of this big software firm, but he's really a marketing person. He used to know how to program, but I don't think he's programmed in a long time. Linus Torvalds and Bill Gates don’t exist in the same spheres.

boot: Do you consider yourself the Bill Gates of the alternate OS community?

Torvalds: No, I don't really compare myself to Gates.

boot: So who do you compare yourself to?

Torvalds: I don't know who I compare myself to. I say that I tend to admire more of the scientists than a person, but there's no particular idol I have.

boot: Would you ever consider working for Microsoft?

Torvalds: Yes. I wouldn't say no to a job just because it's Microsoft, but it would have to be a real dream job and right now I don't see Microsoft having that kind of dream job.

boot: What would your dream job be?

Torvalds: Paying lots of money for me sitting in some Hawaiian island playing Quake. Seriously, if they had something really interesting going on in the kind of area where I'm working, I could consider working for them. I don't have any religious belief that Microsoft is evil and that Bill Gates is Satan.

boot: Do you consider yourself an evangelist for Linux?

Torvalds: To some degree. I mean I obviously evangelize Linux when I get the chance, but at the same time I also want to at least try to appear fairly unbiased. I am very biased, but I want to see the good points in other operating systems if for no other reason but to make sure that Linux has more of them.

boot: If Linux was the best thing you've accomplished, what was the second best?

Torvalds: Well, I don't know. I never put it in those terms. I mean I've tried to always lead a life I could be reasonably proud of and Linux is just part of that. I wouldn't want to take Linux out of that context. So being a dad, being somebody people tend to trust, doing Linux—it's all part of this one thing; I'm not sure what it is. It's not that I'd like to say which part is more important than the other one.

boot: What's your plan for Linux’s future?

Torvalds: I've never had any specific plans. A few years ago I thought that SMP wasn't going to be an issue. There were SMP machines, but they were fairly expensive and they weren't really accessible to most people. Even now most people tend to run single CPU machines. But it's become very obvious that dual CPUs are so cheap that a slight power user can easily take advantage of them. So these days SMP is very important for Linux. And because I didn't have any specific plans about SMP, I have no problems trying to realign myself with the new reality. And for that reason I don't want to have any specific plans for the future. The only real plan is to make a better system. And a better system depends on what the needs are of today and they change.

boot: And those needs may not be may be dictated by you?

Torvalds: No, they certainly aren't dictated by me. I've never really dictated what Linux will support. I dictated how it supports certain actions, but of all the functionality that is in Linux, very little of that is actually used by me because I'm a power user, and I have very specific needs. I never use the sound card, for example, because I'm just not interested in that. But Linux obviously supports sound despite that.

boot: So when you play a game of Quake...?

Torvalds: It's silent. I actually don't play Quake all that much. I really like having Quake for Linux, but I'm not much of a gamer. Every once in a while I start up a game, just as something else to do, but I find it much more interesting to actually code and design and do Linux work.

boot: What's the current state of SMP?

Torvalds: Right now we're slowly making ready for the next stable version which would be called Linux 2.2. The new SMP support is a lot more solid than it used to be. The current stable kernel, which is 2.0, does have SMP support and it works for most people, but it has known problems in certain combinations with hardware and it's not very efficient under certain circumstances and the current development kernels are much better in that way. Much smoother when you have multiple jobs running on both CPUs and in general taking better advantage of having multiple CPUs. But it's something that will continue to evolve. Right now we've been concentrating on scaling to two CPUs and four CPUs because that's what most people tend to have, especially duals. But within a few years, maybe eight will actually be a reasonably normal number and we'll have to work on it some more to make it really use eight CPUs to full advantage. You can run it on it right now but depending on what you're doing, you may not get much of a speedup.

boot: What other features do you have lined up for the next version?

Torvalds: The next version is not going to be a big step. It's going to be mainly a performance release. It's more of a maturity thing. 2.2 will add officially the PowerPC and SPARC support. And again, the SMP is much, more mature. Performance is better too.

boot: And when the new release expected?

Torvalds: I expect it to be sometime during this summer, probably July, maybe August. But it's very hard to tell. It depends. Maybe we'll find something that just holds it up, and then it might be September. But if everything goes swimmingly we'll be able to do it in June.

boot: What about version 3?

Torvalds: We don't have any real plans. The obvious things we're looking into are our clustering and more scalability. But we'll see what happens. There are new constraints. We want to more easily support certain things that WINE needs for Windows emulation. So 2.2 will already have more support for threading kind of window under WINE. Linux has had training support for some time, but it still isn't window-specific. The new version–the new development kernels—will have specific support that makes certain things easier to do. We’ll have to wait and see what happens for 3.0.

boot: If you were sitting on a plane next to a CEO of a Fortune 50 company that wasn't using Linux, what would you say to him or her to persuade them to use it?

Torvalds: The sad thing is that a Fortune 50 company probably is using Linux, but the CEO won't know. So they'll be using Linux in the engineering department or in support or something like this, but it won't be obvious enough that the CEO will be aware of that fact.

boot: How about the CIO?

Torvalds: The CIO probably knows, but even the CIO may not know. The one common way that Linux gets adopted inside organizations is by a small group of people who are working on a very specific project. They set up servers for their project, and they use Linux because it's usually the choice that needs the least paperwork. So you take some random PC that you have lying around, (which doesn’t imply that it's necessarily a low end PC; at some companies, a random PC might well be a dual Pentium II) and you just install Linux on it and it just works. It isn't officially supported anywhere, but it's used in various places and then half a year later when another group has similar needs, they take notice. Linux kind of unofficially gets into companies. Certain companies, (if and when they become aware of this), sometimes decree that "this is unacceptable", but most usually unofficially bless the use of Linux. It may not still be on their official list of software that is supported by the MIS department, but it might actually be officially supported.

boot: Will there be a time where Linux isn't available for free?

Torvalds: No.

boot: You say that very quickly.

Torvalds: Yes. One of the reasons I say it quickly is I've been asked the question before and I also have made certain there is no way anybody can take the freeness away. I very strongly feel that it's a good thing and the copyright requires it. And when somebody sends me big patches, I don't ask them to assign the copyright over to me. So right now for example, the kernel itself has probably on the order of 50 or 100 copyright holders and the actual copyright license has always been the same. It's the GPL that requires that sources always be available. So in order to make a version of Linux that is not under that license, you have to get all those copyright holders to agree to the new license. The parts of the kernel that I own completely are significant, but they aren't enough to really make a good system. I did that consciously. I wanted to bind my own hands so that even if people don't trust me personally, they trust the fact that even if I wanted to turn commercial, I couldn't.

boot: If there was a tagline for Linux, what would it be?

Torvalds: Very early on I reached the conclusion that anything I ever get in e-mail is just hot air until I see some real code or some real fruit of the discussion. So we used one that we stole from Nike, the "Just Do It" tagline. It says don't just spout fire, just do it; and then after it's done, show the world.

boot: Caldera alleges Microsoft is stong-arming vendors not to include Linux. Any comments?

Torvalds: It's an unofficial fact of life that hasn't been proven, but everybody feels that it's fairly taken for granted. But I don't think Caldera could get people to officially admit to this. They probably have a basis in fact, but it's very hard to prove. At the same time you have to give Microsoft the benefit of the doubt, even though it's a very small doubt. You can't just denounce them without having real proof.

boot: So you're still willing to do that?

Torvalds: Sure. I mean I personally think that most of the accusations made against Microsoft are probably true, but there is also a large amount of spite in a lot of them.

boot: Aside from Digital, what OEM manufactures are actually including Linux as an OS?

Torvalds: There are a lot of companies that put Linux on their supported list. There are a few hardware manufacturers that officially have a cool "it works with Linux" sticker on their hardware boxes, but it's fairly rare. Digital is one of the larger ones, but even at Digital it's not very official. It's usually a small, slight notation in the corner of their ad.

boot: What’s up with the penguin?

Torvalds: The penguin doesn't have any real meaning, but it relates to a trip I took to Australia four or five years ago when I was bitten by a fairy penguin.

boot: What the hell is a "fairy penguin?"

Torvalds: Fairy penguins are these ferocious animals about ten inches high with a beak that couldn't kill a human or even a smaller animal. Unfortunately, one bit me when I was attempting to pet it. It was love at first sight.

A few years later when we were discussing what kind of logo people wanted (many wanted a boring, commercial one), I decided on the penguin. Some people are still unhappy because they think that it's too noncommercial, but it's meant to be more fun than serious. I'm much happier being associated with a fun and slightly irreverent logo than with something static and boring.

boot: What do you do for Transmeta?

Torvalds: I really can't tell you.

boot: Okay, what does the company do?

Torvalds: I really can't tell you.

boot: It’s that big a secret?

Torvalds: It's a startup company; it's not really big. But we don't have a product yet. There are two kinds of startups: those that tell the world everything, long before they have a product, just to make a lot of noise; and those who want to take the world by surprise. We don't hear about those kinds of companies so much, except when they make it really big. I’m hoping that Transmeta might get really big in this case!

boot: Transmeta obviously hired you for your programming skills. Are they associated with Linux?

Torvalds: Not really. I actually had several offers when I finished my degree. And I specifically did not want my job to be Linux related, because I want to have the freedom to do whatever I think is the right thing without having a boss that says "Hey, we really need this feature in order to make a lot of money." I didn't want to be in that position. I'm happy that there are UNIX people who are in that position; I like the fact that there are commercial companies that do that, but me personally I don't want to feel that I have this sword hanging over me of economic success or not.

I made sure that all the offers I got, even when they weren't UNIX-related, the company recognized that I would be still be working on Linux at the time. But Transmeta is great. Since the company uses a lot of Linux, they allow me to do Linux work on company time too. For me is a perfect work environment.

boot: When will Transmeta be ready to announce something?

Torvalds: I don't think I can tell you that. But hopefully it will be in the next year or two.