Kerneltrap has spoken with Linux guru Alan Cox. He is perhaps the second most influential Linux kernel hacker, next only to Linus. In this interview he talks about himself, his history with computers and Linux, working for Red Hat, Marcello and the 2.4 kernel, the DMCA, the future of Linux and much more.
Jeremy Andrews: A quick Google search reveals that you've already been involved in quite a few interviews. However, for the readers out there who are not familiar with you and your contributions to Linux, can you tell a little about yourself?
Alan Cox: Pretty generic on the whole - born (that bit is required anyway), school, chickenpox, German measles, mumps, lessons and somewhere down the line computers thanks to a couple of teachers interested in computing who gave up their own lunchtimes one evening a week to teach pupils who were interested. At the time the school had 3 computers and you'd get maybe 15 or 20 minute sessions, but that was way more than most. Somehow computing just soaked in, so by the time I officially did computing at school I was the owner of a ZX81 (first real mass market cheap UK computer) and already teaching the teachers.
I did the end of school exam ('O' level to UK people) in 30 minutes for a 3 hour paper and by the time I was at college (16-18) I was convinced of my own brilliance.
At the end of college before going to university I worked briefly in the game world, helping do ports of the Scott Adams games to UK machines and bits of some other games, then my own game. That taught me a certain amount about the computing and real world. The computer game business at the time was run by the people who failed to get into the music industry because they'd have to think a moment before selling their grandmother. It was also full of people who were all as good at computing and many of them rather better than I was. Worse yet, every one of them was either as convinced of their own brilliance as me, mentally unstable, or both.
Like the music industry nobody in the computer game industry made any money but mysteriously all the game company owners drove expensive cars and lived in huge houses.
University was a slightly checkered career, not on the whole due to taking other people's computers apart but because of the rather odd rules at Aberystwyth. I learned a lot there (more from my own experiments and trying to achieve things than from the course), but because of the other courses you had to pass (Physics in my case) ended up changing university to one that didn't require I could do physics but required I could do computer science.
Looking back on university I'm very glad I did it. At the time I thought management skills, software engineering, databases and even bits of maths like proof by induction were completely irrelevant. I've used all of them in my Linux work.
The whole Linux thing was really an accident - my interest was text based adventure games (the world of Colossal cave etc) and also multi user games based on that style (Essex MUD1 and so on). I got into Linux looking for a better platform to developer AberMUD on.
I ended up doing time synchronization across ethernet, a large C++ network file/project manager, and then ISDN code for Sonix and later 3COM. I then escaped to be a sysadmin at NTL, left to work at a small saner ISP (Cymru.Net) which NTL bought. At that point I escaped to Red Hat and Linux became a job.
That wasn't actually an easy decision. It probably has many people thinking "So why didn't he go to Red Hat earlier, surely they would have taken him on". I probably should have, but to turn a hobby into work always risks losing the fun factor. It was actually something I had to give a lot of thought. When it came down to working on Linux or working for a telco again however that made the decision easy.
JA: How long have you worked for Red Hat? Can you offer any reflections on them, as a company? As a distribution?
Alan Cox: I joined Red Hat properly Jan 1 2000, that was the point at which there was a Red Hat in Europe and we'd sorted all the paperwork out. It suits me well as it's very much an open source company, and has a management that believes in both open source and running a company well to make a profit. Not that we get everything right, but we try.
As a distribution I run it on most my boxes. The software I always change is the usual "religious warfare" stuff - removing sendmail for exim for example.
JA: You mentioned earlier a game that you wrote. What was the game called? Is it still available anywhere?
Alan Cox: It was called Blizzard Pass. The ZX spectrum 128 version of it was released with a Spectrum 128K launch pack, then by Tynesoft as part of a two game pair. The rights to the Spectrum 128K version and the game interpreter it uses are still owned by Adventuresoft UK and/or Tynesoft somewhere.
JA: Do you still play any text based games? Or other games?
Alan Cox: Single player ones yes and there are people turning out games in the yearly IF competition that are the equal of Infocom. I actually find most of the multiplayer ones extremely boring, and the quality and gameplay has not improved that I've seen in the past ten years.
MUD1, MIST, AberMUD and the like were originally designed to be very competitive games. The game play was designed so that you had to be able to figure game strategy very fast, and included large amounts of player versus player violence.
JA: Many were surprised (and disappointed) when you announced that you were not interested in maintaining the 2.4 kernel tree. What caused you to make this decision?
Alan Cox: A variety of things were involved in that decision. In part I want to work on other projects and ideas. I've already been using some of the time freed up to rewrite the aacraid driver and to clean up some of the very old and grungy SCSI drivers instead. It's also good that a system doesn't settle down with a sort of elite who created it and that new ideas and younger people are always stepping into the project. I want to be sure that when I'm an old fart there are plenty of people in the community with both the knowledge and the standing to call me an idiot when I say something stupid, rather than treat my words as gospel.
Some of the attitudes people had after the decision were annoying. The vision most people have of Brazil is bizarre. Its not the third world that people seem to think. Yes it has its problems, but it is one of the ten largest economies in the world, and overall it has lower crime rates than the UK or USA. Its a source of huge amounts of innovation and many great projects - including things like Window Maker, and apt for RPM.
JA: Speaking of Window Maker, what desktop environment do you use?
Alan Cox: That varies. Of choice I generally run xfce but I am frequently running the Gnome + nautilus set up and occasionally KDE because plenty of time is spent beta testing new releases. The only good way to beta test a new release is to run it.
JA: Marcelo Tosatti is now maintaining the 2.4 tree. You even suggested him yourself. Why did you recommend him, above others? How do you feel he's doing so far?
Alan Cox: I sort of shadowed Marcelo the first release without telling him. His 2.4.17 looked a lot like my collection. The differences were minor and quite reasonable. I'm extremely happy with the way Marcelo is turning out kernels and also dealing with people. He got a lot of people trying to push him around at the start, and a deluge of journalists but has survived very well.
JA: The "stable" 2.4 series has had a bumpy ride, most noticeably with a complete change in the VM. How stable do you feel the current 2.4.17 release is, in comparison with the 2.2 series? Are there reasons why people may still not want to upgrade business critical servers?
Alan Cox: A prior major release is always going to be much much more stable. Many people
run the 2.2 tree on critical systems because it does what they need and it has stayed up for years. There is no deliberate vendor enforced upgrade system in the free software world so people can choose older code. It's a good idea for many projects.
2.4.9-ac and 2.4.9-RH (the Red Hat errata kernel) I was pretty happy with. The 2.4.17 tree is getting there, with Ben's recent fixups and a bit more tuning I think it will turn out nicely. I'm never truly happy until the box stays up for so long that I only reboot to do a major upgrade.
JA: Where do you think this tuning most needs to occur?
Alan Cox: Thats always the problem. When you know what needs tuning the job is almost done. The lower disk throughput seems to be caused by the VM layer but at the moment I don't know for sure it isn't some of the disk scheduling
JA: Linus agreed that the major changes he made to the VM in a "stable" kernel tree were ill-timed, however claiming, "I think that Alan will see the light eventually." Are you happy with the new VM?
Alan Cox: Not really. I'm seeing 20% slower performance on a lot of real world workloads and while that is likely to be a bit of tuning it should have happened in 2.5. I don't think the Andrea VM is technically superior and that the scale of change was right. Once Linus had done it however there was no point going backward. By 2.4.15/6 various bits from Rik and Marcelo and others had the tree in a state where everyone agreed that it was better to start future VM work from that point. Rik is doing a revere map based VM now which is interesting and Andrea is tuning the VM stuff he did for 2.4.
JA: You still maintain the stable 2.2 kernel, the most recent release in that series being 2.2.20. In the changelog building up to this release was a controversial tag, "Security fixes. Details censored in accordance with the US DMCA". What prompted you to censor these fixes? Was it intended as a political statement, or done out of fear of possible prosecution?
Alan Cox: It was simply a matter of following the law and avoiding liability. The fact that American citizens are forbidden by their own government from hearing, or speaking the truth turns itself into a political statement.
It's an unfortunate situation when the major Linux conference pretty much has to be in Canada because the US will not let some of the attendees even pass through their airspace, and many of the others fear to visit. I just hope that over time things will improve.
At the moment the US, UK and much of the EEC slide slowly toward a police state. Innovation is hard, and innovators are generally buried in courts by established interests. I don't want to become a citizen of the new soviet union, forbidden from watching DVD's from the outside world, from burning flags in protest, and risking jail for offending a large company. People have to get involved in fighting such things. If they do not fight, they may well be swimming to Cuba, or serving in restaurants in Mexico City while trying to
avoid deportation within thirty years.
I'm working with FIPR (the foundation for information policy research) to do
my bit. It's up to everyone else to do their bits too.
JA: You mention the UK moving toward a police state, as well as the US. Has the UK passed similar laws to the US DMCA, or the proposed SSSCA?
Alan Cox: The UK already has certain anti-convention laws, and the EU is implementing a common set at the moment. In some ways it is a lot saner than the DMCA (eg its a lot more explicit about reverse engineering for compatibility) and it doesn't seek to censor people in quite the same way. Nevertheless it has many of the same effects as the DMCA such as getting people arrested for helping the disabled read e-books.
Could Sklyarov have happened in the UK. I think the answer is yes but as a civil case. Regardless of what the law says large companies can always play the system against the little guy.
JA: Since the events that occurred on September 11'th, here in the US it has been increasingly difficult to reason with people about the need to preserve our freedom and privacy. Since that time, there's been a fury of attempted legislation that seems to, as you say, move us toward a police state. Can you offer any ideas for ways we, ordinary people, can help prevent this from happening?
Alan Cox: Keep reminding people they live in a police state ?
"Until they become conscious they will never rebel, and until
after they have rebelled they cannot become conscious."
On the whole for the US, I'm not the one to answer that. It is a different system and society. We have real trouble even telling the two US parties apart.
JA: Back to Linux, at what point, if any, will you stop maintaining the 2.2 kernel?
Alan Cox: I guess when nobody is using it. It takes a lot less effort to just keep a very stable tree ticking along. There are still people intentionally shipping 2.0 based products even today.
JA: Do you foresee maintaining a stable 2.6-ac branch, when the 2.6 stable tree is started?
Alan Cox: I haven't thought that far ahead.
JA: Does 2.5 development get much of your focus?
Alan Cox: Right now basically none. I was pondering collecting together driver and other stuff to feed on to Linus as he worked on the bio but Dave Jones has already started doing a good job on that.
JA: A lot of kernel hackers greatly admire you and your Linux efforts. You certainly have an amazing ability to organize and create stable kernels. For example, during the unstable period of 2.4, your -ac series proved to be quite solid on all my servers, as reported by many. In regards to your own accomplishments, what do you most take pride in?
Alan Cox: The 2.4-ac tree turned out very well. It was never something I set out to make a big thing but it ended up being used as the base for most 2.4 vendor released kernels. That was a big thing, not just for the code quality, but also because it showed everyone is still working together. 2.4-ac was built out of patches from many places, and I think almost every vendor, put together by someone at Red Hat and in various variant forms shipped by many other companies.
Probably the greatest thing has been seeing all that Linux has made possible around the world, many of which with proprietary licenses charged in US currency simply could not have happened. Being able to say "have a copy, have as many copies as you want, make changes, localize it, build an entire local computing industry" to anyone in the developing world is something very special. Even in the developed world its created so many great things, like the LTSP (Linux Terminal Server Project) putting Linux in schools that simply could not have afforded to do it any other way.
I always like to say "_Em_powered by Linux".
JA: You released 2.4.18pre3-ac1 last Sunday (1/13), the first since 2.4.13-ac8 in early November. What prompted this release? Do you intend to actively release the -ac kernel patches again?
Alan Cox: People kept bugging me. It's a mix of the stuff I actually run here and a trawl of the stuff that I had piled up during the change over - I found a lot more than I expected that was in my pile that was before Marcelo took over and escaped merging. Most of it is stuff I need to send on - so its not like the huge -ac patches of old, just some handy bits.
I'll probably stick out an ac2 soon as well.
JA: The 2.2 tree is quite solid, and hence few changes are made. Your -ac series is no longer the huge patch "of old". What do you do with all this reclaimed time?
Alan Cox: Sleep.
Some of it is being spent doing drivers, other bits working on new things and some is beginning to get spent on projects big Red Hat customers need and which will benefit Linux as a whole.
JA: Do you use Linux exclusively, or do you use other operating systems as well?
Alan Cox: I run Linux on pretty much everything except the microwave and washing machine. Those are tempting targets but would probably make Telsa extremely cross.
JA: Do you have any predictions as to the future of Linux?
Alan Cox: For the next five years I guess (and its definitely a guess)
(I figure lots of predictions is best. People will forget the ones I get wrong and marvel over the rest)
JA: Do you consider Linus a friend?
Alan Cox: Business associate perhaps. We are very different people. Linus is terribly reserved, quiet and neat. I'm none of those and don't intend to be. Live fast, die old, and make very sure everyone knows you were there.
JA: What do you enjoy doing in your non-Linux time?
Alan Cox: New things. Cooking is fun, gardening has been less of a success, although I do enjoy grinning manically at passing people while waving an axe around attempting to kill off unwanted plant life.
JA: That's a humorous image, you waving an axe and grinning manically. What have you been trying to grow?
Alan Cox: Actually it's mostly been trying to stop things growing and pruning them. In particular a small tree that was too close to the house and which refuses to actually die off when it is chopped down. The plants I have at the moment are growing quite well enough without assistance.
JA: As for cooking, what types of food do you like to prepare?
Alan Cox: Mostly Chinese style stuff. Actually I guess the right phrase is "British Chinese restaurant style food". Telsa is actually the better cook although she will never admit it.
JA: How did you meet Telsa?
Alan Cox: She lived in the same house in Aberystwyth as an old friend, so we first met that way. Lucky co-incidences.
JA: Have you and Telsa played the 'U.S, Patent Number 1' board game she bought you for Christmas yet?
Alan Cox: Not yet. Building a time machine (the goal of the game) would be useful but I'd personally not use it to get patent #1 but to take the proposers of the patent system forward to today so they can go back home and figure out how to invent it in a way big business cannot corrupt and abuse.
JA: Do you have any advice to offer people just getting started with kernel hacking?
Alan Cox: Ignore everyone who tells you kernel hacking is hard, special or different. It's a large program, and bug fixing or driver tweaking can be a best starting point. It is however not magic, nor written in a secret language that only deep initiates with beards can read.
Play with it, try things, break it horribly and enjoy yourself. I started on the networking code because it didn't work very well. Everything I knew about TCP/IP I had downloaded the same day I started hacking the net code. My first attempts were not pretty but it was *fun*.
JA: Is there anything else you'd like to add?
Alan Cox: Another zero to the end of the average Linux uptime, Ralph Nader to the list of US presidents and some semblance of real democracy to UK and EU government.
JA: Thank you very much for the time you've put into this interview, and much more for all the amazing effort you've put into Linux. You have done a lot to help bring us where we are.