Swapnil: What do you say about Android. There is a discussion that Android is not Linux. How much of Android is Linux and what is the status of Google merging it with the mainline kernel?
Linus: Some people are really unhappy about the whole Google changing Linux for their own needs, making all these extensions for Android and think that they should have talked more to the standard kernel engineers. I don’t actually care. For me, that’s how kernel development has always been done. It’s what Red Hat, Suse and IBM and everybody used to do themselves. They used to do their own development and then we picked up the features that were successful. To some degree Android and Google are doing the same thing.
Every time there is a fork, and I think actually forks are good things, it means somebody sees a need and a technical reason to do something different from the standard kernel. But most forks are failures. They find that the things they needed were not actually worth doing and as a result most forks die. Some forks are successful — Google with Android has really been very successful.
Now, we are talking about how to say ‘Hey you were right, we were wrong, you were successful doing something right’. We are talking about how to merge the good parts.
That is the point of GPL. That you can have this disagreement about how things are done and then you notice that the forking is important. The ability to take the source base and make changes to it is important. But equally important is that the license then requires the party who did not do their job and didn’t believe in what they did can always say “hey they were right” and take the code. So, that’s what probably will happen because Android has been so successful.
I think actually forks are good things, it means somebody sees a need and a technical reason to do something different from the standard kernel.
Swapnil: Amazon is taking Android a step further, what do you say about it?
Linus: Most of that is actually not the kernel work. There is a lot of work, like the IceCream Sandwich and further improvements that Google does to Android.
Android is a distribution and the kernel is a just small part of it, I think it’s an important part, but it’s still actually a fairly small part of it. So we inside the kernel project, I don’t think most of the features there impact us. Outside of drivers for example. I mean drivers are always something the kernel ends up having too many of, but it’s hardware and we can’t change that.
Swapnil: Amazon is also a big user of Linux – from servers to cloud offering to Kindle ebook reader and now Kindle Fire the Android tablet. How is Amazon playing with the Linux kernel community? How much are they contributing?
Linus: I have to say I don’t even know. The people I interact with, the top level maintainers – none of them work for Amazon, as far as I know. Whether Amazon then actively feeds back their changes to the maintainers, I don’t know. And to some degree it’s not necessarily all that important. I suspect they actually use a fairly standard Linux.
They obviously have drivers for specific hardware, that’s a fairly small detail in the end. Amazon also on the server side is a big user and most of the changes there are to their user side, like server cloud infrastructure. And that’s OK. I think it’s that’s how things should work. When you have people who just use the system, they don’t necessarily give that much back because they don’t need to make any changes. They just use it the way it was designed to be used.
Swapnil: Greg might have something to say about it. He pointed at Canonical’s contribution to Linux kernel development.
Linus: The reason Greg did not like Canonical was because they actually did make changes. They just were not necessarily as active in pushing them back up as Greg wanted them to be. I think Greg doesn’t complain about Canonical much any more.