Open Voices Podcast with Linus Torvalds

The Linux Foundation Open Voices Podcast with Jim Zemlin and Linus Torvalds


Part I (43 min)

Part II (39 min)

Part I

January 2008

Jim Zemlin: So, I wanted to start out by asking you the first question. What is it like being a part of The Linux Foundation?

Linus Torvalds: To me, what I’ve been doing for the last four years has basically been finally doing Linux full-time. Before that I always had – I had a so-called real job that supported me and the family and then Linux was kind of a hobby and although my employers knew about Linux and supported it, but it was not my official job.

So, about four years ago I basically said I needed to do it full time and I was ready to just go at it alone and just take a break from Transmeta and, instead, found this company that was willing to support doing what I needed to do anyway.

So, as far as I’m concerned, The Linux Foundation is my way of not having to worry about all the details about feeding my family and doing what I wanted and needed to do.

Jim Zemlin: Great. What motivates you to work on Linux?

Linus Torvalds: Well, it used to be the technology was just – I was interested in just how the hardware worked and the interactions between hardware and software and that’s still a large part of it, but largely it’s also now just the social side.

So, it’s just a lot of fun working with people; even though, I mean, I sit in my basement all day long and actually don’t meet anybody at all, but what I do is essentially communicate and it is very social: reading email from people, answering them, telling them that they’re being difficult. Although I don’t – I just say it in that polite manner or that they’re doing a good job and trying to push people in the right direction.

Jim Zemlin: You’ve often been quoted as saying, ‘Linux is just fun,’ and that’s what really motivates you to do this.

Linus Torvalds: Right.

Jim Zemlin: Do you see Linux, the development of Linux as something of a greater cause?

Linus Torvalds: No. No, not to me; I mean, to other people it is. I mean, it’s actually one of the things I found to be interesting is how people use Linux in ways that I didn’t start out designing it for and sometimes use it for things that I really don’t care about personally that much.

And all the usage where people use Linux for third world countries and helping humanity, some people think that’s why I got into it and, no, that’s not why I got into it and the credit should go to projects like OLPC that use Linux to try to better the world in a bigger picture.

To me it’s being – I think it’s very interesting and, I mean, when I say it’s – what drives, motivates me is the fun part. I mean, part of being fun is that it should be difficult enough to not be trivial. So, fun doesn’t mean that it’s frivolous; it just means it’s interesting and exciting.

Jim Zemlin: Let’s talk about the part that “difficult enough to be not be trivial.” So, there’s a technical aspect to…

Linus Torvalds: Right.

Jim Zemlin: …being difficult. There’s a social aspect and a collaborative aspect to being difficult as well. Which do you find more challenging? Is it just different?

Linus Torvalds: They’re all, I mean, they’re all changing and they’re just different in sometimes the technology itself can be really challenging; the technical side is seldom frustrating. So, the technical sides are often easier in that sense that I don’t get frustrated. Okay, we’ve had a bug and we’ve hit our head against a technical bug for a couple months and, yes, that can be – feel slightly frustrating at same – but at the same time, you always know that it’s something that you are going to solve and you’re just – I never worry about that.

The social side is maybe a bit more difficult in the sense that that can be really frustrating and sometimes you don’t solve the social problems and people get upset and I think that’s very interesting too. I mean, it’s not – if it was – if everybody was easy and everybody was all pulling in the same direction, it wouldn’t be as fun and interesting.

And it’s different and also it changes from time-to-time. Sometimes we concentrate on technical problems and then occasionally, happily fairly seldom, there comes like this perfect storm of social issues that start up and one flame-war perhaps brings out some other issues that people have had and have been kind of simmering under the surface, so.

So, it’s not like you have this constant technical and social issues; they tend to come and go.

Jim Zemlin: Let’s look a level deeper at the social interaction because open source is often described as this sort of democratizing process that, you know, everyone has a say, there’s this grand consensus, but at the end of the day, needs to be some sort of decisiveness when it comes to making decisions. How do you deal with that?

Linus Torvalds: Well, I mean, it’s really not a democracy at all and some people call it a meritocracy which is not necessarily correct either. It’s – I have a policy that he who does the code gets to decide, which basically boils down to there’s a – it’s very easy to complain and talk about issues and it’s also easy for me to say, ‘You should solve it this way.’

But at the end of the day, the only thing that matters is actual code and the technology itself and the people who are not willing to step up and write that code, they can comment on it and they can say it should be done this way or that way or they won’t, but in the end their voice doesn’t matter. The only thing that matters is code.

And it turns out people are lazy, so most people are much happier just arguing and quite often you only have one set of – one example code and there’s not a lot of real choice there. You – there’s not a lot of people who are competent enough to really do kernel programming and also not lazy enough that they actually get the job done.

So, occasionally it turns out that we have two pieces of code that actually do the same thing or similar things in different ways and then you get to the situation where somebody has to choose and quite often it’s me and that can cause some social issues with that too. It’s actually fairly unusual.

Jim Zemlin: But you’re willing to make those decisions when you need to, right?

Linus Torvalds: Right. And actually, the technical issues are fairly easy in the sense that if I end up doing – making the wrong decision, we can undo it. It happens. I mean, people just say, “Okay, it maybe have looked like the right decision, but that was completely off-the-wall wrong.”

And we just switch over and it can be slightly painful at times, but as mentioned, it’s not that common to have – to make big decisions in the first place and most of the time the decision isn’t the wrong one.

Jim Zemlin: Step us through the organization of the development process itself. You know, who are the people who are at the center of the project and how does the project expand out in terms of the participants who work on the Linux kernel?

Linus Torvalds: Well, one of the – my favorite theories that the whole organization doesn’t really exist and that it’s largely self-organizing. And what that means is we do not have any strict – when there is no rules about who is really a maintainer and even when we have a maintainer’s file that says, “This person is in charge of that sub-project,” that’s really more of a hint than anything else. It means that, okay, if you have problems in this area or if you have a patch in this area that you want to push, that person is probably the right person to approach.

But even that is a fairly soft thing and in the end what ends up happening is that it’s more like a social network where some people just have more connections than other people have and a patch is not a problem; reports tend to move along the edges from the originator through all the people who have the most connections eventually up to me and/or other few other kind of core people who have a lot of connections to a lot of different areas.

Jim Zemlin: So in many ways, participating in a meaningful way in the development process is a lot about having trusted relationships?

Linus Torvalds: Right.

Jim Zemlin: Including the different participants?

Linus Torvalds: Right. It doesn’t matter at all who you work for pretty much because nobody really cares and there might be some politics going on but in the end what happens is people know – they’ve seen other people do work over the last months or years, in some cases decades, and they know that, “Okay, I can trust this person. When he sends me a patch, it’s probably the right thing to do even if I don’t understand quite why” and you kind of build up this network.

And because it is self-organizing, it means that usually it evolves as time goes on. So, people might start out being not very central, but as more and more they show they’re good at a certain area, they kind of gather more and more trust and get more and more connection and become more central without really having a – without there being in place any way to make them central in a kind of official way.

Jim Zemlin: So, let’s talk a little bit about community, then, from this aspect of trust and I’d like to start by asking you a question about the term community itself. People throw the term community – you know, “Don’t do that. It will upset the ‘community’” or “The ‘community’ doesn’t accept this particular practice.’”

What – how do you define community? I mean, what is the way you look at that?

Linus Torvalds: I actually – I try to avoid using the word community because it’s misleading in so many ways. It’s misleading in the sense there is no one community; it’s everybody tends to have their own issues that they care about and they may – may or may not have anything to do with another person who’s ostensibly in the same community.

So, one misleading thing is thinking that people kind of share ideals and goals and that’s not true. It’s quite often the case that people have completely different goals; you have commercial vendors who have their very clear commercial goals and you have individuals that in the open source, so-called community, you often find individuals who really don’t like commercial entities, especially not the big ones. So, quite often the goals are very different.

And the other thing is, community tends to also be – become a – not just to see it as one entity, but you also see people as being inside and outside and that used to be especially – I think most companies have slowly started to learn, but it used to be a huge issues where companies kind of were talking about “How do we interact with the community?”

And there the community ended up being some external entity when the real answer always ends up being you don’t interact with the community, you just act as a member of this non-existent community. You really – you don’t interact with it, you are part of it.

Jim Zemlin: That’s something that I’d like to expand upon because a lot of times at the Foundation, corporations will come to us and ask, “How do we participate in the community? How do we work with the community?” and our response, similar to yours, is “You can be a part of the community.”

What advice would you have for corporations who have goals in participating in – let’s not use the word community, development goals?

Linus Torvalds: Usually, I mean, the easiest way is to find a person who is already a member of the development process or maybe not a very central one, but really – central enough that he’s been involved and knows how things works and basically bring that person into the company.

Quite often people, I mean, companies have those kinds of people inside already, especially if you’re in a tech company and you have interest in something like the Linux kernel, the reason you have interest in the Linux kernel probably has something to do with the kind of people you have working for you.

So, there probably already are people inside the company who know how things work.

Jim Zemlin: But you talked before about trust and why trust is important in terms of the influence you have to some degree in accomplishing what you want in the community.

Sometimes corporations don’t think about it in that way. They think, “Hey, if I assign people to work on this and I just throw resources at it, I’m going to accomplish my goal.”

How can these organizations, if they assign staff, build that trust? What should they tell their people who are participating out there?

Linus Torvalds: I don’t know if there is an answer to that question. {Laughter} I – if you think about trust the way you think about trusting a personal relationship, you don’t get trust and you don’t even really build trust knowingly. The trust either comes or it does not come and it largely depends on your actions.

So, the way to build trust is not to think of it as building trust, but trying to make sure that your actions speak louder than whatever you’re saying and maybe what your internal strategy is doesn’t matter. What your external actions are is eventually what will either give you trust or not give you trust.

Jim Zemlin: Let’s talk about the kernel development process today and how it’s changed over time and let me kind of paint a picture for you and then I’m curious to hear what you have to say.

Many years ago it was a fun project that was used by companies in some cases, but it was not as widely-adopted as it is today.

Today you have this groundswell of mobile devices, of huge server implementations that are really critical to companies’ interest in industry; just this massive participation from a commercial sense.

If you look between now and then, how has the development process changed? Have the people changed? Is – what’s different now about what you’re doing than it was, let’s say, even three, four years ago when you were at Transmeta?

Linus Torvalds: I think the process is largely the same. There have been certain process changes that are purely technical in the sense that we have made some of the process more explicit and there are tools that support our particular way of doing things that did not exist five to ten years ago.

Another thing that has changed is the people involved have certainly been involved longer and are, perhaps, more aware of just how much they can screw up and care about it more than they – I’m thinking about me in particular. It was to some degree easier ten years ago when it was easy to just say, “Hey, we’ll try this and if it doesn’t work out, not a big deal.”

And we don’t have quite that amount of freedom anymore, we can’t just take completely experimental code and say, “Hey, let’s see how this works out.”

And it – as a result of that, we now have multiple layers of where a code goes in, where it doesn’t immediately go into my tree. If there is something that is experimental, it gets developed in some external tree and then usually goes through, for example, (Andrew Morton)’s tree and can sit in that tree for a year until people say, “Okay, it worked out in those trees. It hasn’t gotten a lot of wide testing yet because it’s been in specialized trees, but everything looks good so let’s push it to the main tree.”

So, we have changed that. A lot of that has actually happened on its own not so much because we foresaw the problems but because it just became the way we worked because it was clear that my tree can be quite as experimental which, in turn, motivated other people to kind of take up the mantel of experimental trees.

Jim Zemlin: In some ways what you’re describing sounds a lot like going from being single to getting married to having kids in that there’s sort of this increasing amount of a sense of personal responsibility.

Linus Torvalds: Right. I mean it – to some degree it definitely is about growing up and there are lots of similarities; there are probably lots of differences too, so {laughter} I don’t know if that – you can take that analogy that far, but.

Jim Zemlin: You don’t love the kernel community, do you?

Linus Torvalds: Well, some people I worked with, I mean, it – when you work with people for five or ten years, maybe you don’t love them that way but at least you trust them in a very real sense on a personal level.

Jim Zemlin: One of the things that’s happening—to continue to talk about community—is Linux is starting to be more important across the globe to – whether it’s from governments who see it as a strategic way to grow with a software industry, sort of use Linux as something that can do that or its mobile device manufacturers in Taipei or One Laptop Per Child, et cetera.

One of the things that people ask a lot about is why don’t we see more global participation in the development process itself? In other words, observers say this is very North American-European focused.

I’d be curious to hear your thoughts on: a) why don’t you see more of it; and, b) any ideas on how you can get more participation from folks from other geographies.

Linus Torvalds: Well, we’ve done some studies, six over the years just looking at where developers come from and one of the obvious things is people tend to come from not just populous countries, but countries with a very high density of Internet access and that is one of the reasons.

I mean, you can easily say that, yes, there’s a billion people in China, there’s a billion people in India, but China and India are not represented very well in the developer community.

But if you actually – instead of just looking at just number of people, you look at number of people who actually have good Internet access. China and India simply aren’t that big and that’s one of the issues is just connectivity.

Jim Zemlin: But proportionally, do they participate as much or is there still…?

Linus Torvalds: There are other issues too and clearly the language and cultural barriers are one of the big issues and something as simple as and maybe obvious as education.

So, the language barriers tend to be a huge problem for – well, actually, maybe more even the different cultural issues that – with Asian countries they have good penetration; some of them have huge penetration of Internet use, they have a obviously great education and they do not end up contributing a lot to open source, not the kernel, not to generally other projects either.

And that seems to be at least partly cultural and it’s really hard, then, for some of these people who have cultural barriers and a language barrier to then become actively involved. It does happen, but it certainly explains a lot of the reasons why Western Europe and the U.S. are the biggest development areas.

Jim Zemlin: Is this something that the kind of core kernel community thinks about, like, “How can we get more people involved? How can we make it easier and more accessible to get people involved?”

Linus Torvalds: It comes up every once in a while. I don’t think anybody really knows what the answer is. We’ve added some documentation. Usually the kind of initial “read me” kind of documentation: where to go to get involved, how to behave, so that’s available in a number of languages.

Whether that makes a huge deal or not, I don’t know. I suspect it doesn’t, but I also suspect that it may make people more likely to at least take a look at the project. Maybe it scares away people less when they see the project itself, at least tries to approach them. People in Asia might feel like, “Okay, I’m not fighting against this. I may have issues,” but at least they’re kind of aware of them and they’re trying to some degree. So, that’s one of the things we’ve been looking at.

That said, I mean, I actually think the cultural barrier is bigger than the language barrier and the reason I say that is especially South America has been pretty active, so it’s not that – and they don’t necessarily speak English all that much, but I think culturally they’re more closer to Europe and the U.S. which makes it easier to enter.

So – and the cultural differences I don’t think we even know how to really even approach.

Jim Zemlin: The – let’s talk a little bit more on the technical aspect of where the kernel is going. Earlier usage of the Linux kernel was largely on the servers. It obviously is used for desktop computing, increasingly in mobile and embedded computing.

As you see this, you know, more embedded and mobile devices use Linux, any impact on the kernel at all from a technical perspective?

Linus Torvalds: I actually expected more of an impact. It turns out the mobile devices have grown up so much that even a cell phone, even a fairly, like, middle-of-the-road smart phone today probably has more computing power than the first desktops that were used to run the Linux at. And that doesn’t seem to be stopping.

So, I think especially as far as the kernel is concerned, people worried about that more than I think it turns out you need to worry. The biggest issues on the mobile side tend to be not so much – well, there is still the kernel side; you want to make it smaller, you want to make it more efficient, but I think the thing that more people worry about is actually interfaces.

It makes more a difference that the way you connect to a mobile phone is different from the way you connect to a desktop. You have a very limited keyboard, you have touch screen issues, you have a very small screen and I think the bigger issues tend to be in things like the UI interfaces.

So, you have Qtopia and that seems to be big on the mobile side and the kernel hasn’t seen that much of that. It may be that I just think so and I’m insulated from some of the issues because there’s all these mobile kernel groups involved that I don’t interact with directly, but I suspect on the whole people worry less about the kernel than about user space.

Jim Zemlin: Well, let’s talk about that second half of the comment you made about there’s lots of these sort of mobile-specific kernel groups or Linux distributions out there. And, you know, one of the things that you hear people say is a reason they participate in the Linux development process and open source is because it’s that collective work that really reduces the cost and really allows them to work together effectively.

And by having, you know, sort of groups flaking off, , what can they do from just a best practice point of view in terms of if you’re a mobile device company in getting what you want into the mainline so that, you know, you can have it there indefinitaly so that it’s…

Linus Torvalds: I think the big problem in the mobile world tends to be that the whole market– is so used to being completely fragmentary. Everybody makes, , these one-off pieces of hardware; they’ve done it for the last few decades, they’re very used to basically writing throwaway code and starting entirely from scratch when the next generation is – comes out.

So, they may have generations of hardware for – that go on for many, many years and they support that generation, but then when they finally decide to do another generation, they basically start from scratch.

And when you come with that mindset, you sometimes – as far as I can tell, people don’t even understand the notion of trying to work with the process and trying to get integrated into the standard kernel or the standard utilities because that’s never how they worked before.

So, what a lot of these mobile manufacturers actually do is they pick one version, they usually pick a version that is fairly recent at the time they pick it and then they say, “Okay, this is the base.” And then for the next five to six years for that particular platform, they stick to that version and they enhance it for their own needs.

And when they then want to do their next version and next-generation hardware, they’re in the situation where the rest of the world has worked on something else for those few years and all their modifications are to a version that is now – has nothing to do with what the version is today in the rest of the world and they end up doing what they did before: they throw away their work entirely and start from scratch.

And this is not something I – I don’t think we can help with. I think that mobile market, to some degree, needs to grow up and grow out of that bad behavior.

Jim Zemlin: In some ways it’s a cultural issue not from ahistorical perspective and a geographic perspective, more from a business perspective.

Linus Torvalds: Yeah. It’s a technical cultural issue and technical and business practice cultural issue.

Jim Zemlin: One of the things you talked about was there’s an increasing complexity in how you interface with the kernel and device drivers is obviously a component of this.

I get asked a lot, which this probably won’t surprise you, why doesn’t the kernel have a stable device driver ABI?

Linus Torvalds: Well, there’s – the lack of an ABI is two-fold: one is we really, really, really don’t want one. Every single time people ask for a stable ABI, the main reason for wanting a stable ABI is they want to have their binary drivers and they don’t want to give out source and they don’t – certainly don’t want to merge that source into the stable kernel or the standard kernel.

And that, in turn, means that all the people who actually do all the kernel work and maintain the kernel are basically unable to work with that piece of hardware and that vendor because if there’s any bugs whatsoever, we can’t fix them.

So, all the commercial vendors—even the ones who used to accept binary drivers—have moved or are moving away from wanting to have anything at all to do with binary drivers because they’re completely unmaintainable.

So, there’s one of the reasons. Some people see it as political. There is probably a political aspect to it, but a lot of it is very pragmatic; we just can’t maintain it.

Jim Zemlin: This sounds like another one of those cultural issues where, you know, people were just used to supporting binary drivers and there’s benefit, perhaps, to that, but they don’t maybe even understand the benefit of sharing in the support.

Linus Torvalds: Well, it’s not so, you know, maybe so much the benefit; it’s the fact that when support is distributed. I mean, I end up not having to support most devices, but I end up being kind of the last stop support for when – when if s–t hits the fan and there’s a big problem, in the end it comes all the way up to me.

And when you have that kind of distributed support system when – where everybody ends up being involved at some point, you really can’t afford to have the situation where only a very small subset actually has access to the code that may be causing the problem. You need to have the code out there, not because of any social issues, but simply because you don’t know who’s going to be the one who has to fix it.

So, there’s a real reason why we need to be able to have source code which means that to all kernel developers, a binary interface is basically – it is only a bad thing. There is – there are no upsides whatsoever.

But there’s another reason which is that we actually do end up changing things in radical ways inside the kernel and that has led to the fact that even if we wanted to have a binary interface, we simply couldn’t or we could but it would then stop us from fixing stuff and changing how we do things internally.

And this is something you do see in other projects where, yes, they have binary interfaces for one reason or another—quite often because of commercial reasons—and that just means that they cannot fix their fundamental design. They sign up not just the binary interfaces, they also sign up to the exact design they had when they came up with that interface.

So, there’s – that’s the second major reason why a stable ABI is not going to make – in fact, that means that we don’t even guarantee a stable API; so, even on a source level we say, “Okay, this is the API and we’ll – if you have external drivers that use this, we’ll help you fix them up when we have to change the API. But we don’t guarantee that the same API will work across versions.” And it doesn’t.

Jim Zemlin: But by opening up, you’d obviously be able to work with those issues.

Linus Torvalds: Right. Immediately when people work with, like, source API and then we can say when somebody complains, “Hey, it doesn’t compile anymore. My external module here depended on that function and now it doesn’t exist anymore,” at that point at least we can fix it for them.

So, that’s not a huge deal. It does mean that people who maintain external modules, even with source available, they can’t assume that they can just recompile unmodified across many different versions.

Jim Zemlin: Why do you think more device manufacturers don’t open up their device drivers? And are there any culprits?

Linus Torvalds: There are certainly culprits. There are certainly specific vendors who end up having more problems than others. In fact, sometimes the same vendor may be very good in one area and very bad in another area.

Broadcom is an example of this. They are – they have actually been fairly good when it comes to high-end gigabit network devices, wired network devices, but only when it comes to wireless networks and other more consumer devices, they’ve been completely unable or unwilling to help us at all.

So, sometimes you have the same company acting very differently depending on which market they’re selling into. Certain markets, Linux is a big – for some markets, Linux is a big deal for them; in other markets, it’s not.

Sometimes it’s just – especially when we talk to Taiwanese vendors, one issue is – some of these hardware people, literally, they rev their hardware several times a year; they have 100 different versions of the chips. They have engineers who do drivers for Windows; they just don’t have the resources. they haven’t been able to become part of the Linux community, so they – sometimes we have issues. Finding documentation is really hard for them; maybe it doesn’t even exist internally in a form that they are willing to release.

So, sometimes it’s just a practical issue. Sometimes it’s just that they might want to help us, but their resources don’t end up being in that area.

Jim Zemlin: Have you seen that change as Linux becomes more of important part of industry, more people adopt it, that there’s a critical reason that, you know, they may not have time before but now they have to make time?

Linus Torvalds: It definitely is changing. I mean, it’s – it used to be that very few hardware manufacturers really actively tried to help Linux people write drivers. And now, at least, I’m personally getting the feeling that the companies that don’t try to help, at least with documentation and sometimes even with writing drivers themselves, are starting to even be a minority.

So, it’s definitely changing, but it’s still the case that – especially in certain areas we don’t have the kind of support that I wish we had.

Jim Zemlin: Let’s shift a little bit to issues that I know are near and dear to your heart: legal, legal issues.

Linus Torvalds: Oh, I love legal issues. {Laughter}

Jim Zemlin: I’d like to talk a little bit about licensing, maybe a little bit about patents. Let – tell us a little bit about GPLv3 and, you know, you’ve suggested that GPLv2 works great for you.

Do you imagine any point where you would say GPLv3 would work for you?

Linus Torvalds: Well, I may have strong opinions, but at the same time I’m not – or at least I claim that I’m fairly pragmatic, so I don’t care, per se, about one particular license or another. I want to pick the license that makes the most sense for what I want to do. And at this point in time, Version 2 matches what I think we want to do much, much better than Version 3.

And there’s always been a very clear tension between Linux and open source on one side and the FSF and free software on the other side where, to some degree, Linux was the project that made this whole split in—what should I call it?—approach.

In some ways, Linux was the project that really made the split clear between what the FSF is pushing which is very different from what open source and Linux has always been about which is more of a technical superiority instead of a – this religious belief in freedom.

So, the GPL Version 3 reflects the FSF’s goals and the GPL Version 2 pretty closely matches what I think a license should do and so right now Version 2 is where the kernel is.

Could there be something that happens to change that? Maybe.

Jim Zemlin: What would something like that be?

Linus Torvalds: Well, one of the – what used to be a huge advantage for the GPL was that there was one license and that one license version was basically Version 2. And that resulted in a huge bulk of source code that was all under the same license which meant that you could basically cherry pick, pick and choose and share code as much as possible.

And one of the things Version 3 did was it basically split this source base so that now there are certain projects that are Version 2 only, there are certain projects that are Version 2 or later and there are certain projects that are Version 3 or later.

And that means that now suddenly you can’t maybe share code simply because of license issues and that’s not something new; we’ve always had that. We’ve had that with other licenses. So, there used to be code that was licensed under the Apache license and that was not compatible with Version 2. [NOTE: This is now not the case and Apache is compatible.]

So, it’s not something new, but there is a clear advantage and there are network effects when it comes to licenses so that one – and, in fact, one of the few reasons I see why Version 3 might be useful is simply there ends up being tons of external code that we feel is really important and worthwhile that is under the Version 3 license. And then, in order to avoid the licensing compatibility, we – I suspect I could see the kernel people saying, “Okay, we’ll re-license to Version 3 not because we think it’s the better license, but because it opens up code to us.”

Jim Zemlin: Then, basically what you’re describing is a way that – you end up at the same place, albeit it for very different reasons; one is a philosophical reason and an idea of freedom—freedom meaning access to code from a liberty point of view almost—and then other from just a pragmatic, “Hey, we want to get things done. If there’s more code out there vis-à-vis this model, that’s something we’re interested in.”

Linus Torvalds: Yeah, so I always – I really want to have the Linux license choices be made on pragmatic issues. Clearly there is ideals that go hand-in-hand with those pragmatic choices, but I think licensing is too important to think that it’s not about practical issues as well as your idealistic issues.

Jim Zemlin: You know, a lot of times I talk to people and describe issues around licensing from the perspective of you have sort of on the far right Microsoft talking about how dangerous licenses are and then on the far left you have attorneys talking about how much time you need to spend examining licenses and that they’d be happy to perform that service for you.

What’s the real answer? I mean, is licensing any kind of big risk? I mean, is it any more of an issue as opposed to proprietary software licenses?

Linus Torvalds: Well, I personally think that license choices are really, really important. To me, like, the author’s choice of license under which he releases any code or, I mean, it doesn’t have to be code, it can be anything else, is almost sacred. I mean, it’s that – if somebody really came up with something really normative and really interesting, it’s up to him to choose how it should be used, within reason. I mean, clearly, like, there should be issues about greater good which is why copyright exists in the first place.

But that said, it is a personal choice and I don’t think it’s – I mean, once some person or company, for that matter, has made that choice, I don’t think there’s a lot of reason to them to start arguing about why or why not or trying to say, “Hey, this license is better than that other license.”

I don’t think there’s – I mean, that’s simply not relevant anymore.

Jim Zemlin: I’ll put you on the spot for a second, then, about the idea of personal choice and the license. From the kernel perspective, it’s a personal choice among a lot of people, is that right?

Linus Torvalds: Well, in some sense it started out as a personal choice of just one person, me.

Jim Zemlin: You.

Linus Torvalds: And once you have an existing project – and that’s different from somebody starting a new one. Once you have an existing project, the choice kind of changes. The initial choice is “Which license do I choose?” Once you get past that point is the choice becomes “Do I want to be part of this and do I want to participate considering that the license has been chosen?”

So, then you don’t chose the license anymore, then you choose the project. But it’s still a personal choice, but it’s a completely different personal choice.

Jim Zemlin: So, from that perspective, do you have an obligation to the broader kernel community or the people participating in it to be inclusive if a license choice would change or to…

Linus Torvalds: Well, not just an obligation.,it’s a legal requirement. I cannot change the license on my own anymore. I mean, because I have accepted code over the last 15 years by people who kind of accepted my original choice of the GPL Version 2, I’m not just, I think, ethically bound by those people’s choices, I am also actually legally bound.

I can’t just say, ‘Hey, now we’ll change license to some other license.’ A lot of people participated in development and sent me patches and they are still actually copyright owners of those patches or those changes. And if we actually want the change to the GPL Version 3, it’s not different than changing to any other license; we might – I mean, it is theoretically possible that people decide, “Hey, we want the change to the BSD license” or we want the change to some other license.

In practical terms, for that to happen, everybody who’s a copyright owner really has to agree or the ones who don’t agree, their code needs to be rewritten.

So, in practical terms, that’s not going to happen. The GPL Version 3 is much more likely just because then you are more likely to find people who either started off with Version 2 or later in the first place, so they always accepted Version 3 implicitly.

Or you’re just likely to have people say, “Hey, I accepted Version 2. Version 3 is not that big of a change; I’ll accept that too.”

Jim Zemlin: Do you feel like you’ll play a role as a leader with the legal and sort of moral implications included in that to say, you know, to help guide people on what your personal judgment is?

Linus Torvalds: Right. I do. And it’s one of the reasons I’ve spoken out against the GPL Version 3 before it was released and all the drafts because I wanted to make sure that as a leader in the kernel community I kind of told people want to expect from my standpoint that I was not happy with the drafts, but also explain why and maybe lead people to understand the issues like the people in the embedded areas for whom the Tivo-ization clause was a real downer in Version 3 shouldn’t be ignored.

And they’re a part of the community too – and there I used that community word again, but that it’s not just that the Version number has increased doesn’t necessarily mean that it’s automatically a better license.

Part II

February 2008

Jim Zemlin: Let’s talk a little bit about patents. Certainly there have been allegations about how Linux is infringing on certain organizations’ patents; recently there was even a patent suit filed against Novell and RedHat related to patents.

Tell us a little bit about your perspective on either those specific issues or patents in general.

Linus Torvalds: Patents are nasty. It’s kind of hard to really say a lot more than the fact that patents on ideas in general are a huge mistake and the whole notion that you can have patents, business models and software is pretty broken to begin with.

And at least in the EU so far they’ve been able to fight that whole notion of patenting software. In the U.S., I think there are certainly more than just open source people who are realizing that software patents are a huge mistake.

Jim Zemlin: The argument for patents is that it provides an incentive for inventors or innovators due to the exclusivity they grant to create more innovation.

Linus Torvalds: Well, that’s actually the second argument; the first argument for patents is that it’s meant to be a way to enhance human knowledge and technology, right? Then in order to do that, you then do patents that might incentivize the people who are inventing things.

The problem with that, and there are economists who also are very strong on this opinion is, patents don’t actually work that way. Especially on software, patents do not incentivize anybody and they do not actually help inventions; quite the reverse.

So, if they don’t actually help the fundamental reason why patents exist in the first place, patents on software should not be allowed. And it’s not about making people rich; it was never about making people rich. It was about making the knowledge available publicly and the limited protection that patents give has always been about making incentives for new development.

And it just does not work in software, and the reason it doesn’t work in software is any complicated piece of software contains so many pieces that nobody could even know whether, maybe, one out of a million different things might be under some completely trivial patent.

So, everybody just digs their head in the sand and basically ignores the issue and all the commercial companies try to gather their own patents just as a defensive weapon, not because necessarily they want to use them for offense, but because that way if somebody else comes and knocks on their door they can say, “Hey, but I have this patent, and, by the way, I’m sure some of your lines have problems with that patent. So, let’s be friends and not bring up patents at all.”

Jim Zemlin: So we’ve created a cold war-like situation?

Linus Torvalds: Yes and no, and the no part comes from the fact that now the big issue is all these patents trolls where the cold war-like situation doesn’t work at all because they don’t have any code or any product or they don’t sell anything at all.

Jim Zemlin: It’s the rogue state?

Linus Torvalds: So, they’re the – yeah, they’re kind of the terrorists that you can’t bomb them back because there’s nothing there to bomb. There are these individuals that don’t have anything to lose, and that breaks the whole cold war model and that seems to be one of the reasons that even big companies are now starting to realize that patents and software is a really bad idea.

Jim Zemlin: There’s been arguments made also that patents are far more in favor of large organizations with lots of resources to go and get as many patents as they can and the community, or the open source development world, just simply doesn’t have those resources and so that the whole patent system somewhat favors this corporate world.

Linus Torvalds: Well, I think it does favor the corporate world in the sense that if you see patents as a cold war thing, it clearly helps to be big and have lots of patents because they’re the equivalent of having lots of nukes, and small companies and individuals can’t have nukes; it’s practically not very accessible.

So, the model does favor large companies. On the other hand, again, that’s where the rogue state problem comes in. Large companies, in some ways, are more vulnerable to being blackmailed over patents, so when you have patent trolls, the trolls usually want to go after the big money, so they actually go after the large companies and now it doesn’t help to have lots of patents.

Jim Zemlin: Not to extend this metaphor too much, but is the open source community, or are many open source projects to be more specific, sort of aligned with the Russia or the U.S. in this cold war? Do you feel like there are enough allies on the side of Linux, for example, that patent problems are really not an issue because of these very strong allies?

Linus Torvalds: I don’t think we necessarily have quite enough alliances there. On the other hand, if you look at the last patent lawsuit against Novell and RedHat, it was by one of the rogue states. So, maybe there are enough alliances that patents are not a huge problem with regards to other large companies that actually use patents themselves.

But the patent troll problem ends up being visible even for open source; of course, most of the time, especially with smaller open source companies, the patent trolls wouldn’t go after them, so.

Jim Zemlin: But this is nothing new to software, right? I mean, there’ve been patent trolls for years who’ve taken action against proprietary software companies for decades.

Linus Torvalds: Right. This has nothing to do with open source, no. No, I mean, this is very much a software patent problem in general. I don’t think any other issues with patents have really anything to do with open source; I think that the open source people are perhaps just much more aware of them and it took commercial companies longer to realize because the commercial companies didn’t actually worry until the patent trolls started coming around.

Jim Zemlin: So, from that perspective what do you think of Microsoft say, rattling around patents, given that on the one hand patents don’t really help them out, but on the other hand they’re out there talking really specifically about Linux to some degree relative to these so-called patents that somehow Linux is infringing upon?

Linus Torvalds: So, I think that Microsoft really sees patents as a marketing thing and I think that for two reasons: a) it is what they seem to have used in the past. So far I don’t think Microsoft has ever sued anybody over patents. They have been sued for patents by other people, but I don’t think they’ve – not that I’ve gone through any huge amount of law cases, but I don’t think they’ve generally used patents as a weapon.

But they’re perfectly happy to use anything at all as fear, uncertainty and doubt in the marketplace and patents is just one thing where they say, “Hey, isn’t this convenient? We can use this as a PR force.”

Another reason why I don’t think Microsoft really seriously would go after patents is when you’re a convicted monopolist in the marketplace you really should not be suing your competitors over patents. I think that most Microsoft lawyers would say, “You know, let’s not do that; that sounds insane.”

They’re perfectly happy to use patents in the détente and cold war sense.

Jim Zemlin: To continue talking a little bit more about Microsoft, have talked about how they want to improve interoperability with Linux. What do you think of those efforts?

Linus Torvalds: I have such a hard time judging. I don’t know. Microsoft says many things and they may even mean them, but the fact that the person who says them means them, does that mean anything in the larger Microsoft picture? I don’t know. That seems to always be a bit unclear.

I think there are people inside Microsoft who really want to improve interoperability and I also think there are people inside Microsoft who would much rather just try to stab their competition in the back.

I think the latter class of people have usually been the one who won out in the end, but – so I wouldn’t exactly trust them. But I think they’re sincere; it’s just that a part of them, at least, is sincere.

Jim Zemlin: Like many big companies.

Linus Torvalds: The left hand doesn’t know what the right hand is doing.

Jim Zemlin: Speaking of that, let’s talk a little bit about Open Solaris and Sun Microsystems. Any thoughts on Sun’s community development plans or advise, for that matter, given that they’ve stated that they want to build an open source community around Open Solaris and obviously you are a great example of an incredibly robust dynamic community?

Linus Torvalds: It’s generally hard to build a community around a commercial entity that also wants to be in control because everybody else around that commercial entity will always feel like they’re at the mercy of Sun.

And I’m not even going to go into Open Solaris because, quite frankly, I don’t even care. But I think you see some of that with a project that is considered to be completely open source and has been for a number of years, namely Open Office where the fact that Sun wants to have copyright assignments and exclusive control over the license ends up being something that actually drives away some developers.

Jim Zemlin: Some would argue that they’re a very good open community player: Java, Open Office they would point to, they would point to Open Solaris which is opening up a huge amount of their intellectual property. How would you respond to that?

Linus Torvalds: The reason I’m ambivalent about Sun is that they do a lot of things right and they traditionally have done a lot of things right. I mean, and they do point to that fact that they’re open source mentality actually goes back quite far and one of the things they and others point to is NFS itself where it may not have been open source, but it was an open standard and being open was actually what made NFS succeed in the first place.

And that was definitely a Sun thing, being open. So, in many ways, Sun has done a lot of things right. At the same time, they seem to often have trouble going the full last step. So, Java is an example of that where they have now – I think they’ve released another GPL Version 2 basically a year ago; I forget the exact details.

And they finally did that and it is now really open source, but at the same time it took them something like six years to get to that point and before that they tried to push a failed license where they did try to maintain control and they always claimed the best of intentions. They claimed that they needed to be in control because they didn’t want to fragment the market and there was always this kind of rationalization for why they had to be in control.

Jim Zemlin: But in some cases that has undermined the greater goal which was building the community.

Linus Torvalds: Right. Definitely I think the same is true right now when it comes to projects like Open Office where, again, there are rationalizations for why you have to assign copyrights to some and they may even be valid, but it does undermine the community because it means that there is a first among equals.

There is – Sun ends up having rights that nobody else has – even if they then act perfectly and they really behave well, just the fact that they have special rights makes people legitimately feel like they are second class citizens and that’s not how you build a community.

One of the things I did with Linux from very early on was when somebody sends me changes, they retain all copyright in those changes. Nobody has – I don’t have any more rights than anybody else has except in the sense that I’ve written more code than most people, but – I say most people, not all people, that your rights when it comes to Linux are directly what you put into it.

Jim Zemlin: Let’s talk about one more thing relative to Open Solaris or their open source projects. You know, there’s competition in marketplace. IBM wants to sell their Linux systems, HP wants to sell their Linux systems, Sun wants to sell their Solaris systems on their high margin server products.

But there’s also competition in the open source world and let me describe that. For a developer mindshare, right, for participation, are you, Linus, personally, are you a little competitive?

Linus Torvalds: I’m more than a little competitive. I’m a huge believer in competition. I think it’s really important, as a way to motivate people. It’s certainly how I get motivated. I mean, it’s one of the things that motivates me, right? I want to be the best.

And, in fact, I’m more interested in internal competition than external competition. So, for example, when I say I want to be the best, I don’t even compare Linux against Solaris; that’s the kind of external competition that to me is secondary. I don’t think it’s at all as interesting.

I want to be the best in the sense that I want to be the best in Linux. If somebody else comes up and basically says, “Hey, I can be a better maintainer than Linus,” that would motivate me like no end. That’s where I want to show everybody that, ‘No, I’m the best maintainer,’.

Jim Zemlin: That keeps you motivated?

Linus Torvalds: That absolutely keeps me motivated, yes. I work weekdays, I work weekends, I work 52 weeks a year. I don’t want there to be any question of who’s the best maintainer.

And at the same time, I actually also do want to encourage competition. Competition doesn’t have to be something where you are very antagonistic. So, quite often the best competition is things where you actually work together, but there’s certainly a sense of ‘okay, I want to be as good as that guy,’ even though you’re both working on the same thing.

So, I actually enjoy seeing all these other kernel trees happening. All the vendors have their own. If a vendor has drivers that I don’t have, I get really upset with the developers who decided those drivers are not good enough to send to Linus. I’m like, ‘Why is my kernel tree worse than a vendor kernel tree?’

We had this exact issue come up just a few weeks ago – with the kernel side, where the standard kernel did not come with certain drivers that people almost take for granted now. And it turns out people felt those drivers weren’t good enough quality-wise to make it into my tree. That drives me wild.

Jim Zemlin: But in a sense, over time, you win because you set the bar high and you encourage people to get it into the main line.

Linus Torvalds: One of the problems is we have people who have so high criteria for what is acceptable or not that it scares away people who want to do new code and do new experiments.

We mustn’t set the bar that high. New code, new drivers, there will be problems and I’d rather take them and then improve them than expect driver authors, especially when they stand outside the main tree and feel kind of like outsiders even though maybe they really are part of the same whole development community, but they feel like outsiders because their driver hasn’t made it into the tree yet.

And then asking them to jump through hoops and make their driver perfect when they’re standing there alone and don’t have help; I think that’s unfair. And there are people in the kernel community that feel that way that things have to be just right before you can accept them and I’m much more of a laissez-faire kind of person. We don’t want to accept bad things, but on the other hand, hey, everything starts from less-than-perfect roots and it’s much better to accept things that work but may not be perfect and then improve on them when we can all improve on them and all the different vendors can fix the small nagging issues they have instead of keeping them at arm’s length until they’re perfect because maybe they’ll never be perfect without help.

Jim Zemlin: Hopefully the Broadcom engineers are listening to this.

Linus Torvalds: Yeah, I don’t think so. I’m not very optimistic about Broadcom.

Jim Zemlin: Hope springs eternal on my end.

Let’s talk a little bit about some deeper issues and long-term future things related to Linux and what I mean by that is specifically your legacy.

While you’re the best today and while you compete to be the best today, you know, what happens over time as, you know, Linus…

Linus Torvalds: When I get Alzheimer’s? Are you saying that {laughter} I’m already starting to lose it?

Nobody should be worried about that. I mean, certainly we have one of the widest development bases of pretty much any open source project. It’s kind of interesting to actually see how many developers the kernel project has.

And I’m actually happy to say that another project that I helped start seems to follow the same pattern where the culture really encourages lots of people being involved.

Jim Zemlin: I’m not asking the question so much from a people are concerned about it point of view, I’m asking more from a ‘what do you think’? I mean, what would you like to see Linux become, when you’re not around?

Linus Torvalds: I really don’t have plans like that. I kind of worry about two things; maybe worry is the wrong word to use because I don’t really worry about them, but I concentrate on two things: one is the details. I’m a big believer in the devil is in the details and if you get all the details right, the rest works itself out.

Don’t worry about the big questions. If you can just solve every single nagging detail, the big questions will have solved themselves.

I really take a very pedestrian approach to a lot of technical issues that I may look a few months out, but I never look five years out. I just don’t even think it’s worth it and very few people can even make a good prediction five years out.

But more importantly if you look too far out, you’ll stumble over the immediate issues. So, when it comes to the actual technical details, I look a few weeks, maybe a few months out.

And then the other thing I worry about is kind of the general development flow and model and that’s something where I can take a longer-range view and worry about, ‘Okay, does that actually affect how people interact?’ and that had some affect on when we started doing the whole sign-off procedure where we added in the kernel, the developer certificate of origin sign-offs.

Part of that whole discussion and part of how we solved it was making sure that it doesn’t hold up the flow and the whole way development gets done is sane and doesn’t get slowed down.

And that’s as much a software issue and I don’t claim to look five years out, but I think that if as long as you maintain the basics there in the same way, things will work out.

Again, take care of the details in the short-term and for the long-term, just make sure that you have a very wide developer base and you actually encourage new people to come in and join that developer base so that it remains very wide in the future.

And I wouldn’t worry about me or Andrew or Alan or anybody else going away because if you have a wide developer base, there’s always somebody.

Jim Zemlin: Right, right.

Let’s talk about some technology issues sort of from a broader marketplace point of view and when I say marketplace, I’m more talking about, you know, sort of technical innovation over time; who uses what type of computing.

Let’s start with the Linux desktop. Some people find it really important, some people make predictions that it’s going to happen this year or we’re going to see it happen next year, it’s unfair that Microsoft has a monopoly position on this desktop, Linux is really, you know, the incredible alternative.

What are your thoughts on the Linux desktop and its broader adoption?

Linus Torvalds: Well, I don’t know about broader adoption, but the Linux desktop is why I got into Linux in the first place. I mean, I have never, ever cared about really anything but the Linux desktop.

The server market was a lot easier to get into. There’s just a few loads, they’re fairly simple, they’re fairly well-understood, people are – have much less inertia in upgrading a server than they have in upgrading their desktop. But I have never, ever even run a Linux server and I don’t even want to; it’s not what I’m interested in. I’m more of a desktop guy. I’ve always used Linux as a workstation person.

So – and I think I see that as not just me. I think a huge amount of the developers see Linux the same way because it turns out that while, yes, maybe servers is a huge market, when you actually look at developers, what developers interact with all the time is their workstation, their desktop and that’s the area where you really eat your own dog food and where you really end up seeing the fruits of your labor.

So, I think a lot of developers get very attached and emotional about their desktop issues and I don’t worry at all about the desktop on a technical level because I think that’s the first thing that most kernel developers will really put their efforts in.

Jim Zemlin: There’s been criticisms about the Linux desktop as to why it hasn’t been adopted by the mainstream user and that is that the nature of the development process, the sort of technical scratch your own itch as an engineer doesn’t make usability a feature.

Linus Torvalds: That may be true to some degree, but I actually think it’s a small detail. I think the reason the desktop is special is that the desktop really is so special and so much harder than any other market.

Pretty much any other market you have there’s a very clear model of what it’s going to do. If you have a server, you know a priority of what that server is going to do. Maybe you’ll expand on it later on, but if it’s serving email, it has a very clear thing that it’s doing in life.

The same is mostly true in the embedded space although clearly in the embedded space it’s these thousands of different niches, but each of them tends to have a fairly clear thing that they’re doing.

The desktop is special. Everybody has a different idea of what the desktop is going to be. You have lots of people coming from Windows who just – they know what a desktop is supposed to be - Windows, right?

You have people coming from Mac and they know what a desktop is supposed to be and it has to have that menu bar at the top and if you don’t have the menu bar at the top, it’s not a desktop, right?

So, everybody has a different idea. Everybody also has different hardware. The desktop is also where all the hardware really exists. Servers have 1% of the hardware that the desktop has in terms of different drivers and things like that. You don’t find webcams on servers generally. You don’t find oddball IDE drives on servers.

So, the desktop is just much more varied and, at the same time, the desktop is also the thing where people get really upset if something changes, so it’s really hard to enter the desktop market because people are used to whatever they used before, mostly Windows. And if you act differently from Windows, even if you act in some ways better, it doesn’t matter; better is worse if it’s different.

Jim Zemlin: So, is open source, as a development model, an effective way to create desktop given that?

Linus Torvalds: I think it is, but I also think the desktop just fundamentally takes a long time to enter and it certainly takes longer than people, including me to some degree, have ever expected. There’s just this huge inertia in that market.

But at the same time, one of the things that worked against open source, I think, in the desktop was that when things are really changing fairly rapidly which the desktop used to do during the 90’s, there was a lot of new features. The whole way people interacted with the desktop went from having a few programs to the whole web browsing thing and people’s use of the desktop really changed.

When that happens, when you have lots of change, it’s easier for one company that drives it, in this case mostly Microsoft, to kind of drive the market and at some point, and I think one the reasons people are having issues with Vista now, is that it’s much harder to – for one company - to kind of change the market and when the market has matured.

And I think the desktop market, to some degree in the last four or five years, has started to mature in the sense that people today are not probably using the desktop all that differently from what they were five years ago which didn’t used to be true.

Jim Zemlin: So, in some sense that sort of guidance that a single company has given is now taken away over to the moving side, to agility that’s needed.

Linus Torvalds: Well, it’s not even so much agility; I think agility is good in any market. What is, I think, happening is the desktop, as it’s maturing, it’s becoming, I wouldn’t say less relevant because it’s much more relevant, but it’s more of a commodity, so it’s – the same way PC hardware became a commodity market, the desktop software has become a commodity.

People take it for granted. It’s supposed to do one thing; you don’t even want it to do anything else, really. And you may have niche applications that – on top of that commodity. But the desktop itself is something that people aren’t necessarily interested in new features and I think that actually is something that helps open source because now you can’t have one company that kind of tries to move the goal post because if it keeps trying to move the goal post, that’s just going to irritate that company’s own constituents.

Jim Zemlin: Let’s continue that conversation to talk about it even broader and this is in the sense that there have been critics of open source—whether it’s on desktop computing or in other areas—that say, “You know, open source is really good at being a copycat, but they don’t do anything.” How would you respond to that critique?

Linus Torvalds: I think it’s true to some degree. It’s definitely the case that when the whole development model basically involves having lots of different people pulling in their own direction, the end result is not going to be something which goes suddenly in one direction; it’s not going to do a quantum leap in one huge direction because everybody’s pulling in their own direction and it’s moving, but it’s kind of taking a fairly middle-of-the-road kind of approach where you try to balance out the interests and needs of different companies and different individuals.

And that’s kind of not very conducive to what some people want to call innovation.

Jim Zemlin: But at the same time it’s a lot like science where you’re sort of laboring…

Linus Torvalds: Right. And that’s what I kind of wanted to get up to is that innovation is way too over used a word and people seem to think it’s something wonderfully good and the fact is it was Thomas Edison who said, “It’s 99% perspiration, 1% innovation,” right?

Innovation is not that important and it shouldn’t be because in the end what you want to do is you want to get the work done and 99% of that is really – it’s not about innovation.

Jim Zemlin: Yeah. In some ways, if you look at an area where people want to see innovation power management, right, to retain – for environmental purposes or just financial purposes, this is an area we’re sort of slugging along and this is where open source can be very successful.

Linus Torvalds: People expect open source to – well, maybe not expect, but open source and Linux in general has gotten the name of having very fast development and that’s not actually even true. It’s not that developing fast, it’s more that it’s very wide and it’s across the board.

And it’s across the board exactly because you have thousands of companies involved and each of those companies tends to push their own agenda so you have lots of development happening at the same time, so in that sense it’s fast. But on any particular front, it’s not necessarily fast.

So, the whole open source model, I think, is much more like science and much more of a – it’s incremental and it turns out incremental is actually much better than innovation because innovation is kind of - you’re jumping all over the map, and once in a while you hit the golden nugget, whatever, I have no idea what you hit.

But if you just incrementally improve on something, you will get there eventually. One analogy – the science one is one of my favorites - but one analogy is also the auto industry 40 years ago and how non-innovative Japanese companies that just plodded along, how they were looked down upon by the true innovators in the U.S. auto industry.

And look – who was it that actually ended up changing the auto industry?

Jim Zemlin: It was the incremental improvements over time that really were the innovation.

Linus Torvalds: Right. Yeah, yeah.

Jim Zemlin: Let’s talk to conclude about the future. Where do you see Linux – and I know you don’t think too far ahead about this, but I’m going to prod you to say five years from now.

Is the world Windows and Linux? Does the operating system become irrelevant because everything’s in a browser? Is everything through a mobile device? Is there a new form factor that comes out of mobile tab? Where do you see things going?

Linus Torvalds: I actually think technology in the details may be improving hugely, but if you look at what the big picture is, things don’t really change that quickly. We don’t drive flying cars. And five years from now we still won’t be driving flying cars and I don’t think the desktop market or the OS market in general is going to move very much at all.

I think you will have hugely better hardware and I suspect things will be about the same speed because the software will have grown and you’ll have more bling to just slow the hardware down and it will hopefully be a lot more portable and that may be one reason why performance may not be that much better just because you can’t afford to have a battery pack that is that big.

But I don’t think the OS market will really change.

Jim Zemlin: Virtualization. Game-changer? Not that big of a deal?

Linus Torvalds: Not that big of a deal.

Jim Zemlin: Why do you say that?

Linus Torvalds: It’s been around for probably 50 years. I forget when IBM started offering virtualization on their big hardware. Maybe not 50 years, but it’s been all around for decades and it’s very interesting in niche markets - I think the people who expected to change things radically are just fooling themselves.

I’d say that the real change comes from new uses, completely new uses of computers and that might just happen because computers get pushed down and become cheaper and that might change the whole picture of operating systems.

But also, I’d actually expect that new form factor is in new input and output devices. If we actually end up getting projection displays on cell phones, that might actually change how people start thinking of hardware and that, in turn, might change how we interact and how we use operating systems. But virtualization will not be it.

Jim Zemlin: Everybody calls everything Linux. What is Linux? And this may have something to do with standards in terms of how people define a Linux desktop or a Linux server, but, you know, the fact is and you own the Linux trademark, you have allowed broad usage of that term. Lots of people can call lots of different things Linux.

Linus Torvalds: I think it’s wrong to try to kind of compartmentalize it to Linux is just a kernel or Linux is so-and-so.

The kernel is useless without all the programs running on top of it. Are the programs running on top of it Linux? No. Open Office is still Open Office, even when it’s not running on Linux. But at the same time you really shouldn’t pick out one part. I mean, a huge part of the whole Linux thing is all the development and all the programs that went around the kernel. So, just limiting it to the kernel is wrong too.

Jim Zemlin: But people will say when they think of Linux they think, “I use Windows, I use Mac, I use Linux,” which is the kernel and everything that’s around.

Linus Torvalds: And everything around it, yeah.

Jim Zemlin: But even there, people can define that in different ways so that different Linux versions are incompatible and then you start to get to a point where people are saying, “Well, I was using Linux but this Linux application didn’t work on my Linux and it works on that Linux,” and it becomes this sort of confusing world.

What do you think of that? Do you think that’s good? Do you think that’s bad?

Linus Torvalds: I don’t think it’s good or bad; I think it’s reality. Reality {laughter} is confusing and when we use a word like Linux in different contexts it means different things. As a programmer, it tends to mean just the kernel because when you look at it as one program and actually as a code base, then it’s the kernel.

But then to a person who really compares it to Windows, then it’s a whole infrastructure and it’s all the companies that go along with it and maybe it’s the philosophy and everything else, so.

Jim Zemlin: So, most people think of it that way and from that aspect, do you think it’s good for Linux to have a reasonable common definition of server or a desktop in order to compete with Windows? In order to allow people to target Linux in a federated way as opposed to just target specific versions of Linux from that perspective?

Linus Torvalds: I think we need to make sure that we don’t fragment the market unnecessarily. On the other hand, it’s clear that all the vendors always want to have their own identity and they’re never going to sell the exact same thing and so two different versions of Linux are still going to be called Linux but they’re not going to be identical.

So, it’s balance, right? I think actually we’re much better off now than we were, say, ten years ago. People talk about the KDE versus Gnome desktops and how programs look different even when they work on the same desktop. One may have – you’ve been using the KDE widgets and the other one with Gnome ones and they don’t look the same, but back ten years ago we had the whole SysV unit versus BSD unit and you simply could mix and match almost anything in the whole system because that was such a big deal and none of the programs from one world expected things to be in completely different locations than they were in the other one.

And so we’ve already moved up the kind of common base much, much further than it used to be and there will always be things that are different – I mean different versions.

Jim Zemlin: The challenge is finding the balance.

Linus Torvalds: Right. I don’t think we’ll ever be in a place where everybody’s happy, but I do think that’s pretty much just inherent to different people have different priorities.

Jim Zemlin: Any final advice for an organization or an individual that wants to get involved in working on the Linux front?

Linus Torvalds: I get the question of “Where should I start?” fairly often and my advice is just don’t even ask that question. It’s more like if you’re not interested enough in one particular area that you already know what you want to try to do, don’t do it. Just let it go and then when you hit something where you say, “I could do this better” and you actually feel motivated enough that you go from saying that to doing that, you will have answered that question yourself.