Every time they update, it was a huge pain for them to bring their patches forward. So there was a huge pressure on Google to merge their changes back.
But the Google people were also very frustrated with the fact that they couldn't always... because people wouldn't accept their code because sub-maintainers in their area didn't like the way they did it.
And that was one of the things we said last kernel summit - we just have to accept that Google ships however many millions of devices a day.
LXF: So is it the people responsible for those separate sub-systems that take on the responsibility for Google's part?
LT: Once Google stuff gets working, most of it, so for example [Linus reaches for the phone we're using to record the interview]... "Oh, it's an iPhone... screw you! I'm not talking to you anymore".
So one of the things that Android had as an issue was the whole wake clock thing, where they want from the system standpoint, to go very aggressively to sleep; but at the same time, they have to be very careful with an application that's just about to do something that will wake it up.
So you have this situation where the system decides nothing has happened in the last two seconds, so I will not go to sleep.
So if the system goes to sleep just as an application wants to wake up, that's annoying. The system may stay asleep and not wake up until a user taps the screen or something.
So that was (all) the whole wake clock infrastructure was.
It meshed not very nicely with some of the other power management code, and it didn't really fit some of the theory.
And it impacted a lot of the drivers because they were often the ones saying 'hey, something happened', and they got impacted.
So, not merging it, it's not that Google wants to maintain this, or anybody wanted to maintain this - there was this cascading effect of having this interface that Google needed, that they'd done their way that was not in the standard kernel, and then that affected driver writers, especially in embedded, because they wanted to write drivers for Android, because they may be someone like Samsung, who want to do stuff for Android, but they're using an interface that doesn't even exist in the standard kernel.
And it's like a two-liner change, but it's two lines in a driver that makes it inconvenient to use the standard kernel if you aim to go in to Android.
Nobody really minds being told what to do. People really minded that the split itself caused pain for no real reason except for some minor disagreement.
So we decided 'hey, screw it, maybe we don't love everything Google does or the way they do it', but on the other hand, people didn't really hate it hate it...
What's in a name?
To the wider world, the two most visible aspects of Linux are its strange name and slightly overweight penguin mascot.
Neither of these were of Linus' making, however. He'd originally intended to call his new operating system Freax, a portmanteau of freak, free and the letter X (Unix clones often append an x to the end of their names to indicate their lineage).
After other users got involved with development of the new kernel, however, source code was put on to an FTP server in order to make it easier for everyone to work together.
The administrator of the server that first hosted Linux code, Ari Lemmke, disliked the name Freax and so put the code in a folder called Linux on the server. He didn't tell Linus, and eventually the name stuck.