Android and the Linux Kernel Community
An anonymous reader links to Greg Kroah-Hartman's explanation of a rift (hopefully mendable) in the development culture of Google's Linux-based Android OS and the Linux kernel itself. "As the Android kernel code is now gone from the Linux kernel, as of the 2.6.33 kernel release, I'm starting to get a lot of questions about what happened, and what to do next with regards to Android. So here's my opinion on the whole matter ..."
"Because of this, Google has now prevented a large chunk of hardware drivers and platform code from ever getting merged into the main kernel tree. Effectively creating a kernel branch that a number of different vendors are now relying on."
That's all. It's obvious that Google doesn't care about it that much. And yet nobody demanded them to do so -- if Google wants it its own way, why shouldn't it be able to?
I may be a crazy open-source lunatic, but I am tired of all of this "It's a world conspiracy against Linux"-thing. Let's get a grip, talk less and code more.
Have you heard about SoylentNews?
This isn't about some anti-Linux conspiracy, it's about conflicting business interests.
Google has made modifications to make their software work. Those modifications can not be integrated as is with the kernel. Cleaning up their open source code can be done, but their internal closed code would likely also need modifications to account for that cleanup. So for Google, merging their code would likely be expensive and require extensive testing and a large download and upgrade system for all of the live phones.
On the other hand, companies that are developing drivers and software that depend on the new kernel are now hosed because the kernel is no longer exposed as part of the Linux kernel. So they have to deal directly with Google for any changes to their kernel, and if they also want to release their products for other Linux platforms, they have to re-engineer much of the os-interaction functionality. Obviously a pricey situation for them.
If Google updates their code to get it into the kernel, it makes it cheaper and easier for other developers to work it, but it costs them money. If they don't then it costs the developers more money.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
Is that why we already succeeded at Year Of Linux On Desktop back in 2003?
Haven't you noticed? The desktop is irrelevant. It's been abstracted to an Internet access platform. It's the phone in the pocket which is the current battleground, and Linux has won that already.
Deleted
But instead, Google went off into a corner, created their own solution behind closed doors that nobody in the kernel community likes and now it can't go upstream.
No one in their right mind is going to start a lengthy debate with kernel developers when they have a deadline to meet and a product to ship.
In the industry, getting things done on time is priority #1. Google's implementation may not have been ideal, but it was delivered.
Oh come on, was it really a surprise to anyone that Google does only care about OSS when it suits them and drops out instantly when it doesn't. All of their own sites, business and back-end technology is just as closed as Microsoft's.
Point 1) how is not pushing to mainline code "dropping out" of open source development exactly?
Point 2) The Common Android Kernel tree is browsable, and looks to be fairly easy for anyone to take advantage of. The complaint here seems to be that Google isn't putting in enough work to merge their Linux kernel changes into the mainline, not that they have failed to release anything in a usable way. I find it somewhat disingenuous to slap down an open source contributor for failing to do our work for us.
Point 3) Microsoft's services are just as open?! Great, where is Microsoft's instructions on how I can export all of my data from all of their services in open formats? Google provides that so I'm certain you're aware of where Microsoft publishes such information as well... Oh and while you're at it, how many open source projects do Microsoft projects contribute to? Python, Linux, and dozens of other existing projects get updates from Google and they've released more open source software of their own making than anyone else.
So, what company have you been watching that confused you so badly that you thought Google wasn't the single largest benefactor open source has?
Google's "Don't Be Evil" mantra--"It's bullshit."
What's sad is that, here on Slashdot, we run with the worst possible interpretation of everything.
So, what started as one non-Google developer deleting some Android-specific drivers from Linux (mind you, leaving in massive amounts of upstreamed work from Google, this is just the small Android-specific bits) becomes "Google is abusing the open source community and is now evil."
Sad, just sad.
I wondered that myself when looking into the N900, and the explanation as to why Android is not open is because while it is Open Source, it does not have an open community.
If you look at the OHA FAQ, they explain why an open platform is good for everyone EXCEPT the end-user. Unless you mistake who your customer is, you'd realize that the end-user's input is just as important as those who apply your OS to their device. Both the OHA and the cell vendors make that mistake, as the OHA thinks the user of Android is the handset maker, who themselves think their customer is the carrier. The only true customer is the person who pays for and uses the device in the end, and they should be able to have input into their device and its OS should they care.
Yeah Steve's totally right there, Google definitely should have asked Apple for permission before developing the Nexus One or Android... just like Apple asked all the other phone companies for permission when developing the iPhone or the MP3 player manufacturers when developing the iPod..... oh wait... what a dick!
I think thats the whole issue here. Why does Goggle have to do any work to get "accepted" into the main kernel anyway?
They don't have to. If they don't, however, their codebase and the mainline codebase are going to grow further and further apart, which means that (a) the Android kernel will not be able to easily gain the bugfixes and enhancements that go into mainline and (b) the mainline kernel will not be able to easily take advantage of the drivers written for the Android kernel. Both will lose.
I strongly suspect that what will ultimately happen, as has happened before, is that the Android devs will eventually realize that maintaining their own fork of the Linux kernel is just too much effort and that it is actually less work to do what's required to get their changes integrated into mainline. Many other companies have been through this same process and come to the same conclusion.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.