Uhohs! It appears that the Google Android Code has been deleted from the Linux Kernel. The change is explained in depth at Kroah.com but the folks at RegHardware sum it up nicely:
“No one cared about the code, so it was removed,” writes Kroah-Hartman. “As I’ve stated before, code in the staging tree needs to be worked on to be merged to the main kernel tree, or it will be deleted.”
But the larger problem, he continues, is that Android uses a new lock type, new hooks for its “sometimes bizarre” security model, and a revamped framebuffer driver infrastructure. All this, he says, prevents “a large chunk” of Android drivers and platform code from merging into the main kernel tree.
Google, he ultimately argues, has forked its mobile OS.
Kroah has a ton of great things to say about Google and Android. The removal of Android from the Linux Kernel isn’t the end of the world, but more an admittance that Android is paving its own path. If Google doesn’t alter directions now to account for this, it’ll probably be too late to turn back.
What does Google have to gain?
Because Google doesn’t have their code merged into the mainline, these companies creating drivers and platform code are locked out from ever contributing it back to the kernel community. The kernel community has for years been telling these companies to get their code merged, so that they can take advantage of the security fixes, and handle the rapid API churn automatically. And these companies have listened, as is shown by the larger number of companies contributing to the kernel every release.
It seems like, according to Kroah, we would get more secure builds with less bugs and quicker OTA fixes/patches if Google were to follow the necessary Linux procedures. Kroah is reluctantly hopeful… and I’m less optimistic. I definitely recommend reading the full article for those interested.
I’m no Linux expert but I’m sure we have plenty of readers who understand this on a much deeper level. So chime in – how does this affect us and what’s your opinion?
This is a big deal. This is why you see rooted phones (like the LG Eve) still don’t have ports of the latest Android OS releases: the drivers for the wireless radios and other components simply aren’t available for the newer kernels, and are very difficult to port.
Plus, it means doing anything non-Android with any of this hardware is next to impossible.
It’s a bad situation that Google needs to take seriously and fix right away, before it gets worse.
It appears there is something missing ……… but who is to blame? Google?
Certainly makes for a good discussion!
If linux doesn’t fit into what android needs (and locks, security models and device infrastructure are a must), the fork is wellcome. We don’t get a new kernel everytime there is a new one, we wait for google to integrate it. I don’t even know if this means anything to google, but for sure it doesn’t for us (unless you’re an opensource freak).
Ok, allow me be the first to say this: “Wha?”
I second that
Wha?
@hector – opensource … well i think that’s one of the main reasons why to use android instead of iphone os or webos
So I may be wrong here, but it sounds like Google had Android code in the staging tree, they never “got around to” making the adjustments the linux team asked them to, linux team had to push forward so they removed it and gave Google an ultimatum; fix your code or fork your project.
Being told to Fork off isn’t the end of the world.
Android probably needs to be a fork off the linux tree anyway (is that mixing metaphors?) as it’s going to become more specialised anyway and mutate off in it’s own direction.
Ok, I’ll ask this then, what does this mean for those of us who own an Android phone? Should we be worried that there will be a shelf-life on our updating future?
Actually it’s no big deal. And doesn’t really affect Android users and developers. As Greg pointed out the only party affected is Google, because they will not have the community support from other kernel developers.
To clarify it a bit: if I’m a company making drivers for the linux kernel I have two choices: either I work hard to get my code into the mainline kernel (making the necessary changes requested by the kernel maintainers or other kernel developers to reach the code quality required for the merge), or I write the code however I want.
If my code gets into the mainline tree, than the community and maintainers will care about it enough to make the required adjustments for a new kernel release. It will make my work easier, because I don’t have to worry about tracking the main kernel changes. It will be done for me, so I can concentrate on improving my work.
If it doesn’t get into the official kernel tree, than I have to maintain my code for every single kernel release. I have to work more, because I was too lazy to work on the merge once.
In this situation the truth is that Google doesn’t care about their code getting in. They put it into the staging area just to be there.
There was an article somewhere not long ago about google and the linux kernel. They said they maintain there own fork of the kernel tree, and they can’t contribute back, because they have to do too much work just to maintain there own changes from various parts of the company. So they are always lag behind the main tree with quite a few releases.
Oh, and just to be sure everyone gets a clear picture: the lack of kernel drivers for various hardware pieces in android phones is not googles fault. If a company (eg Motorla) makes binary only drivers, it can not be forced to release the source or to make its driver compatible with kernel versions other than the one it shipped with its product. So if a new android release comes out with a different kernel the binary only modules may or may not work with it.
Ditto what Hector said: and locks, security models and device infrastructure are a must
This really isn’t a big deal, and it’s not going to affect users at all. Google has decided that they’re going to maintain their linux kernel out of tree for now and not really work to have their code in the main upstream. Given how heads down they’ve been on releases (I think we’ve seen an API bump every month starting in October) I’m not that surprised.
If you look at most platforms that aren’t x86/x86_64, this is often what happens. If you look at any of the Linux companies they all use forked kernels, with lots of patches.
While Greg was good to try to push them to get into the mainline, this isn’t the drama that most people want to make it out to be.
@hector… Opensource freak? Open source is one of the biggest draws of Android for a lot of people. You know how we’ve been able to have work-arounds for multi touch, and use mods like cyanogen’s that vastly improve on the normal OS? As Google move Android further away, it becomes much harder for other people to make their own fixes or improvements for things.
@YankeeDudel… It doesn’t mean the life of your phone has been cut short, no.
Just to sum it up:
–Z–
Sorry, this has nothing to do with binary drivers. If a phone manufacturer writes its own code for the kernel, and choose to just release it as a binary module, than nobody can use it with any other kernel version (with a lot of lack it may work, but that’s rare), or make changes to it.
YankeeDudeL
For an Android user this has no impact, it would only make it easier for google to track the kernel releases much faster/closer, so if something gets fixed in the main tree (eg a memory handling bug) they could just put the new code in the android source without the need the first merge their own changes into it and test the compatibility with kernel changes.
This is a better insight about it:
http://linuxhaters.blogspot.com/2010/02/they-took-our-codes.html
Where did my comments go ?
Sure, some sort of lock/suspend states are necessary but that doesn’t mean that the linux kernel developers wants to merge code in to it that is essentially useless for anything that is not an android device. One of the reasons that the code was rejected was that it was widely believed that they were taking the wrong approach and should be using the existing infrastructure. Even the linux/nokia developers chimed in and said that the current suspend states were more than suitable enough for androids purposes with some minor changes.
Disappointing, but ultimately unsurprising given Google’s usual attitude to open source seems to be “take what you need, develop it internally, selectively give back to the community”.
If rumors are to be believed, most of their business exists *because* of Linux, yet almost all the projects which matter to desktop Linux users have an inferior, late-delivered or non-existent native client when there is one for Windows and usually for OSX too. (Chrome, Picasa, gChat, etc)
I hope Google fix this so Android and Linux can maintain a close relationship and the ‘droid doesn’t lag behind because integrating new updates becomes difficult, but I too am skeptical.
My problem with Google is now the “not so openness” of Android. I mean 2.0 was available for the Droid a looong time before its source was released to developers, now they were a bit faster with 2.1.
I can understand that the Droid release was quite important, and I think a lot of money was involved in the delay, but this is exactly why their code got wiped out of staging. They write code at home first, and they release it to the public when they like, and forget about it.
I’d really like to see android source evolve in the open, not in this “release” manner.
What has to do droid updates with that? 1st of all, the droid updated depend on Motorola, Google has already released 2.1 source. About Android itself, If anything it means more time spend in developing the android kernel. The kernel is GPL licensed, and they comply by releasing their source which is GPL too, no matter if it is a fork… The linux guys can do a merge by themselves if they wanted.
Every year (from ~10 years) on Linux websites is statement that this year is almost “Year of Linux desktop”. Never happened. Linux have less than 1% of global desktop PC. I think that Android after one year on market have more than 1% of smartphones, so it is better that Linux will merge with Android, not opposite ;)
Sorry for sarcasm, but I’m waiting more than 3 years for good Linux desktop distribution (now on Ubuntu, earlier on Fedora).
Android is very fragmented (1.1; 1.5; 1.6; 2.0; 2.1), but even that – for now it is THE BEST Linux distribution. Example: how many commercial applications are for Android, and how many for Linux? (much more on Android even that it is only one year on market)
“The kernel is GPL licensed, and they comply by releasing their source which is GPL too, no matter if it is a fork… The linux guys can do a merge by themselves if they wanted”
@jjss… That is just it. The linux guys don’t care except that some might have one of those products on which they might want to run a newer kernel. Even then why should they do work which they and no one else otherwise cares about including Google? Is it not plenty enough that the kernel devs have reverse engineered Nvidia drivers (And some others at earlier times I am sure) all so end users could use those chipsets and cards? There by allowing Nvidia and other uncooperative companies to sell to a market that they had written off?
The reverse or backwards philanthropy stops for the sane when the company forks. ‘nough said.
@danniello that may be true if you believe the desktop is linux strength. Linux runs the internet and isn’t going anywhere.
I’m no Linux expert; all I know is how to install it, to run a dual-boot system. I chose Android because I do want to support open source, want to avoid Microsoft if I can help it, and don’t really want to be tied to iTunes and Apple’s ecosystem.
However, open source does not equate to just Linux, and I thought it was clear that while Android had its roots in Linux, it was no longer really Linux. It was also clear from the time of the cease and desist letter being issued to Cyanogen that Google considers some of their applications in Android as proprietary. Still, the main kernel is open, and perhaps we should just accept that it’s something separate from Linux. People who are not comfortable with that still have Linux options like Maemo. It will mean fragmentation, but I think that is inevitable.
According to Linus Torvald himself (father of Linux), who just got a Nexus 1, it’s not big deal…
source:
http://androidandme.com/2010/02/news/father-of-linux-is-a-happy-camper-with-his-nexus-one/
Well, Linus Torvalds just got his Nexus One and he’s liking it: http://torvalds-family.blogspot.com/2010/02/happy-camper.html
On the comments he says this about the dropped Android code:
“I don’t worry about out-of-tree development for odd devices too much. I wish we could merge android, but I also accept it likely being a few years away. We had similar out-of-tree issues with the SGI extreme scalability stuff, and it took quite a while before the standard kernel merged all of that.”
1. “Apple is Evil,” some people say.
2. “Don’t be Evil” says Google
3. Google is a corporation
4. According to UBC Psyc prof, Robert Hare, using diagnostic criteria from.the DSM-IV, corporations are analogous to psychopaths.
5. Psychopaths aren’t evil, but they can do evil things.
6. Google’s corporate slogan might as well say “Don’t be Apple, be Google.” In other words remain authentically dynamic to the creatively pragmatic approach upon which you/we have built your/our success while you/we continually increase in size, scope
, and clout.
7. Google’s a MASSIVE organi(zation/sm), and. “all-this” is probably foolishness, knavery, or wisdom. Or something else, ____ man, who knows.
8. Where there’s smoke there’s fire… or something else that produces smoke. Hey, do they have an app for that yet?
9. http://arstechnica.com/old/content/2007/11/why-google-chose-the-apache-software-license-over-gplv2.ars
10. en.m.wikipedia.org/wiki?search=slight+of+hand
11. Naw, jk ;P
From my HTC Magic,
-smgbblrtkmhndl
There is “stock”, and not.. Pretty much every major Linux distribution modifies the stock kernel and creates their own flavor based upon the latest release. If you are trying to port some hardware to Android, this would affect you if you wanted to use the latest version of the kernel as a base. This does not mean that the previous (how many) other kernels have disappeared from the planet.. and it also doesn’t mean that next months kernel can’t be modified to become the latest Android kernel.. As I said in another thread, I think people spend a little too much worry over numbers, and not enough on the experience.. As hardware changes and the numbers jump from 1.6 to 2.0 it would be better for some users to have an improved 1.6 versions than to just move them to 2.0 that would have unusable (by their hardware) code in it… As a Linux user, I have seen I don’t know how many kernel “updates” and it is extremely rare that it makes any noticeable difference whatsoever. It would be more important to me, if I was a frequent buyer of the latest wizzbang hardware that may have just had support added for in the latest kernel, but for the most part it is extremely rare that there is anything that is really affecting me with a kernel update.. If it’s really important, then I say find a way to rename your kernel or OS version to “11”, because after all that’s better than 10 right ?
@Brotherred
reverse engineered Nvidia drivers? Do you mean the nv driver? that only has 2d support… well great job with that! Nvidia supplies anyway drivers, and if you talking about the new Nouveau drivers, those that made it aren’t kernel developers. Besides do you think that those kernel developers will start developing new drivers for Android devices? yeah right!
@Danniello
Yes exactly, they actually took a s*tty project and made it into something usable! Besides Linux distributions are much much much more fragmented. So Android, in comparison is not that bad :)
All this talk about kernel. Anyone feel for KFC?
I am looking forward for my upcomming android phone for months now but this is certainly giving me second thoughts.
Is android still the way to go or should we consider other alternatives?
Its still a linux kernel. The only people who have been working on it are the android community. The android community isn’t going anywhere. All this means is the general Linux community don’t need to bother with it. Fact is android is too unique of a kernel for the masses. It is evolving so quickly its hard to keep up. It is open source but each iteration of hardware limits which version it will run. Soon, hopefully, we will be getting phones that will run any version of Android. If you were going to wait on the sidelines to see what android is doing, wait until you learn of an android version you like then jump in. It seems like the 2.1 code is going to be the new standard for a month.
@Esperanto
Yes you should! It seems that even Linus Torvalds has got a Nexus One and he likes it.
I dont know if it has more to do with Linux or with the way the manufacturers decided to build their spinoffs of Android (Sense, Blur, etc) but I hate it to no end the fact that you can have one phone running a new version but you have another waiting months before it “might” see the new version. If these things and this topic are related, to me, it is a big deal. I’m no expert on any of this but it’s something that definately needs to be adressed.
You wanna know what I think about all this? I think it’s time that both the Linux community AND Google step up to the plate in unison, merge their respective talents and code into a unified “tree” from which to base specialized versions of the kernel for different hardware apps (like Windows did with its totally bogus code, by offering home, business, server, and phone versions of the same basic NT 4.0 based structure) and require these retard phone makers to make their BS home screen GUI’s compatible with ALL NEW ANDROID OS RELEASES AND LINUX KERNEL UPDATES. There is no reason why an Android user should have to live with software that is subsequently found to be defective or unstable in some way, or incompatible with certain phone drivers or what not, and is later rectified by either Google or the Linux community and available as an OTA update, just because some bogus phone maker couldn’t make their silly GUI home screen COMPATIBLE WITH ALL ANDROID/LINUX OS/KERNEL UPDATES. This basically means to the consumer that the only way to avoid phone maker planned obsolescence is to buy an unlocked phone without any Sense or Blur on it, and thus be in the loop for the latest Android updates, or be at the mercy of HTC, Sony and Motorola and let THEM decide if your 3 month old phone is even worthy of an OS update that THEY decide to develop to suit THEIR purposes (like no Google Nav, if they SELL Nav software, no video support if they get paid by Verizon to give you no choice but VCast, no WiFi/WiMax switching/roaming capability if they get paid by Sprint to push their 4G,no built-in TV tuner/radio tuner support, if someone is pushing yet another would-be iTunes service,etc). Allowing phone makers to proprietize Android and allowing Google to proprietize Linux is NOT the end of the world (just like iPhone is NOT the end of the world, either), but if we view this realistically, it IS a raw deal for consumers who will end up paying more via phone makers and wireless carriers for services that are available freely on the Web, and be stuck having to constantly upgrade to the latest phone that IS supported by the latest OS update. Totally bogus, in my book. ‘Nuff said :-P
Well your wishes (at least some of your wishes) appear to be in the process of being answered.
http://www.theregister.co.uk/2010/04/15/android_linux_kernel_reintegration/