Would you ever accept an offer to keynote at LCA?
I used to do speaking almost ten years ago. I did a lot of speaking because when Linux was new it wasn't very widely known, so I felt like I should spread the word. But I was never a really good speaker, I always hated speaking and I don't like standing in front of a huge audience. I get stressed out beforehand and Linux got big enough that there were people who were willing to do the speaking and people who were better at it, so I stopped doing it. I come to LCA to go to some of the sessions, but more so just to talk with the people.
Why do you keep coming back to LCA?
LCA is a really nice conference; it's very laid back, it's very technical, you don't see suits, there is no marketing crap, it's all just about the technology which is really fun. It's a nice environment and to be honest it is summer here! Back home in Portland they had snow and sleet, it's cold and rainy, so coming to Australia for a week during summer is a nice break.
What do you think is going to be the next big controversy in the Linux world that everyone is going to fight about and want to have you on their side?
If I knew that it wouldn't be a big issue! It seems like something flares up every few years. I mean something flares up all the time but it's usually something small. There is always the bigger thing, usually something that has been simmering for a while, and it just simmers long enough that when something happens it just releases the floodgates and there is a big flame-fest. It probably happens at every company where people get frustrated and there's heated discussions, but of course when it's open source everybody sees it.
I'm also not very polite, I actually like arguing with people, and there's a lot of people who like arguing in general in the kernel community. Some people don't like doing anything but arguing and we try to discourage that, so sometimes you see this flare up and it goes on for a while and then it dies down. Sometimes, as a result we change how we do things.
What happens is as the community grows, things that used to work a couple of years ago may not work anymore, and we continue this process and the process itself becomes this thing that holds you back and it frustrates people, and nobody wants to change it because changing a process you've gotten used to is really painful. Then you get to the point where it begins this huge flame war because everybody hates what is going on and nobody really knows how to do it right. We've had that happen three or four times where we've had these big discussions saying 'this is not working anymore'. The discussions often aren't that polite at all and tend to be like 'this person is being a complete asshole and we should just kick him out because it's really not working'.
And sometimes nothing really happens, we've had cases where we just realise "OK this isn't working let's try to change the model", so quite often the flame wars are actually productive and are a way of letting off steam and getting out all the problems that have been simmering for sometime out in the open. Sometimes it's enough to just get them out and not have to change anything - it's just about letting people let their steam off.
What do you think is the next big thing for Linux?
I don't think there is one thing. One of the things that is quite interesting is there are all these different people and different companies and they all have their own agendas. For example within the mobile world - which is not just one area either - there are the cell phone companies, the embedded systems, people using Linux for things like embedded music, distribution points like wireless music and media in general, and they all have their own thing that they think is the most important, which is true for them because they may have a small or even a large company that is going in one direction.
What keeps motivating you to work on Linux?
Linux has done what I wanted it to do for the last fifteen years, literally. So since very early on my motivation actually came from the outside: my motivation came from problems that other people see. I don't see the problems, my usage model is actually fairly simple and it's still the same development model that I tend to concentrate on. So I am actually motivated by other people's issues, and sometimes they make me go 'those people are just crazy, that's just insane', but sometimes the crazy people have some of the most interesting problems too.
I personally have always been interested in the desktop because my usage has always been as a workstation. It's been a fairly limited desktop because I don't tend to care about a lot of the things that other people care about on their desktops, so personally I tend to be more intrigued by problems that other desktop people have as it's closer to my own usage. But at the same time, sometimes the really technically interesting problems in particular come from the embedded world. They come from people who have very strict requirements because they are doing just one thing and they are usually doing it on a very small machine because they need that machine to be cheap in order to sell millions and millions of copies. So sometimes the desktop people have a much easier time because their machines are really big and powerful, but the really interesting technical challenges sometimes come from the mobile people. Although for them it's usually the user interface, they don't tend to complain that much about the kernel.