By
Stephen Shankland
Wednesday, December 22 2004 11:43 AM
URL:
http://www.zdnetasia.com/news/newsmakers/0,,39210433,00.htm
newsmaker
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."
Solaris/x86 is a joke, last I heard.
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.
Hey, it's not like my ego was that small to begin with, but Linux sure as hell hasn't made me more humble.
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.