O'Reilly & Associates, Inc.
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). However, if someone else tries to do it (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. In general, what people do with Linux is their problem, better used badly than not being used at all.
This freedom (and the availability of various packaged distributions) makes it 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.
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 to 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 included 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 (i.e., 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 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 "freeware"? In your lecture at MIT several years ago, you didn't sound like you were opposed to proprietary software. Are you? What kinds of applications are better off as freeware, and what would do better 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: (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 on "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: Linux is a cooperative effort of many people; so how much of the kernel is purely your handiwork? Do you spend more time coordinating various contributions from worldwide, or actually writing the code yourself?
Linus: I spend more time coordinating 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 coordination 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 that never quite seems to get 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.