Staff Writer, CNET News.com
When Linus Torvalds successfully harnessed the talent of thousands of programmers to create Linux, the operating system that arguably suffered most was Sun Microsystems' Solaris.
Now Torvalds and his allies face a new side of that old competitor. Sun has turned Solaris into an open-source project. The company also is building its own community of programmers around Solaris, while promoting the operating system's deployment on the widely used computers with x86 processors, such as Intel's Xeon.
But the 34-year-old Finnish programmer isn't fazed by Solaris. In fact, he's downright dismissive, calling it a "joke."
Torvalds worked for years at now-struggling chip designer Transmeta, but he now plans to stay with his current employer, Open Source Development Labs in Oregon, "for the foreseeable future."
There, along with co-worker and chief deputy Andrew Morton, Torvalds is spearheading a new Linux development process: frequent small changes to the existing 2.6 kernel of Linux rather than a massive overhaul many months down the road. The result: faster improvements.
Torvalds discussed Solaris, his improvisational programming style and other issues in an interview with CNET News.com.
What do you think of what Sun is doing with Solaris 10—technology improvements, open source, and the move to x86 chips?
I'm taking a very wait-and-see attitude to Sun. They like talking too much. I'm waiting for the action.
It seems to me that they have taken some action besides just grandstanding. They have resurrected the x86 version and added several interesting features—containers, DTrace, and ZFS, for example—that are available today in beta versions of Solaris 10. They're actively rounding up support from developers and software companies. And they announced that the production version of Solaris 10 on x86 will be available for free. What do you think about the x86 move and the new Solaris features?
Solaris/x86 is a joke, last I heard. (It has) very little support for any kind of strange hardware. If you thought Linux had issues with driver availability for some things, let's see you try Solaris/x86. (Editors' note: Drivers enable an operating system to communicate with specific hardware such as a video card or network adapter.)
IBM's Steve Mills said a lot of the Linux development road map is an eight-lane highway: Seeing where Unix has gone makes it obvious where Linux needs to go. Is Linux charting its own course or just picking up Unix technology?
I'm a huge believer in proven concepts. If I have a hero, it would have to be Sir Isaac Newton, partly because he's unquestionably one of the most influential scientists who ever lived, but perhaps more importantly because of a quote he is famous for: "If I have been able to see farther, it was only because I stood on the shoulders of giants."
Now, Newton may not actually have been a very pleasant person in real life, but I think that quote is what personifies science. And open source. The whole point is to stand on the shoulders of giants, and make incremental improvements on concepts and ideas of others.
To invent something totally new and different just because you want to do something new and different is in my opinion, the height of stupidity and hubris. Linux is doing great things exactly because Linux isn't throwing out the baby with the bathwater, like so many projects tend to want to do. The NIH syndrome (Not Invented Here) is a disease.
What Linux myths or misconceptions do you find particularly galling?
I don't get upset that easily, so I can't say that there is any in particular that I find galling. One myth that I find interesting, but which has nothing to do with Linux or even the IT sector in particular, is the myth of how a single person or even a single company makes a huge difference in the market. It's the belief that things happen because somebody was visionary and "planned" it that way. Sometimes the people themselves seem to believe it, and then the myth becomes hubris.
I have to continually try to explain to people that no, I don't "control" what happens in Linux. It's about having an environment that is conducive to development, not so much about any particular leader. And I think that is true in most cases, be it the "great sport coach" or the "great spiritual leader."
I've always been skeptical of the great man theory of history, though it's had its moments. On the flip side, you clearly have had a pretty big influence over Linux, and Linux has a big influence over the computing industry. Has Linux made you more humble or has it boosted your ego?
Hey, it's not like my ego was that small to begin with, but Linux sure as hell hasn't made me more humble. What it has done is to make me realize just how much the movers and shakers really do depend on the environment they are in, or have been able to build up around them. And while that still doesn't make me humble, it hopefully keeps me at least a bit more grounded.
And I'm not trying to say that individuals don't matter. Individuals do matter, and I'm a huge believer in the theory that a motivated and smart person can do more than a thousand people who aren't. But what matters more than any individual is the kind of environment that brings in the people who shine. One of the things I think Linux has succeeded really well at is to let people shine.
When Sun releases Solaris as open-source software, will you take a peek?
Probably not. Not because of any animosity, but simply because I don't have the time or the interest. Linux has never been about "others," it's been about getting better than itself, so I don't really have any motivation to play around with Solaris. I'm sure that if it does something particularly well, people will be more than happy to tell me all about it.
Surely if you like the idea of standing on the shoulders of giants, there might be some handy ideas in Solaris. Why ignore it?
Because I personally don't think they have anything left worth taking after I've applied the general Unix principles. I really do think Linux is the better system by now, in all the ways that matter.
But more importantly, if I'm wrong, that's OK. People who know Solaris better than I do will tell me and other people about the great things they offer. To try to figure it out on my own would be a waste of time.
Let us suppose it's a few years down the road and Linux has crushed the versions of Unix in the marketplace. Where do you look for inspiration at that point?
I've never had a dearth of inspiration so far.
The things to do come not really from other systems, but from users. People seldom say "I need Linux to do Y, because Unix did Y," and in fact, that's an argument I fundamentally don't believe in. Rather, the problems that people have are more along the lines of "I need to do X, and I can't find a way to do it" to "I can do it this way, but it sucks because of Y." And that is where the inspiration really comes from.
How much do you spend on near-term planning and on long-term planning? I think you tend to be an improvisational, issue-of-the-moment person, not a let's-design-a-big-framework-that-will-last-five-years person.
Yes. I really can't plan my way out of a cardboard box.
All my long-term stuff is very fuzzy "intuitive" stuff, not something I could really put into words. I try to avoid having very specific goals in the long term, and instead have more of a general feel for what kinds of things I like and don't like. Some people may see that as undirected, and hell yes, it is. On the other hand, it's pretty flexible, and exactly because I'm not focusing on some specific goal five years from now I'm also not losing track of the problems people experience today, or ignoring somebody else's vision.
I find people with big visions interesting but often a bit scary. One of my constant arguments on the kernel mailing list (in various guises) is to not redesign the world, but try to make specific small improvements, and let the big payoffs be kind of incidental.
Do you think the Gnu's Not Unix (GNU) project to clone Unix and the GPL—foundations for Linux, obviously—could have happened without Richard Stallman's big vision?
I think it could have happened without him, but that's like saying "what would the world look like if X (some arbitrary great person) hadn't been born?" It would be different, and there's no question that the kind of drive that you get from having a vision is very powerful.
So you might as well have asked whether Linux would have happened without me. Obviously not in that sense. But maybe one of the BSD (versions of Unix) would have grown up instead. Or some other crazy undergrad would have done his own operating system.
Why did you select the GPL to govern Linux, and what kinds of changes would you like to see in the next version?
I really want a license to do just two things: make the code available to others, and make sure that improvements stay that way. That's really it. Nothing more, nothing less. Everything else is fluff.
It may sound like a very simple concept, but even most open-source licenses fail my criteria very fundamentally. They tend to fail in allowing somebody to limit the availability of improvements some way.
And the thing is, in my fuzzy "cannot plan his way out of a cardboard box" world, I don't worry too much about the next version of the GPL. I'm not a lawyer, I don't worry about the exact wording. In many ways, my only gripe with the GPL has been how many words it seems to need to say something very simple. That seems to be a common theme in any legal situation.How is the kernel-development process changing?
The biggest change was probably that I expected to open up a 2.7 tree (Editors' note: a new experimental version that branches off the current 2.6 version) but didn't really relish the notion. Nobody argued strenuously for that, and instead there was a fairly widely held belief that the current 2.6.x development model actually works pretty well.
Which is not to say that 2.7.x won't happen—it probably will in a few months—but it does mean that the stable release branches are starting to overshadow the development ones. I think that's both a sign of maturity and of the fact that the stable releases are so important to so many people these days that you can't leave them behind as easily.
Does the new process mean improvements make it into Linux faster?
Yes. That's one of the advantages of this model—much lower latency of new things. People always hated the two-year development cycle, as you could tell from how all the threading work we did for 2.6.x ended up being back-ported into 2.4.x because vendors just couldn't wait for it.
What changes are radical enough to trigger the 2.7 tree release?
If I knew, I'd tell you. It basically boils down to: "Do we need to change something so fundamental that we can no longer assume that the things that rely on it work the same way any more?" All the previous development cycles have had core issues that we knew we needed to fix, but that would cause major havoc in the parts that used that core infrastructure.
How many developers do you estimate are working on Linux today? I'm guessing a small fraction of people contribute a large fraction of the code.
It's pretty skewed, yes. On just the kernel, there's a couple of hundred fairly active people. The change logs show about a thousand people in the last year, but many of those are people dipping their toes in the water. And that's totally ignoring a large set of developers, namely the ones that do testing and (quality assurance) and feedback.
What do you think about the increasing prominence of Red Hat and Novell in the Linux marketplace? Does it trouble you that they're increasingly the ones who define Linux for customers instead of you?
Heh. The less I have to do with customers, the better. I've always felt that the biggest contribution the commercial vendors do is exactly the fact that they end up being the interface between customers and developers, and that they also thus end up being the balance between purely technical issues and the purely marketing thing. And open source keeps them (and the developers, for that matter) honest.
Does it seem to you that the Linux sellers are driving the Linux train and you're becoming more of a passenger?
Not to me, it doesn't. I don't think the vendors think that either. But they certainly have a lot of input. That's how it needs to be: People need to feel involved...If anybody feels like somebody is just a passenger, that's bad for everybody.
Is the limiting factor for Linux on the desktop engineering or marketing?
It's a combination of things. (There's) engineering in the sense that there's a lot of details around that can be improved, there's the marketing/perception side and most importantly there's the "user inertia" side.
People tend to stay with (and like) the thing they are used to, and I think that has been the biggest limiting factor for the last year or so, and is only getting more so—i.e., the technology is there, but people aren't mentally ready to make the switch. That's why I think the commercial desktop is important: It's what made DOS (and later Windows) feel familiar to people, and I think that's where the more general desktop push ends up happening. But it's going to take years.