The Pragmatist of Free Software: 

                        Linus Torvalds Interview

                        by Hiroo Yamagata


 ===========================================================================

        Copyright (C) 1997 Hiroo Yamagata

        This article is free software; you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation; either version 2 of the License, or
        (at your option) any later version.

        This article is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.

        You should have received a copy of the GNU General Public License
        along with this article; if not, write to the Free Software
        Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

 ===========================================================================


  When several years ago, a student in Finland started writing an OS kernel
for the purpose of his own study, no one even remotely imagined that it
would become this huge Software movement that would embrace millions of
users world wide. This was of course the free software Linux, and its
author Linus Torvalds.
  Although definitely being one of the major figures in the free software
movement, Linus is not trying to make the world a better place through free
software (although he just might). As you can see in the following
interview, he doesn't really care about the clear distinction between
"commercial" software and "proprietary" software, something that RMS is
really sensitive about. He even encourages the development of proprietary
software that runs on Linux, something that RMS would probably frown upon.
  This looseness or openness, however, is a major source of power for Linux
and its popularity. Don't set any rigid frameworks or direction, let things
happen and take in what's good. He's not impressed with sheer technological
trends and fads (his resistance to the use of the now-very-trendy
microkernel has been really consistent from the beginning of Linux), but if
someone else tries to do it (like there are groups that are working on
MkLinux, a Linux with the Mach microkernel), hey, what's the big deal, it's
OK, he doesn't object. Commercial and Proprietary software, yeah, it'll be
nice if we had the same thing in free software, but if people want it, let
them be. In general, what people does with Linux, its their problem, better
used badly than not being used at all.
  This freedom (and the availability of various packaged distributions)
makes it oodles easier to adopt and use Linux. It's a different sort of
"freedom" than that of RMS, although they have a lot in common. However,
this pragmatic freedom of Linux have been really essential in expanding the
horizon for free software. How will it develop, what would become of it? If
you're even remotely interested in the "software and the society" issue,
what this "free software" thing can achieve, this is one movement (and
person) that you'd definitely want to keep an eye on for at least the next
five years.




HY:  You have become one of the champions of free software. However, unlike
Richard Stallman, we don't see you commenting much on what free software
should be and what it means to all of us. Are you interested in these
"promote free software" aspects at all, or are you more interested in the
software itself?

Linus:  I'm generally a very pragmatic person: that which works, works.
When it comes to software, I _much_ prefer free software, because I have
very seldom seen a program that has worked well enough for my needs, and
having sources available can be a life-saver. 
  So in that sense I am an avid promoter of free software, and GPL'd stuff
in particular (because once it's GPL'd I _know_ it's going to stay free, so
I don't have to worry about future releases). 
  However, that doesn't mean that I'm opposed to commercial software.
Commercial software development has some advantages too - the money-making
aspects introduces some new incentives that aren't there for most free
software. And those incentives often make for a more p've been very happy
indeed with the commercial Linux CR-ROM vendors linux Red Hat. What
commercialism has brought into Linux has been the incentive to make a good
distribution that is easy to use and that has all the packaging issues
worked out - essentially everything is easily available.
  Before the commercial ventures, Linux tended to be rather hard to set up,
because most of the developers were motivated mainly by their own
interests, which very seldom include issues like ease-of-use. And with
Linux, commercialism doesn't exclude the availability of sources, so you
get the best of both worlds. 
  Then there is software that is commercial but doesn't come with sources
(the "traditional" commercial software as opposed to a Red Hat Linux
distribution). And I don't try to preach against that either: I hate the
fact that I (and others) can't fix bugs in them, but sometimes that kind of
software is the way to go. 


HY:  When and why did you decide to place Linux under GPL? Did you ever
regret not making it into a shareware?

Linus:  I've never regretted not making Linux shareware: I really don't
like the "pay for use" binary shareware programs that are so common in the
MS-DOS world. 
  In my opinion, shareware tends to combine the worst of commercial
software (no sources) with the worst of free software (no finishing
touches). I simply do not believe in the shareware market at all. 
  I actually originally released Linux with complete sources under a
non-GPL copyright that was actually much more restrictive than the GPL: it
required that all sources always be available, and it also didn't allow any
money to be exchanged for Linux at all (ie not only did I not try to make
money off it myself, but I also forbid anybody else to do so). 
  That original copyright was mainly a reaction against the operating
system I had been trying to use before Linux: "Minix". Minix was meant to
be a teaching operating system, but it had been to limited and in my
opinion too expensive for that. It was also hard to get hold of.
  So when I made Linux, I wanted it to be easily available over ftp with
full sources, and I did _not_ want it to be too expensive for anybody. 
  I changed the copyright to the GPL within roughly half a year: it quickly
became evident that my original copyright was so restrictive that it
prohibited some entirely valid uses (disk copying services etc - this was
before CD-ROMs became really popular). And while I was nervous about the
GPL at first, I also wanted to show my appreciation to the gcc C compiler
that Linux depended on, which was obviously GPL'd.

  Making Linux GPL'd was definitely the best thing I ever did.


HY:  You obviously work on Linux because you enjoy it (in one way or
another). Now, if someone paid you to concentrate on Linux development, do
you think things would have been different? Does this have anything to do
with your choice of the current job? I understand that many people were
surprised that you didn't go to a firm that directly deals with Linux.

Linux:  I actually didn't want to work for a commercial Linux venture
exactly because I didn't want to get pressurized into doing something I
didn't want to do. 
  Also, I actually wanted to have my work not be 100% Linux-oriented
anyway, because I was worried that I'd get bored with Linux if that was all
I ever did. So the work here at Transmeta was pretty much perfect for me:
doing something very interesting that is not Linux-related, while at the
same time allowing me to work on Linux too, and with no strings attached
when it comes to Linux (so my boss can't ask me to do something to Linux
that I wouldn't want to do).


HY:  What's your views on Richard Stallman's idea of "free ware"? In your
lecture at MIT several years ago, you didn't sound like you were opposed to
proprietary software. Are you? What are better off as freeware, and what
are better off as proprietary software?

Linus:  I'm not as black and white as rms: I tend to think that people can
do whatever they want to, but obviously personally I prefer to use free
software. And the reason I prefer free software is not actually anything
religious or anything like that: it's just that I have a lot of different
machines, and I want to be able to work on them all. Having free software
means that I can compile it both on my alphas and my PC's.
  On the other hand I tend to think that some things work better as
commercial software, mainly because a lot of the program is that "final
polish" that commercial software is so good at. 
  For example, user interfaces are _usually_ better in commercial software.
I'm not saying that this is always true, but in many cases the user
interface to a program is the most important part for a commercial company:
whether the programs works correctly or not seems to be secondary (as shown
by the many buggy microsoft programs - not that MS is nearly the only
offender). 
  So things like Word Processors _tend_ to be better when they are
commercial, because in a word processor the most important part really is
the user interface. 
  At the same time free software has been very successful for projects that
are technically oriented, and where the most important part is the
technical side. This obviously includes the Linux kernel, but also things
like the GNU C compiler and various programming tools. 


HY:  We have seen many distributions of Linux that allows users to install
Linux without knowing what's under the hood. While this has brought in
tremendous new users to Linux, there are people who claim that this
undermines the spirit of freeware because people are never forced to look
under the hood and understand its workings. Is this a concern for you?

Linus:  No, I think this is only for the best. 
  I don't think everybody should be interested in how an operating system
works: it happens to be what _I_ am interested in, but I also think that
any program is only as good as it is useful.
  So a useless program cannot be good, regardless of _how_ well it is
implemented. The fact that there are lots of Linux users who don't care how
the kernel works but only want to use it is not only a tribute to how good
Linux is, but it also brings up issues that I would never have thought of
otherwise.
  Those users tend to do different things from what I do, so their needs
are different. And in many cases those differences have shown something
that was missing or badly done in Linux. So even though these users aren't
interested in how Linux works, they have been instrumental in making it
better. 


HY:  About the GNU/Linux argument; have you talked with Richard Stallman
about this?

Linus:  rms asked me if I minded the name before starting to use it, and I
said "go ahead". I didn't think it would explode into the large discussion
it resulted in, and I also thought that rms would only use it for the
specific release of Linux that the FSF was working on rather than "every"
Linux system. 
  I never felt that the naming issue was all that important, but I was
obviously wrong judging by how many people felt very strongly about it. So
these days I just tell people to call it just plain "Linux" and nothing more. 


HY:  (I know you've been asked this question a million times, but...) Why
did Linux become such a big success? Some people say it's you, some people
say it's just a matter of good timing and a lot of luck. What's your opinion?

Linus:  There are lots of reasons. Good timing, lots of luck are certainly
two obvious ones. But at the same time I also like to think that I*ve been
a good manager (and obviously a good programmer), and that that fact has
also been very instrumental in making Linux a successful product. 
  I also think that the Linux development model in general is a very good
model: Linux tends to have fewer rules than other developments, and anybody
can chip in doing whatever they want. I act as a general "filter"  for all
the patches, but other than that it's a very free development model.


HY:  Now that Linux has become so big, do you feel a great pressure about
keeping it in "the right course"? What is the biggest concern that you have
for the future of Linux?

Linus:  I*ve always felt pressure about keeping Linux "right", but they
have always been technical pressures, and as such I haven't worried too
much about them. The good thing with technical pressures is that technical
questions always have a good answer - it's only non-technical questions
that sometimes don't have an answer at all. So technical concerns tend to
eventually find a solution as long as there are good people working on
them. And Linux has the very best. 
  So I*m not really worried about the future of Linux - technically I think
Linux is going to only become better and better, and the non-technical side
I don't personally worry all that much about. 


HY:  There are always various advocacy debates about which is better/best,
Linux or FreeBSD or NetBSD. What's your stance? It's often argued that
Linux isn't inherently better than any other OS. Do you feel the same way?
Have you looked at HURD, the new kernel from the GNU project? What do you
think about it?

Linus:  I don't think Linux is _inherently_ better than FreeBSD or NetBSD.
I just think that Linux is much more successful, partly because of better
management, in my opinion. And because Linux has been more successful,
there have been more people working on it, and it has developed a lot faster. 
  There are also a few technical advantages going for Linux: it's a clean
re-implementation that doesn't have any historical baggage, and the fact
that there is one person who everybody agrees is in charge (me) allows me
to do more radical decisions than most other projects can allow.
  For example, I can single-handedly decide that something is badly done,
and re-do it completely even if it breaks lots of old code. It takes a
while to recover from those kinds of decisions, but it makes for a better
end result: if something is broken it gets fixed faster. 
  As to Hurd, I have to say that I'm not very convinced about the approach.
I personally tend to think that Mach, the microkernel the Hurd is based on,
is not only bloated and slow, but also much too complex. 
  I think the Hurd tried to be the "perfect" operating system, and they
chewed off more than they could handle. It tries to be too clever, too
different, too radical. It doesn't try to be _practical_, which is the main
goal with Linux. 


HY:  Do you think of these other PC-Unix systems as rivals, or more of a
colleague? Do you often look at them to see what can be incorporated into
Linux, or do they never bother you at all?

Linus:  I very seldom worry about other systems. I concentrate pretty fully
on just making Linux the best OS I can, and while that sometimes involves
getting ideas from other systems, that is not actually a very large part
(and when I want to get new and interesting ideas I usually turn to more
radical systems like Plan-9 or Inferno, and then I try to decide which of
those ideas are really worth it).


HY:  Do you consider yourself (or Linux) as a threat to Microsoft? Do you
try to be one? Or do you see Linux as occupying a separate niche from Windows?

Linus:  I don't try to be a threat to MicroSoft, mainly because I don't
really see MS as competition. Especially not Windows - the goals of Linux
and Windows are simply so different. 
  I used to be interested in Windows NT, but the more I see of it the more
it looks like traditional Windows with a stabler kernel. I don't find
anything technically interesting there. In my opinion MS is a lot better at
making money than it is at making good operating systems. 


HY:  In the MIT lecture, you mentioned that Linux needs more end-user
application (and that you didn't mean gcc by that). Since then, we've seen
many office suites for Linux; what other area of end-user applications
would you like to see for Linux?

Linus:  There still isn't enough choice in the desktop application area,
and the applications are still not easy enough to find. I agree with you
that a _lot_ has changed for the better, and in general I'm very happy
indeed with the state of Linux software right now. It just needs more of
it, and it needs to be more easily available. 


HY:  What's your major area of concern in Linux development? What are the
major "things to do" for Linux in Kernel 2.2-2.3? (The current kernel at
the time of the interview was 2.0-2.1.) Any larger targets in store for 3.0?

Linus:  Right now I'm starting to calm down development for the 2.2 freeze,
and all the major things are done (but need to be debugged and polished up
a bit). The major improvements are some performance improvements in various
areas, and a much improved SMP model. Linux-2.2 will also support a lot
more architectures out of the box (2.0 was intel and alpha only, 2.2 will
add Sparc, m68k, PowerPC, MIPS etc). 
  The targets for Linux-3.0 are still fuzzy - I*m taking things as they
appear. Likely milestones are real-time and maybe some clustering
capabilities. 


HY:  Linux is a cooperative effort of many people; so how much of the
kernel is purely your handiwork? Do you spend more time on coordinating
various contributions from world wide, or actually writing the code yourself?

Linus:  I spend more time co-ordinating than writing: there are times when
I spend a week or two only writing code, but on the whole there's a lot
more email-reading and co-ordination going on than code writing.
  There isn't much of the kernel that is _purely_ my handiwork, but a lot
of it I consider to be "mine", in that I've done all the major designs and
I am the main maintainer of it still. That tends to be the really basic
services like memory management, common filesystem routines, process
handling etc. 


HY:  Do you ever feel that the Linux project is getting too big to manage
by yourself? Do you think that day will ever come?

Linus:  Not technically, no. I've been very successful in delegating off
any work that I cannot or do not want to handle, which has allowed me to
keep on managing the basic kernel and set down the milestones and generally
deciding on the basic picture of the kernel.
  But the "Linux project" as a whole is already much larger than anything I
could manage, and it is only going to grow. That's why there are companies
doing Linux support, organizations doing maintenance and development, and
individuals all over the world working on their own projects within the
Linux network.


HY:  The Linux community has grown at a surprising speed with amazingly
little confusion and trouble. Do you have any future images or visions for
the Linux community in general (like the ones that MS and Apple love to
make and never gets anywhere)?

Linus:  I try to avoid long-range plans and visions - that way I can more
easily deal with anything new that comes up without having pre-conceptions
of _how_ I should deal with it. My only long-range plan has been and still
is just the very general plan of making Linux better.
  I know that doesn't sound all that exciting, but it has actually been
very exciting, with so much new stuff happening that I*ve never been bored
with it all. 


HY:  Has being in Finland have any positive or negative effect on
developing Linux? I*ve read somewhere that it's too cold in Helsinki to do
anything else than stay indoors and write code; any truth in this? Was
there a strong hacker community in Helsinki?

Linus: Helsinki isn't all that bad as the above makes it seem. It's a very
nice city, and it's cold really only in wintertime.
  One major advantage of being from Finland was the very high level of
education (and it was pretty much free, so I didn't have to worry about
economic issues when getting an education). And the fact that Finland is
very high-tech - I think Finland is number one in the world when it comes
to the number of internet accesses per person.
  So doing development like Linux actually worked very well indeed in
Finland. 


HY:  How do you like the United States so far? 

Linus:  I like the weather a lot - Helsinki may not be as cold as you make
it out to be, but California is still a lot nicer. I don't remember the
last time I couldn't walk around in shorts all day.. 
  The other thing I like about living here now is that while Finland was
very high-tech, Finnish companies tend to be very traditional, and not
taking many risks and doing the really interesting stuff. Silicon Valley is
completely different: people here really live on the edge and there are
lots of very technically interesting projects here. 
  So I definitely enjoy my new life.


HY:  I read the WIRED article; now, should we REALLY regard your daughter
as a "threat" to the further development of Linux ?

Linus:  No, that was more of a joke than anything else. Although the time
when the interview happened (just two days after the birth), I didn't
really know how it would impact Linux development.

As it turned out, Patricia has been a very troublefree child, and I*ve had
a lot of fun with her. And she's definitely not a threat to Linux. (97.8.3)
[HotWired Japan]