Main menu

Post navigation

Interview with Linus Torvalds

Richard Morris recently took some time out to interview the great Linus Torvalds, the founder and creator of our favorite operating system, Linux. The interview is very well put together with both great questions and answers.

Here are two of my favorite Q & A’s with Linus:

RM: ‘Do you think software patents are a good idea?’

LT: ‘Heh – definitely not. They’re a disaster. The whole point (and the original idea) behind patents in the US legal sense was to encourage innovation. If you actually look at the state of patents in the US today, they do no such thing. Certainly not in software, and very arguably not in many other areas either.

Quite the reverse – patents are very much used to stop competition, which is undeniably the most powerful way to encourage innovation. Anybody who argues for patents is basically arguing against open markets and competition, but they never put it in those terms.

So the very original basis for the patents is certainly not being fulfilled today, which should already tell you something. And that’s probably true in pretty much any area.

But the reason patents are especially bad for software is that software isn’t some single invention where you can point to a single new idea. Not at all. All relevant software is a hugely complex set of very detailed rules, and there are millions of small and mostly trivial ideas rather than some single clever idea that can be patented. The worth of the software is not in any of those single small decisions, but in the whole. It’s also distressing to see that people patent ‘ideas’. It’s not even a working “thing”; it’s just a small way of doing things that you try to patent, just to have a weapon in an economic fight. Sad. Patents have lost all redeeming value, if they ever had any. ‘

RM: ‘What part of an Operating system do you think is the most difficult to write?’

LT: That’s actually an interesting question, just because my answer is that it’s never any particular part. Yes, all the details tend to be complicated too, but the real job is to make it all work together. Compared to that, any particular detail you might want to point at may be a technical challenge, but ultimately not anything that really puts people off. For example, one area that we had a really hard time with (and that still causes problems, even if it’s gotten much better) is power management and the whole suspend/resume that people do on laptops. And it was hard not so much because any particular detail was really intractable, but because it touches every single subsystem in the whole kernel (and many out in user land too!), and that was really what ended up making it so challenging.