What is the most difficult thing about kernel releases these days?
Well, people are excited about writing new code, new features and things like that. The way we do it is, we have this merge window for two weeks when all the new code is supposed to go in. In that two weeks everybody is really happy because that's when you get to do all the fun stuff and you get to push in the new code you've just written and are proud of and so on. After the two weeks are over you're supposed to make sure that all the bugs are gone, and we get reports from all the people who are actually using the new features, and that's when the motivation levels go somewhat down because it's not at all as fun to debug things as it is to write the code in the first place.
So the biggest problem has been to try to keep people from writing new code for the next merge window (usually our schedule is two months between merge windows). So instead of making people write new code for the next merge window, they really need to concentrate on following up on every single bug report that comes in from the previous merge window - and that tends to be the hardest part. Everybody knows it's really important but at the same time it's not as exciting as writing new code, and I think that is the biggest social problem we have in the kernel.
What new features are you working on, or are tickling your fancy at the moment?
Well for the last few years all I have really done is communicate. I end up merging other people's code. I actually seldom write code myself, except when it comes to the tools around the kernel. I write code for our source control management utility which is how we keep track of who did what. Every single patch that comes in is tracked individually and in the right order, and code merges from different people. I tend to write that code, in the kernel itself though all the code ends up being written by others. I'm more of a technical lead person than a developer person, and that has been true for the last, maybe five years.
What do you think of the various Linux distributions?
People talk about how different they are but they actually all end up using pretty much the same kernel, so I suppose as far as I'm concerned there is very little difference between them. We used to have this problem with our old release schedule where instead of a release every two months we had like two years of development kernels and then a big release, kind of like what Microsoft is doing except for them it's every five years. That was really painful because then all the distributions had all their own add-ons and couldn't afford to wait for two to two and a half years to catch up, and that used to be a huge problem.
These days I don't have any problems at all with any of the distributions because we changed our release policy so that the distros can have a much easier time keeping up with new features, without having to have their own patch release. So I actually see much less of the distribution issues then most other open source projects probably do.