An Interview with Alan Cox
Welcome to the unexpurgated version of Linux Journal's Linux Kernel Who's Who. If you haven't yet seen our June 2000 issue, which features 40 profiles of some of the kernel's pioneers (hackers like Lars Wirzenius, Pauline Middlelink and, of course, Linus Torvalds), make sure you get a copy from your nearest newsstand - or your nearest Linux Journal web site. If you have already read the profiles, then our unexpurgated versions of the original interviews, which were e-mailed to each major contributor to the Linux kernel, may reveal a few surprises, and a lot more detail.
We'll be posting the original interviews here on the Linux Journal web site over the next several weeks. So sit back, and enjoy a few words from some of the folks who helped make Linux possible!
Linux Journal: How did you first learn about Linux? What were you doing in your own life at the time?
Alan Cox: I was hacking bits of ideas for my own OS and working on a MUD called AberMUD. I had pondered getting a decent PC, since the Amiga was getting a bit long in the tooth. 386BSD came out, and it looked like there was finally an OS worth running on x86 hardware. Linux came out around the same time, but didn't need an FPU, so I started running Linux.
LJ: What attracted you to it, compared to FreeBSD, proprietary Unix systems, or lucrative areas such as Windows? What made you want to help with development?
Alan: Linux was a lot easier to set up in the early days; MCC Linux and then SLS made it really easy to install by the standards of the time. I looked at the BSD systems, but I liked the way the GPL meant I was writing code that nobody could run off with. I didn't really chose not to hack 386BSD; I was just having too much fun with Linux to bother.
LJ: What part of Linux were you personally interested in and working on? How are you still involved with Linux development?
Alan: Initially, I was working on the networking code after Ross Biro stopped maintaining it, and Fred van Kempen basically dropped the mainstream code to rewrite it. I ended up maintaining the code and getting it going. Nowadays, I do the stable kernel releases and a fair bit of patch merging and debugging of drivers.
LJ: What was most important to you about Linux? What's the very best thing about Linux?
Alan: I think the most important thing about Linux is that it gives people the ability to do what they want. The "Penguin Powered" logos people love should really be "Penguin Empowered". That, I think, is the best thing about Linux, too. We've given the computer back to the user.
LJ: How important was the GNU project, and how did the GNU Hurd factor in to your thinking? Should Linux be known as GNU/Linux?
Alan: I knew about GNU several years before. In fact, in many ways, Linux exists because GNU chose to pursue the Hurd rather than using UZI as their Unix OS core, as they could have done. GNU/Linux is perhaps overstating it, but ignoring the FSF contribution is even worse. Richard has perhaps made a few enemies by insisting on GNU/Linux - but it does remind people.
It's really x11/BSD/GNU/....../Linux.
LJ: What was it like to be working with others over the Internet at a time when several computer luminaries thought that organizing successful software development over the Internet was difficult, if not impossible? Did you realize how revolutionary this approach was?
Alan: I don't think it was revolutionary. People had been doing it for a long time before that, a very long time. The modern Internet and large-scale access just made that project a bit easier - the lack of people and slow networks killed earlier equivalent projects like UZI and OMU, stopping them from spreading.
One thing Linux taught me: far too many people write about software design, but have never run a real-world computing business. The folks who seem to get software design right are mostly engineers. They want it to work, they want to solve the problem and they aren't totally obsessed by reusable components, object orientation, Java ... whatever the meme of the month is.
LJ: What are you doing with your life now? What's a typical day like? How do you find time for work and Linux, and how do you balance free software with the need to make a living (or the desire to become rich)? What do you do for fun?
Alan: I work for Red Hat. I work from home, hacking free software - it's great. It's been a bit busy, but I have a lot of fun when I'm visiting shows and abroad, both meeting the people and also getting to see other places. It isn't just the shows; I've visited the depths of Iceland with a bunch of mad 4x4 drivers, spent a week in a very snowy Vienna, and been to the Glengarry Highland games in Canada.
LJ: Who do you think other than Linus has had the most influence over the Linux community, and why?
Alan: Umm, that might be me, although I try not to. It really depends on which part of the community you mean, or even outside of the community ... People like Eric have had a big influence on business folks, which I certainly don't have.
LJ: What do you think is the most important addition or change needed by Linux in order for it to succeed further? In what direction does Linux development need to go? Where is Linux's future the brightest? What is the #1 biggest threat to Linux today?
Alan: Probably the biggest thing Linux needs now is better applications and user-space tools. We need to take Linux to the level where you can give it to your grandmother, and not expect a phone call back except to say "thanks". The biggest thing the kernel needs now is documentation.
I'm not sure what the threats to Linux really are. The biggest one is probably Linux fragmenting. I don't think that is going to happen in the mainstream, but we are already seeing a few vendors pulling that way in embedded space.
The app vendors and the users, I don't think, will tolerate a vendor going off at a tangent.
LJ: How do you feel about Linux's current popularity? Would you have preferred it stayed contained in the hacker community? Would it have survived on the fringes?
Alan: It was a bit of a surprise. On my first trip to Red Hat, they had about six people, and the new boy was this Donnie Barnes guy. Now they are heading for five hundred.
Linux would have survived on the fringes, I think. There has always been a market for things people can actually play with and tune.
LJ: Would it have survived without the IPOs and financial backing? What impact has the commercialization of Linux had? How do you feel about Linux profiteering and the people who make millions off of other people's volunteered efforts?
Alan: I'm working for a vendor. I get regular mail from people trying to find Linux-aware folks to hire. I think those who wrote code for fun have plenty of opportunity to reap rewards. Even when I wasn't working for Red Hat, it didn't bother me. I wrote it for fun, and the fact that people found it useful was a greater reward than money. We've made it possible to put computers into places that could never have afforded Microsoft products.
LJ: How can Linux compete with Microsoft in the desktop sector, and will we be able to hold the commercial sector if we don't take the desktop as well? Can we take the desktop without ruining the spirit of Linux by dumbing it down? Where will our next areas of growth and expansion be?
Alan: Trying to predict the desktop is hard. Firstly, I think it's safe to say that the PC desktop of today is probably the dinosaur of tomorrow. Most end users want simpler systems. They want to trade flexibility for ease of use, and power for size.
There will be plenty of people who choose the full PC, some because they enjoy it and some because they need all the power. Those, I suspect, are the minority.
The machines of tomorrow are mostly going to be web-oriented, or very mobile (or both). People will expect them to just work. Folks like Palm have taken the first stumbling steps in this direction, with huge success.
Linux is a good OS for building embedded systems with, and to be able to extensively customize. GNOME and KDE will give people a good battle on the desktop and beyond.
LJ: How do you feel about commercial applications being written for Linux, and proprietary software and protocols in general? Do you run Linux more for philosophical reasons or practical reasons? If something that appeared to be better came along, would people jump ship? Conversely, would we stay with Linux even if it somehow degenerated, took a wrong turn, or stopped progressing?
Alan: I don't believe open source works for everything. There are some cases where the ideas in the code truly have value, but not many. I don't currently use any proprietary software generally, except Netscape. And Mozilla is now within a hair's breadth of replacing that.
I like the flexibility and the control of free software. Most of my experiences with proprietary software have either been getting screwed as a user, or being part of a large company that had to threaten its suppliers with lawsuits to get service. Proprietary software could work, but not while software companies spend all their time and effort lobbying the U.S. government to be basically exempt from all reasonable law on quality and fairness to the consumer, instead of giving people what they want.
LJ: Do you think the community should support only open-source/free software? How would the community survive hard times if there were a lag or down time in the continuing success of the open-source methodology? Is the free software philosophy strong enough and with enough adherents to pull us through?
Alan: The real community consists of those who contribute - not just code, but bug fixes, documentation, etc. That community can survive a lot. Some of the rest of the Linux user base is certainly there because "it's cool", "it's not Microsoft" and for commercial reasons. It's up to the free software methodology to work out for those people. If it does, they will go that way.
LJ: How do you feel about the different licenses? GPL, LGPL, QPL, etc.?
Alan: The old Qt license was a problem. I don't see one with their current licensing. Too many licenses can be a problem, but the basic few we have now seem to fit a wide spectrum of beliefs well.
LJ: Is there a world outside of computers? Are you ever afraid that you'll wake up one day and feel you have wasted your life in front of a computer?
Alan: Most of what I am doing, even that involving computers, is about people and interacting with people. That's true for most computing use. People are using e-mail, IRC, messaging systems and web-based discussion systems a lot. It's about people communicating.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- New Products
- Flexible Access Control with Squid Proxy
- Users, Permissions and Multitenant Sites
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- DevOps: Everything You Need to Know
- Non-Linux FOSS: MenuMeters
- Solving ODEs on Linux
- diff -u: What's New in Kernel Development