Windows NT is already showing signs of bad design, Java is dead on the desktop and Sun faces a struggle to regain its credibility. Linus Torvalds, Finnish creator of the Linux operating system, is no shrinking violet. Perhaps he is feeling a little smug as open source software finally gains some purchase in the corporate world. Torvalds has no shortage of thoughts on the industry in general, as well as why working at a commercial firm — the ultra-secretive Silicon Valley firm Transmeta — holds such appeal.
What’s the relationship between the Linux community and Microsoft?
I guess it counts as fairly hostile, mainly because a lot of the Linux users are fairly fed up with Microsoft. I mean, they wouldn’t be Linux users otherwise.
The users of Solaris tend to be Unix users. Most Linux users are ex-DOS or Windows users. And there are a lot of people there who really dislike Microsoft. But at the same time, most of the developers are certainly not anti-Microsoft. For example, me, I don’t care. I think it’s tasteless that they have such a strong market, but at the same time I’ve actually never been a Microsoft user myself.
Microsoft has said that they have no plans to port their applications — Internet Explorer, for example — to Linux because there is no customer demand. Is that true?
That’s not the reason, I’m fairly certain. They’re doing HP-Unix versions. I mean, dream on. It’s not because they think that HP-Unix people would like Internet Explorer. That’s not the issue.
The real reason is just that when you do a port to HP-Unix, you aren’t porting to something that is in any way a rival. HP-Unix has absolutely nothing to do with Windows NT. It’s politically the right thing to do.
They very much know about Linux; and they very much don’t want to port to it. And the reason they don’t want to port to it is they know that on PCs, NT and Linux have about the same user base.
How big a threat is Linux to Windows NT?
I honestly don’t know. But with NT you are already seeing signs of bad design — like, NT 5.0 has been slipping for a while. From all I’ve heard, they have this behemoth that is so big, they couldn’t get it to build reliably when people made changes. They definitely have problems maintaining a sane source base.
Linux has a large source base, too. How is it any better off than Windows NT?
A useful Linux distribution could be half the size of NT, but if you get a CD, it’s probably 100 million [lines of code]. But the packages are independently developed, so they aren’t a maintenance nightmare to each other. I don’t care that GCC [GNU C compiler] is a few hundred thousand lines of code, because it doesn’t impact me. Micro-soft has this one tree that they have to maintain. It shouldn’t be a problem for them, but it obviously is.
It seems that a great deal of your work is devoted to keeping the Linux kernel clean.
For very selfish reasons, I don’t want to clutter up the kernel because it makes it so hard to maintain. And nobody’s ever been in that position, when it comes to NT. So what I think will happen is that in five years, Microsoft will come out with the ‘new-new’ technology — something completely new, because Windows NT will be where Windows 95 is right now, which is too complex and too fragile. Because nobody knows all of it, and it’s really hard to maintain. I don’t think NT gives you many benefits right now. The only benefit you get is that it runs most Windows programs. And assuming Wine [a Windows emulation package] starts working reliably, that benefit is gone.
A few years ago, Sun had visions of taking on Microsoft on the desktop. Is there anything to be learned by their failure?
One thing is that if you go after Microsoft, you don’t do that by selling an expensive system. You need to give an NT person a reason to run your operating system. And Solaris was never that. Solaris was never something that a Windows person ever had any reason to switch to. It was way too expensive; it didn’t give a Windows user much at all. It was completely unsupported, in reality, on PC hardware. Solaris x86 was there, but let’s face it, it wasn’t Solaris.
How will Linux get ported to Intel’s next-generation microprocessor architecture, Merced?
There are already people ... for example, at CERN, the European high-energy physics laboratory — they are already using Linux to a large degree. All the CERN maths libraries have been ported to Linux. And I know, for example, that they’ve already been talking to Intel, saying: “whatever happens, we want to run Linux on Merced, too.”
The big thing, actually, is to port the GCC compiler to Merced. I suspect there probably is already some project somewhere. They’re doing it under a non-disclosure agreement [NDA] at this point. When Merced is actually released, I suspect that within quite a short time frame you will find GCC for Merced.
Probably what will happen is that, yes, we won’t have Linux for Merced when Merced comes out, but I bet Linux will be running on Merced faster than most others (operating systems) within half a year.
Will Merced bring any major changes to Linux?
Linux is already 64-bit. It’s actually the easiest 64-bit type, little-endian, which is exactly what we have for Alpha right now. The EPIC-ness [explicitly parallel instruction computing] of Merced — VLIW [very long instruction word] as everybody else calls it — is a problem for the compiler. It’s a problem for the tool chain, but it’s completely irrelevant to the kernel itself. It doesn’t create any problems in that sense.
Tell us about the SMP [symmetric multiprocessing] work you’ve been doing on Linux.
That’s what I’ve been working on for the past year or so. It’s in a much nicer state right now. We still have things we know aren’t at all optimal, but all the infrastructure is there.
The only sane way to go from UP [uni-processor] to SMP is to essentially force the kernel to run on only one CPU at a time. It can switch between CPUs, but it only runs on one at one specific time. Which means that you don’t have to rewrite any of the kernel. You just have to rewrite the low-level entry points to the kernel and make sure that they lock each other out. It’s really simple.
When will companies like Dell start selling Linux machines?
The only thing that will make one of the big companies pre-install [Linux] is just market. There’s also pressure from certain obvious quarters not to do it. Even though it’s probably not on paper, I suspect it’s probably true that Microsoft doesn’t like having other systems pre-installed. You probably need to have a very noticeable market to decide this. I think the point of no return is 10% to 15% of the market. We aren’t there yet. We’re closer to five.
Small vendors already install Linux. At the point that one of the larger ones notices that it’s losing sales to smaller ones, that’s probably when it will start happening.
What are your thoughts on Java?
I think everybody hates Java as a desktop thing. I see Java mentioned a lot lately, but all of the mentions within the past year have been of Java as a server language, not as a desktop language. If you go back a year and a half, everybody was talking about Java on the desktop. They aren’t anymore. It’s dead. And once you’re dead on the desktop, my personal opinion is you’re dead. If servers are everything you have, just forget it. Why do you think Sun, HP — everybody — is nervous about Microsoft? It’s not because they make great servers. It’s because they control the desktop. Once you control the desktop, you control the servers.
It’s no longer something that will revolutionise the industry. It could have revolutionised the industry if it was on the desktop, but I don’t see that happening anymore. I hope I’m wrong. Really. I just don’t think I am.
How did Sun blow it?
Too much noise, too much talk, too much discussion, not enough ‘show me’.
So Sun’s credibility is shot?
It’s the credibility. It’s also the fact that its implementations were bad. So you have companies like HP which just decided that, ‘Hey, I can do a better implementation. I don’t need Sun anymore.’ Or you have companies like Microsoft which decide, ‘Okay, let’s do our own extensions.’ And because the Sun implementation isn’t good enough to carry Java on its own, the Microsoft extensions actually make sense to people. And it’s just not compelling enough for anybody to switch.
Sun has done this right in the past. Sun did it right with NFS. NFS became the standard because NFS was the only game in town at the time. It was freely available; things like that. NFS is a really crappy standard, but, I mean, it’s there. And Java could have been a standard. But in order to get a standard that actually stands up to something, you have to get it on to enough machines that nobody can come in with a competing standard — which means that you really have to execute on it.
I could be wrong. There are people writing Java, but there are a lot of people who gave up on Java. I think Corel is the biggest example.
Essentially I see the Java engine just slipping, not going anywhere. And I really hate that happening because Java could have been a big boost to Linux.
Didn’t the Linux community have a difficult relationship with JavaSoft?
This is part of why I think Java has died. Instead of just leveraging off the Linux base that really wanted to have Java working, they just made it hard for the Linux base to get Java working.
I know that there were people who had sources available and were able to do JVM [Java virtual machine] binaries. They all came out for Linux, but they came out two months late. And nobody got to play with the sources. Nobody got to fix the problems. So right now there are still people working on Java for Linux, but most of them seem to have given up on the Sun implementations. They’re using Cafe and writing their own libraries.
The group in charge of Java at Sun had some licensing problems for the Linux version [of the Java development kit] and for two or three months it looked like the JDK from Sun wouldn’t even be available. And that made a lot of Linux people really unhappy and pissed off at Sun. Those licensing fee issues were finally clarified, but the damage had been done.
What are you working on at Transmeta?
What they’re actually doing is a secret. It’s a hardware company, but it does have a software side. I can’t answer any questions about Transmeta.
It’s a long way from Finland, though.
I knew that the only way to actually force myself to actually write the thesis was to have a pressing reason to do so. I liked being at the university, but I wanted to do something else.
I was kind of thinking that, ‘Hey, I want to see the commercial side, and maybe I’ll go back to the university because I have enjoyed it.’ But I at least want to see the other side of the fence. And now that I’ve seen the other side of the fence, I’m fairly certain I don’t want to go back to the university. I really like working at a commercial company. You don’t have to write papers. You actually get to code, which I really enjoy. And you have a very clear goal. You don’t have to make up some goal to make grants.
Linus Torvald’s personal Web page at www.cs.helsinki.fi/~torvalds.
The Linux Journal Linus Torvalds resource page at www.ssc.com/linux/linus.html.
Transmeta at www.transmeta.com.
GNU at www.gnu.org.
A list of worldwide Linux consultants is at consult.cyrius.com/Consultants-HOW TO.html.
McMillan is a senior editor at SunWorld, an IDG publication.