Los sistemas
informáticos del futuro en el IES Adaja
|
Proyecto "La
red autónoma / 2002-03"
|
Una realidad necesaria
en la informática escolar. Estudiantes de Bachillerato. Prof. Alfonso Tindón
de Izu
|
|
|
|
Linus Torvalds |
28 de Diciambre de 1969. Helsinki,
Finlandia |
Transmeta Corp |
3940 Freedom Circle |
Santa Clara, CA 95054 |
USA |
Email: torvalds@transmeta.com |
|
|
|
The Pragmatist of Free
Software:
Linus Torvalds Interview
by Hiroo Yamagata
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 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 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 polished product.
For example, I've been very happy indeed with the commercial Linux CD-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-ROM's 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.
Linus: 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 attachedwhen 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? 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). 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? 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.
|