Slashdot Mirror


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 ..."

85 of 354 comments (clear)

  1. Google by sopssa · · Score: 4, Interesting

    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.

    Google shows no sign of working to get their code upstream anymore.

    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.

    I see someone coming along and saying "but they contribute to open source!". Sure, they do, they release little snippets of code and open source those products they base on OSS code because they have to by GPL. One could seriously argue if their open sourcing efforts are making better open source community in general, or not. Like TFA states, their ignorance has caused more turmoil than ever before in Linux land. Companies are obviously going to create support and drivers for Android-branch of Linux kernel, but cant contribute the same code back to real Linux kernel. And possibly never will because it costs them too much work, money and time. Even those companies that previously did develop linux drivers. That's not harming Linux and OSS community?

    Get off your lazy ass and see what's really happening.

    1. Re:Google by sopssa · · Score: 2, Interesting

      The only group it's harming is Google and those companies dumb enough to buy into Android for their future.

      Google has a major advantage here as one of the largest companies in the world, and those companies "dumb enough" are going to jump on Google's side because they have the market share.

    2. Re:Google by killmenow · · Score: 5, Funny

      Apparently Google employees have mod points today.

    3. Re:Google by CSHARP123 · · Score: 3, Insightful

      It is called Embrace, Extend and Extinguish. I thought it only applies to MS. Well I think, Do no Evil is gone through the window :)

    4. Re:Google by Colin+Smith · · Score: 5, Interesting

      Google has a major advantage here as one of the largest companies in the world

      Nokia has the major advantage that they are *the* largest phone producer on the face of the planet and have *the* largest world market share by a large percentage. Google and particularly, Android are small fry in comparison, despite their size in other markets. Those companies jumping on Android are dumb because their horizon is limited to the US market and a single platform.

      For irony, Google "Maemo" and "Nokia N900".

      As I said, the only groups being hurt by this are Google and those dumb enough to rely on Android for their future, anyone else with a brain will take a look at the competition and more open platforms.
       

      --
      Deleted
    5. Re:Google by Score+Whore · · Score: 3, Insightful

      This is some seriously poor logic. Consider for a moment GM. In 2008 they were the 4th largest company in the United States. By your logic it would be ideal to attach your company's future well being to GM. Now consider how well that worked out for over 1000 GM dealers, hundreds of parts suppliers, etc. See how that turned out. For the record, Google was #117 in 2008.

    6. Re:Google by gyrogeerloose · · Score: 5, Informative

      It is called Embrace, Extend and Extinguish. I thought it only applies to MS. Well I think, Do no Evil is gone through the window :)

      Well, we know what Steve Jobs said about Google's "Don't Be Evil" mantra--"It's bullshit." Or, "a load of crap," depending on your source.

      --
      This ain't rocket surgery.
    7. Re:Google by Colin+Smith · · Score: 5, Insightful

      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
    8. Re:Google by h4rr4r · · Score: 4, Informative

      If linux was under the BSD license it would be in the same shape FreeBSD is in, nearly no one using it in the server room.

      So sure we have to wait for btrfs instead of using ZFS, but only because SUN decided to make sure they chose an incompatible license.

    9. Re:Google by GenP · · Score: 5, Funny

      I want ZFS for my home server, zfs is not the answer

      Very Zen.

    10. Re:Google by ClosedSource · · Score: 2, Insightful

      The problem is the idea of a single code base that will satisfy all needs is a pipe dream and always will be. Developers may have to do some extra work to write appropriate drivers for both trees. Welcome to the real world.

    11. Re:Google by shutdown+-p+now · · Score: 3, Insightful

      Sure, they do, they release little snippets of code and open source those products they base on OSS code because they have to by GPL.

      Erm, no. While I don't consider Google to be a particularly charitable organization, they do regularly open source their products (though mostly minor ones, as you rightly pointed out) when there is no legal obligation on them to do so.

      The reason for that is perfectly clear, too: it strengthens the image of Google as both "geeky" and "open" tech company, which are both important parts of Google's public image.

    12. Re:Google by Sinning · · Score: 2, Interesting

      Down from over 63% in 2007. Symbian is losing ground quickly.

    13. Re:Google by exomondo · · Score: 2, Insightful

      Well, we know what Steve Jobs said about Google's "Don't Be Evil" mantra--"It's bullshit." Or, "a load of crap," depending on your source.

      Is that actually based on anything though? You have to remember that 'evil' is a point of view and when a company gets that large and that diversified obviously they are eventually going to step on the toes of someone who has a different interpretation of what is 'evil'.

    14. Re:Google by DangerFace · · Score: 4, Interesting

      Well, we know what Steve Jobs said about Google's "Don't Be Evil" mantra--"It's bullshit." Or, "a load of crap," depending on your source.

      Is that actually based on anything though?

      Yes - it's based on one rich guy being annoyed that another rich guy threatened to take some of his richness. From the linked article:

      On Google: We did not enter the search business, Jobs said. They entered the phone business. Make no mistake they want to kill the iPhone. We won’t let them, he says. Someone else asks something on a different topic, but there’s no getting Jobs off this rant. I want to go back to that other question first and say one more thing, he says. This don’t be evil mantra: “It’s bullshit.” Audience roars.

      Steve Jobs wasn't making some deep point about Google's manipulation of FOSS, he was just ranting about unfair competition (for 'unfair competition to Apple in the eyes of Steve Jobs' read 'Giant, friendly, happy-go-lucky Silicon Valley company treating design and user experience as important'). He may as well have just complained that Google won't share their toys.

    15. Re:Google by Enderandrew · · Score: 4, Interesting

      They don't support OSS when it doesn't suit them?

      They pay the salaries of guys like Andrew Morton and then cut him free to work on Linux as he sees fit, basically just answering to Linus.

      They pay for projects like the Summer of Code, paying for the development of projects they don't use internally.

      They released patches for projects like Wine well before they were using Wine in any releases of their projects.

      You claim they only release code when they have to. They were never required to create an OS. Are you aware the Chromium browser code is BSD released, right? It wasn't like they just wanted to build upon some GPL project and then were required to stick with GPL. They build a whole new browser, and opened it up BSD so anyone can use the code however they want. How is that closed?

      Look what they're doing with Wave. They developed an entire protocol from the ground up. The protocol and all the server code is open. They could have tried to patent the protocol and charge for licensing. They're just releasing the whole thing and telling people to do whatever they want with it completely for free.

      What about protocols like SPDY they wrote from scratch and released for free? What about their various hardware designs for power supplies they've released for free? These are things that give them a competetive edge. If anything, most people would argue it hurts them to give them away for free, but still they do it. They rarely get credit for how many things they open up. And yet the very communities Google helps finance and take care of turn around and slam Google. Do you realize who your allies are in the FOSS world?

      You claim they're just as closed as Microsoft?

      Pure lies and trolling. Seriously, shut the hell up.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    16. Re:Google by ajs · · Score: 4, Insightful

      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?

    17. Re:Google by Enderandrew · · Score: 4, Interesting

      What people seem to overlook is that Google wrote Android on their dime, opened it up, and then handed it over to the Open Handset Alliance, which has companies like Nokia on the board. Google does not own and control Android. The Alliance does.

      And how is Android not open? The entire thing is FOSS.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    18. Re:Google by Temporal · · Score: 5, Informative

      Erm, no. While I don't consider Google to be a particularly charitable organization, they do regularly open source their products (though mostly minor ones, as you rightly pointed out) when there is no legal obligation on them to do so.

      The reason for that is perfectly clear, too: it strengthens the image of Google as both "geeky" and "open" tech company, which are both important parts of Google's public image.

      It's not just public image. There's also the fact that Google is a company full of geeks, many of whom are open source fans in their own right.

      I was primarily responsible for Google releasing Protocol Buffers. I did it not for the sake of improving my employer's public image, but because I thought it was a useful tool that should be shared, and those around me agreed. Because of the bottom-up nature of decision making at Google -- and given that I was willing to do the work -- I had no trouble pushing this through.

      So yeah, it's pretty upsetting to me to see people say things like "Google does only care about OSS when it suits them and drops out instantly when it doesn't.". This kind of statement completely misunderstands how Google even works. This just isn't the kind of company where orders comes down from executives on high with the only motive being profit -- anyone who thinks otherwise obviously doesn't work here.

      Honestly, I think the main reason we haven't released more stuff is because it's kind of a lot of work (as I have learned). Dumping code over a wall does not please the open source community -- you have to maintain it; document it; test it on a zillion platforms; answer e-mail from people who think they are not just entitled to your code, but are doing *you* a favor by using it; review patches from college kids who don't really know what they're doing; etc.

      (Oblig. disclaimer: These are my own personal opinions; I am not authorized to speak for my employer.)

    19. Re:Google by Enderandrew · · Score: 2, Insightful

      Please spend two minutes looking at Google.org.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    20. Re:Google by ajs · · Score: 4, Insightful

      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.

    21. Re:Google by Lunix+Nutcase · · Score: 2, Insightful

      But which hardly translate to Linux having "won that already" when their combined percentage is around 10%.

    22. Re:Google by MichaelSmith · · Score: 3, Informative

      Eh, trolling much? If you look outside US, Nokia is dominating. iPhone is nowhere as successful as it is in US. In top of that, Nokia holds patents (that they really deserve) over many technologies used with GSM, 3G and so on.

      And Nokia offers a real Linux phone, not just Android or locked-down iPhone shit.

      Well I live in Australia and the iPhone is very popular. Most people who want a smart phone will have an iPhone. Many older people who just want to make calls will have a $50 nokia. I use an openmoko, which is also a real Linux phone.

    23. Re:Google by Microlith · · Score: 5, Insightful

      And how is Android not open? The entire thing is FOSS.

      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.

    24. Re:Google by ducomputergeek · · Score: 3, Interesting

      Server room, depends. Desktop, BSD is still beating Linux (Thanks to Apple.) Where BSD has found a niche is in Network appliances such as routers and firewalls. FBSD still has a superior networking stack from what I've seen. I know we use pfSense around here and Monowall before that. We also deploy Juniper networking equipment and JunOS is based on FreeBSD.

      We actually deploy all our production servers on FreeBSD including our PostgreSQL and MySQL database servers. And they do so with rock solid realiability. The only time I can think of boxes crashing had to do with hardware failures. Including a couple boxes that were still running FBSD 6.x. We didn't bother taking them offline to upgrade until we replaced the hardware.

      --
      "The problem with socialism is eventually you run out of other people's money" - Thatcher.
    25. Re:Google by adamofgreyskull · · Score: 4, Funny

      Because of the bottom-up nature of decision making at Google

      (Oblig. disclaimer: These are my own personal opinions; I am not authorized to speak for my employer.)

      So just authorise yourself, right? ;)

    26. Re:Google by dangitman · · Score: 2, Funny

      Apparently Google employees have mod points today.

      Well, duh. Google employees always have mod-points. Where do you think slashdot gets them from in the first place?

      --
      ... and then they built the supercollider.
    27. Re:Google by Anonymous Coward · · Score: 3, Interesting

      Steve Jobs wasn't making some deep point about Google's manipulation of FOSS, he was just ranting about unfair competition (for 'unfair competition to Apple in the eyes of Steve Jobs' read 'Giant, friendly, happy-go-lucky Silicon Valley company treating design and user experience as important'). He may as well have just complained that Google won't share their toys.

      To be fair, there's a little more to it than that. Eric Schmidt, the CEO of said "giant, friendly, happy-go-lucky Silicon Valley company," was serving on Apple's Board of Directors while they were developing the iPhone. It's not hard to see why Steve Jobs might have taken it personally when he found out Schmidt's company also happened to be developing a touchscreen-based smartphone platform. The non-evil thing to do would have been for him to resign for the board as soon as it became clear Google would be competing with Apple, yet he stuck around until the secret was out.

    28. Re:Google by Temporal · · Score: 4, Informative

      But what comes to TFA, the guy was ready to work with Google to put those patches in the main Linux kernel

      I don't think the Android team would describe it that way. TFA doesn't really cover their side of the story. As is usually the case when two sides don't agree, the details are complicated. I'm not on Android so I'm not going to attempt to get into it, but they aren't particularly happy with the situation either.

    29. Re:Google by hannson · · Score: 4, Insightful

      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!

    30. Re:Google by Miamicanes · · Score: 3, Interesting

      > since yes, the desktop is going away,

      Oh pleaze. For all the buzz about "the desktop going away", the number of desktop computers seems to just keep growing. Homes that had one PC now have two. Or three. Individuals who had their own now have their own desktop PC and a laptop (or at least a netbook, which contrary to its name seems to end up spending at least as much "on" time doing stuff a few thousand feet above sea level, inside flying aluminum cylinders that are one of the last frontiers where internet access is still rare and expensive). Most of the people "making do" with a laptop as their only computer are people who formerly had no computer at all. The people who owned computers 15+ years ago won't give up their desktop until laptops routinely come with dual 24" displays and quad+core CPUs.

      Cloud computing is the new paperless office. As more than a few have observed over the years, the paperless office was officially welcomed 15 years ago, yet 21st-century offices still seem to somehow generate at least twice as much printed output per employee as they ever did in the dark ages. The main difference is that back then, the paper copies were carefully stored in file folders for future reference. Now, they're stored in the SAN, and four dozen copies get casually printed on demand so everyone can pretend to read them at the weekly status meeting & use them to scribble notes on before tossing them all in the big blue bin after lunch. I'm quite confident that when the day arrives that I have a hundred terrabytes of data stored "in the cloud", I'll have at least ten times as much physically present within my home.

      Desktops aren't going away anytime soon, any more than TVs with eight-foot screens are going to be displaced by personal media tablets. They might end up mutating into our own personal faux-clouds, perpetually connected to our PadPCs and phones, but at the end of the day, when you need to edit video (from the 25 years of videotapes you're still trying to digitize before they rot into grey digital goo), sort out 400,000 family photos digitized and captured over the years, do your taxes, and write cool software for your new phone to sell online for enough profit to buy a stale gumball from a vending machine, you're going to have one hell of a home PC that will make the most high-end PC available today look like a Commodore 64. With liquid nitrogen cooling to keep it from causing a mini fireball (it only throws off 10 watts of heat thanks to miniaturization & efficiency, but those 10 watts are concentrated in an area the size of a poppy seed).

    31. Re:Google by unfunk · · Score: 2, Informative

      As I said, the only groups being hurt by this are Google and those dumb enough to rely on Android for their future, anyone else with a brain will take a look at the competition and more open platforms.

      Newsflash: Consumers don't care about whether Google's playing nice with the Linux community or not.

    32. Re:Google by dangitman · · Score: 2, Interesting

      The point he was making is that WebKit (a rendering engine, NOT a browser)

      How can you have a browser without a rendering engine? What would be the point?

      Unlike Apple (for example), who took the BSD licensed WebKit, did significantly less with it when they built Safari, and kept the result locked up.

      What? WebKit is LGPL licensed, not BSD licensed. And it wasn't called WebKit when Apple started using it, it was called KHTML. WebKit is Apple's name for their fork of the KHTML project. And Apple didn't "do significantly less with it" - they basically made the whole thing over, and turned a rendering engine that was going nowhere and not used very widely into a modern, high performance and widely adopted engine.

      WebKit is far more significant than Chromium, which is little more than a GUI wrapper round WebKit.

      --
      ... and then they built the supercollider.
    33. Re:Google by Anonymous Coward · · Score: 2, Interesting

      Point 2) The Common Android Kernel tree [kernel.org] 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.

      If you read TFA (sacrilege I know), you learn that the problem is that the changes need to be made both in the Android kernel code and correspondingly in the Android userland, and only Google can change the latter.

    34. Re:Google by oztiks · · Score: 2, Interesting

      You know, this might explain the giant hole between the original release of iPhone and the release of Android.

      Apple created the SmartPhone market place and can carry the "I was here first badge". Of course we had other SmartPhones prior to this but the market was fairly restricted to business use not really domestic (everyone one from 16yr old kids to 70+ year old retirees use iPhone).

      And I'll say it again, hoping i wont get marked a troll for stating a true but negative POV, but Google I believe missed the SmartPhone rush. Just like Apple missed the Personal Computer rush way back when.

      A phrase from the movie Pirates of Silicon Valley -

      Jobs: "Mines Better!"
      Gates: "It doesn't matter."

      And i think this is the case again, maybe too early to tell but i just see so much development being done for iPhone specific apps and websites these days i find it difficult to believe Google will get the same attention so easily.

      VHS vs Beta, MS vs Mac, Guitar Hero vs Rock Band, iPhone vs Andriod

    35. Re:Google by TheRaven64 · · Score: 2, Insightful

      Chromium didn't have to be open sourced, only their changes to WebKit did. Apple keeps Safari proprietary while using WebKit quite easily. It's also worth noting that Chromium is released under a more permissive license than WebKit.

      --
      I am TheRaven on Soylent News
    36. Re:Google by salesgeek · · Score: 2, Informative

      Wrong. Let's not act like a product category that had been around for 10 years prior to iPhone was suddenly created by Apple. Apple did not create the smart phone. They did not even define the product:

      Palm, Blackberry and Microsoft (to a lesser extent) defined the product. Apple came out with the best model in the 2008 model year. That is the extent of the achievement, and to give Apple more credit is simply an insult to the people that created iconic products like the Blackberry, Treo and to a lesser degree WinMo smartphones that defined the platform that Apple added incremental improvements to.

      It is telling that even my lowly G-1 has more features than the same generation iPhone (keyboard, removable battery, 3G, removable memory, metal detector, etc...).

      Finally, Android has *already won the war* with Apple. It's pretty much exactly like Mac vs. PC in the early 90s. Developers who pass on Android for iPhone will be seen as shortsighted by the end of this year as marketshare expands.

      --
      -- $G
    37. Re:Google by Miamicanes · · Score: 2, Interesting

      > And how is Android not open? The entire thing is FOSS

      (cringes, wrings hands for a while, coughs a bit, then sighs)

      "Android" might be "open", but people fighting on the Android front lines and trying to run open builds without the blessing of HTC and their carrier might politely beg to differ. To date, nobody has been able to independently build a fully working 2.6.29 kernel for ANY CDMA Hero phone that shipped with Android 1.5 (Sprint Hero, Sprint Samsung Moment, Verizon Droid Eris). Without a 2.6.29 kernel, major parts of Android 2.x won't work properly. Work is underway, but the fact is, right now... today... my Sprint Hero is running a hacked-up build that can be described as a liquefied Cupcake injected into the clay mock-up of an Eclair facade. And I'm "lucky" -- my other CDMA Android 1.5-shackled brethren can't even do *that*.

      Right now, the cruel reality is that people who buy many Android phones are kind of like consumers who bought a very, very proprietary Packard Bell or HP computer in the mid/late-90s. If the manufacturer didn't feel like supporting Windows NT or Linux, you were basically screwed. You couldn't just download OEM drivers, because they didn't exist -- the company who sold the computer WAS the OEM. Open-source drivers didn't exist, because the hardware itself was built around proprietary ASICs designed for that specific manufacturer.

      OK, let me make the analogy a little better: it's 2000, and you need to buy a new laptop. Your ISP allows you to choose between exactly two laptops, both sold only by the ISP itself with a 2-year contract that has a substantial penalty for early termination. Your ISP personally knows the MAC address of the network interface for every computer it sells, and refuses to accept network traffic from any network interface whose MAC address isn't in its holy database. It's not necessarily *impossible* to spoof an official MAC address with an unapproved laptop, but it happens to be a major federal offense that can be prosecuted as an act of terrorism, narcotics distribution, or organized crime. The laptops are only available with an old, obsolete distro of Linux that's proprietary to the laptop's manufacturer, and the hardware drivers are all compiled straight into the kernel (which happens to be 2.2, even though 2.4 has been considered mature enough to use for at least the past 6 months). Oh, the source? You won't see it until 4-6 months after you buy the laptop -- if you're lucky -- and the code for the proprietary hardware will be obfuscated & devoid of comments.

      Welcome to the brave new world of Americans who buy Android phones in 2010, where "open" phones have to be hacked & rooted to allow upgrades, and it's easier to upgrade an old phone to a newer version of Windows Mobile than it is to upgrade a 4 month old Android phone to a newer version of Android.

  2. One sentence to say it all... by Jorl17 · · Score: 5, Insightful

    "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?
    1. Re:One sentence to say it all... by godrik · · Score: 2, Insightful

      I don't think he is seeing this as a conspiracy against linux. He is just saying that some work may have to be done twice (because merging is not feasible) which is really bad for everybody. no one wants to maintain 2 code base.

    2. Re:One sentence to say it all... by Anonymous Coward · · Score: 2, Insightful

      So then maybe they shouldn't have kicked the android code out of mainline in the first place?

    3. Re:One sentence to say it all... by Jorl17 · · Score: 2, Interesting

      Well, I didn't say he meant that either. I'm talking about the great fuzz around these issues. Everywhere I go there's someone trying to give his/her side of the "conspiracy against Linux", whereas I think that there is no such thing. So what if it can't be merged back? If it can't, it can't -- get something better and don't stay up all night banging the ceiling and complaining (if you get what I mean).
      I would like to see people looking at what Google did and say: "Oh well, it's their choice and I can't do anything about it. However, I can help the Linux kernel with something better and more useful than that will ever be."

      Unfortunately, few people think like me...am I just nuts?

      --
      Have you heard about SoylentNews?
    4. Re:One sentence to say it all... by Lumpy · · Score: 4, Interesting

      Nothing is stopping people from porting android to use a standard Linux kernel.

      Honestly It's a two way street, and I doubt that google looked at the Linux guys and told them to go fornicate with themselves.

      Google does releases on their own schedule. Being someone that is deep into Android guts on the x86 level for a project of my own (android based car stereo) I am frustrated at them not releasing the latest version, but I can either sit and while like a baby, or take what I got and build on it.

      --
      Do not look at laser with remaining good eye.
    5. Re:One sentence to say it all... by gstoddart · · Score: 3, Insightful

      So then maybe they shouldn't have kicked the android code out of mainline in the first place?

      If it created code dependencies that nobody buy Google could compile against, it's got no business in the mainline -- it effectively breaks the kernel for everyone else.

      This isn't a matter of getting voted off the island because they don't like your features -- it's about making something which was incompatible and people deciding that it had to go.

      --
      Lost at C:>. Found at C.
    6. Re:One sentence to say it all... by advocate_one · · Score: 3, Informative

      So then maybe they shouldn't have kicked the android code out of mainline in the first place?

      it never made it out of staging into mainline... it wouldn't build as there were items Google never released that it was dependent upon.

      --
      Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
    7. Re:One sentence to say it all... by Lumpy · · Score: 3, Informative

      And what for the interface? Android is at least 9000 years ahead of anything else for a limited attention easy to use touchscreen interface. Plus I get a pile of apps ready to go including navigation.

      --
      Do not look at laser with remaining good eye.
    8. Re:One sentence to say it all... by minsk · · Score: 5, Informative

      it wouldn't build as there were items Google never released that it was dependent upon.

      Are you sure that statement is true? It seems inconsistent with other information posted here, and in the LWN discussion.

    9. Re:One sentence to say it all... by jeremyp · · Score: 2, Informative

      How is this +5 informative? It's completely false.

      The reason it didn't make it to mainline is because the Google code was reviewed and found to have problems that stopped it being accepted into mainline. Because there are user space items in Android that would be affected, only Google could make the changes without breaking Android.

      Think about it, if you were unable to build the Android kernel because Google were withholding stuff, it would be in direct violation of GPL v2. Do you see Greg KH complaining that Android violates the Linux licence? No.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    10. Re:One sentence to say it all... by TheRaven64 · · Score: 2, Interesting

      Does that mean Android handles OOM conditions gracefully? I've only seen one OS that does it well[1], but the Linux behaviour in these conditions is the absolute worst (pick a process at random, typically the one with the most unsaved data, kill it). This is one of the biggest problems I saw with Maemo. Run low on memory, and suddenly apps die. Make sure you save regularly, because there's only a small chance it will be the web browser that is killed and not the editor that you were writing in...

      [1] Recent OS X suspends processes that try to allocate when memory is full, reserves a small amount of memory for root, and lets you quit apps to free up memory or delete some files to make some space available for swap. Processes can also set a flag indicating that they have no unsaved data. When this is set, the system can kill them at any point to reclaim their resources and restart them later.

      --
      I am TheRaven on Soylent News
  3. up merge justification has to be Android-agnostic by Rene+S.+Hollan · · Score: 4, Interesting

    You don't merge new features into a robust low-level code base.

    You merge support for abstractions the new features rely upon into the low-level code base, and build on them.

    Make a case for kernel support of the "new lock" and "security model" independent of Android's reliance on it, and remove as many of the Android drivers using these facilities OUT of the main tree. IMHO, drivers really don't belong there, but should be available in "driver package sets" aggregated by distro providers.

    --
    In Liberty, Rene
  4. not quite... by RingDev · · Score: 4, Insightful

    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
    1. Re:not quite... by SanityInAnarchy · · Score: 2, Insightful

      Nice summary.

      I'd like to add: Developers, developers, developers, developers. Google should spend that money. Consider it an investment in your platform -- it makes it that much more attractive to other developers.

      --
      Don't thank God, thank a doctor!
  5. Google has just TIVO-ized the kernel by tomhudson · · Score: 2, Interesting

    You can use Android, but you're now dependent on Google for maintenance, bug-fixes, and trusting that they don't include any evil bits.

    1. Re:Google has just TIVO-ized the kernel by AndrewNeo · · Score: 2, Informative

      Hardly. Nobody's forcing you to run their binaries on your phone. You can still compile the kernel and other applications from code, forked or not.

    2. Re:Google has just TIVO-ized the kernel by Enderandrew · · Score: 2, Interesting

      You do realize that Google does not own nor control Android, right?

      Google handed Android over to the Open Handset Alliance the moment they unveiled it. There are several large companies (like Nokia and Motorolla) who take part in that alliance.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  6. Re:Anonymous Coward by gstoddart · · Score: 2, Funny

    Y'a quelqu'un qui comprends ce que Anonymous Coward a écrit? Moi je n'y comprends rien.

    Courtesy of the google translator ...

    As they say in Tuscany, as the gay guy UnitedStatesOfNorthAmerica.

    There was to be expected.
    Good night America.

    Still no idea what it meant. :-P

    --
    Lost at C:>. Found at C.
  7. Lots of comments on LWN.net's coverage by chrisd · · Score: 5, Informative

    If you head over to LWN, we've already gone back and forth on this a bit. http://lwn.net/Articles/372419/. The short form is that if they don't like how we use the kernel, we're unlikely to be accepted upstream. It's all still released as source code to the world, but the mainline is not interested in most of what we've with to the kernel.

    --
    Co-Editor, Open Sources
    Open Source Program Manager, Google, Inc.
    1. Re:Lots of comments on LWN.net's coverage by Anonymous Coward · · Score: 4, Interesting

      That's completely disingenuous. Everyone agrees that the problems Android needs to solve should be solved. The kernel community simply disagrees with *how* Google solved the problems. Long ago Google could have asked "we need to optimize power usage by doing agressive suspend" and then worked with the kernel community to get a solution that everyone was happy with.

      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.

      It's not about "how we use the kernel", it's about how you coded things in isolation then expect everyone to be ecstatic with the result despite the fact that the gatekeepers never had any input into the design.

    2. Re:Lots of comments on LWN.net's coverage by Hurricane78 · · Score: 2, Interesting

      Even if the floor is less round? (Not saying this is the case here. Just pointing out, that ideals can change. Einstein said it best: “Leaving research exclusively in the hands of engineers, we would have perfectly functioning oil lamps, but no electricity.”)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    3. Re:Lots of comments on LWN.net's coverage by Flavio · · Score: 4, Insightful

      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.

    4. Re:Lots of comments on LWN.net's coverage by diegocg · · Score: 2, Insightful

      Which is perfectly fine, but it shows the autism in the google culture when it comes to working with people from outside. There're many companies working on Linux (doing more serious hacking than Android does), and they have learnt to interact with the Linux community when they want to add a feature. They ask maintainers what design they should follow to implement some feature. They listen, they write code, they get reviews, they make changes, they repost the patches. In other words, they interact with the community, they are a part of the community. SGI, for example, has done a tremendous amount of work in the past years to get the kernel in shape for their beasts with thousands of CPUs, they have touched a lot of complex core code, yet they did all contributing with the community, targetting the main kernel in first place.

      Google, in the other hand, is not a "part" of the community. It hacks the kernel for months without any contact outside of Google, some day it announces a future product using the code and only after that, it drops a shitload of code to the community which does very weird things that many Linux hackers don't like. Then it does nothing to improve the design (because there's already production code depending on it), and it makes zero efforts to fix it or get it merged. Then it claims that everything is fine, because the code is GPL which means you can reuse it. In other words: Google doesn't care about what the rest of the community thinks before modifying the code, and it doesn't care when it releases either.

      Given that Android is supposed to be not just a Google project but a community, and Google is a opensource oriented company, one would expect that Google would have done it better. Sadly, Android has become one of the best examples of how not to work in a opensource community,

    5. Re:Lots of comments on LWN.net's coverage by WarlockD · · Score: 3, Interesting

      I think thats the whole issue here. Why does Goggle have to do any work to get "accepted" into the main kernel anyway?

      The android is an embedded device that works with a small subset of chips sets and devices. Why does it have to be in the main kernel to begin with? Is somone going to be shoving a PCI card in that thing? Heck, why does Google have to spend the weeks/months talking back and forth with the developers when they can get their own solution, that works just as well for them, in half the time?

      Talking about "giving back to the community" is all well and good, but I don't expect Google to sacrifice their profitability or deadlines just to make some members of the community happy.

      Lets be honest here though, all the code is in GPL so whats stopping someone else from doing the work?

    6. Re:Lots of comments on LWN.net's coverage by Anonymous Coward · · Score: 2, Insightful

      No one except Red Hat, IBM, Oracle, Sun, and thousands of embedded hardware manufacturers the world over. Other than that, though, NO ONE!

    7. Re:Lots of comments on LWN.net's coverage by Anonymous Coward · · Score: 2, Interesting

      The kernel community simply disagrees with *how* Google solved the problems. Long ago Google could have asked "we need to optimize power usage by doing agressive suspend" and then worked with the kernel community to get a solution that everyone was happy with.

      Unfortunately, this is Google's standard operating procedure. Don't get me wrong, I like Google and enjoy tinkering with Android, but its far from perfect. And don't make suggestions to the core developers as some are more than happy to give you the middle finger for simply not bowing to their brilliance. Some of them are pretty good, but some are brilliant at being assholes. I mean, look at some of their widgets. Eeek! Its as if the people who wrote some of the widgets had never actually used UI widgets before. Saw someone politely make suggestion and the Google engineer rudely ignored them after telling them they were wrong.

      Should double clicking of a button, which opens a new window, result in two new windows being opened? No. Shouldn't widgets maintain state? Yes. According to Google's they do yet cancel doesn't actually cancel despite the fact they've already notified the user of the change. Its up to applications to actually track state and cancel it. So on and so on. If a widget's cancel doesn't actually cancel, I don't believe that qualifies as stateful.

      Despite Google's assurances everything they do is better than anything you could ever do, sadly the truth is nowhere near. Google very much has a problem with not invented here and in some cases, a complete lack of consultation with people who actually know what the hell is going on. As a result, some things Google does are just truly horrific, lacking any clue, forcing developers to add lots of code to work around their huge ego and seemingly lack of real world experience.

      I'm posting anonymously because some of the Google engineers also hold petty grudges.

    8. Re:Lots of comments on LWN.net's coverage by Rene+S.+Hollan · · Score: 5, Informative

      Okay. I got off my ass and actually looked at waitlock. It isn't, as I thought, a lock with a restoration of execution context when held, so that one can temporarily surrender other locks, and reacquire them. It is a lock on keeping the system out of various low-power states.

      Mainline has an (arguably, according to Google-folk, inefficient), lock on guaranteed service latency (low, medium, high?). and Google wants a lock on specific activity level abstractions (idle, suspend, etc.). Did I get that right?

      Well, if the present implementation is inefficient (a linear search...), fix that: use an AA-tree or heap, or something.

      I suspect the latency time guarantees are coarse at best and probably map to specific power states (idle, suspend, etc.) anyway. I think BOTH models should be supported (heck, you could always map levels to latencies in some tunable fashion, if you had to fake it: "responsiveness SUSPEND" vs. "hardware SUSPEND") but only because there are already standard abstract notions of what IDLE, SUSPEND, and POWEROFF are.

      What may have happened is that the existing implementation was inefficient, not quite fitting the expected model, and Google-folk found it faster to roll their own driven by time-pressure, instead of reworking the existing inefficiencies, thinking "heck, we can layer our API over the existing implementation later" and finding the models are more different than thought.

      Reconciling that is called "refactoring" and sometimes it breaks APIs as much as one does not want it to.

      Now, who has a vested interest in doing that?

      Google? Not really. They figure they can handle the overhead of a kernel fork, at least for a while.

      Mainline kernel devs? No. The existing model "works".

      I'll tell you who: Google's downstream customers. One of them will do it.

      --
      In Liberty, Rene
    9. Re:Lots of comments on LWN.net's coverage by The+End+Of+Days · · Score: 2, Insightful

      It's like Einstein said, "I didn't say half the shit people think I did."

    10. Re:Lots of comments on LWN.net's coverage by swillden · · Score: 4, Insightful

      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.
    11. Re:Lots of comments on LWN.net's coverage by Eunuchswear · · Score: 2, Informative

      Might be rather hard to "clean up". Back in 2008 Mathew Garret wrote:

      Google was going to be an interesting case of a large company hiring people both from the embedded world and also the existing Linux development community and then producing an embedded device that was intended to compete with the very best existing platforms. I had high hopes that this combination of factors would result in the Linux community as a whole having a better idea what the constraints and requirements for high-quality power management in the embedded world were, rather than us ending up with another pile of vendor code sitting on an FTP site somewhere in Taiwan that implements its power management by passing tokenised dead mice through a wormhole.

      To a certain extent, my hopes were fulfilled. We got a git server in California.

      --
      Watch this Heartland Institute video
  8. No, I don't think so by Concern · · Score: 5, Interesting

    Google has frankly set a new standard as far as how companies can become very successful by embracing the open and free software communities. I honestly don't think you can point to many other companies that are doing better, nor could you realistically expect to. In the mobile space, pretty much the next nearest competitor in terms of openness is Apple (Darwin, et al) - in other words, a joke. Meanwhile Google not only has a wonderfully organized system for playing with all the Android code, but a broad commitment across products. Look at Wave, for instance - wide, wide open, and very deliberately (because they know it cannot succeed any other way). Google has probably done more for Linux and its credibility than most other companies in the world.

    I think this is something totally different - a disagreement about direction between the mainline maintainers and Google's Android team. Corporate developers, even well-intentioned ones, have a conceptual hurdle to get over when someone Not Their Manager is telling them "you must spend x man-months refactoring your code thusly."

    Many, many companies have run into this issue with Linux (and other projects) before, and many will again. It usually goes something like this:

    Step 1: Whatever. We're Google. Am I going to rearrange my whole development roadmap to follow the directions of some whiny nerd in his mom's basement? LOL.
    Step 2: Oh. Crap. Wow it is kind of a lot work maintaining my own entire fork of the Linux kernel/KHTML/etc. all by myself.
    Step 3: Either A) capitulation - the last guy is fired or smacked with the clue stick, and the cooperation restarts, or B) a true fork. These usually stagnate and die, and are also riddled with bugs and security holes btw... unless, the fork is really more interesting than what it forked from, in which case, the community switches to the fork and justice is served.

    Often between Step 1 and 2, the maintainer will attempt to play a little corporate politics by embarrassing said middle manager in the media. By the way, this is pretty smart and it often works - especially with companies as large but otherwise savvy as Google, a slashdot story can jumpstart efforts to mend the rift by bringing more senior eyes on the problem. Cooperating is in everyone's interest, and they will realize it.

    --
    Tired of Political Trolls? Opt Out!
  9. Wait, I take it back by Concern · · Score: 2, Insightful

    Somehow I managed to forget Nokia for being more open than Apple - and arguably - Google. I guess because so few people use, or will likely ever use, their smartphones. :)

    --
    Tired of Political Trolls? Opt Out!
    1. Re:Wait, I take it back by Concern · · Score: 3, Insightful

      I can't find anything yet that actually gives N900 or Maemo sales figures. Your link does not - I am all ears if you have something. Something tells me that Nokia isn't anywhere remotely near selling 21 million devices truly comparable to iphone or android in Q4. "Converged mobile device volumes" is very carefully worded and my guess, careful weasel wording is the only way the can come up with a number so impressive-sounding.

      Apple has only shipped 75 million iphone and ipod touch devices combined worldwide, and something like 8.7 million iphones in Q4. So if Nokia "true" smartphones were outselling Apple smartphones by such a margin, in any way shape or form, I think that would be bigger news, no?

      I think this confusion comes from Nokia labelling any $50 gadet of theirs with a dime-store web browser and a music player as a "converged mobile device." But even in this case I should have qualified my remarks as referring to smartphones, rather than just "mobile."

      --
      Tired of Political Trolls? Opt Out!
  10. Technical aspects by shutdown+-p+now · · Score: 5, Informative

    "OMG fork!" and other political issues aside, I think it's interesting to look at the technical side of the problem. What is the exact nature of Google's changes to the kernel, why did they feel they need them, and are they actually a good idea or not? Can someone with kernel hacking experience enlighten us?

    I'm particularly curious after reading the comments on LWN, and specifically this:

    Kernel developers (including other embedded developers who have achieved good power savings modes) don't believe that the Android way of doing things is good.

    and this:

    The code could be mainlined if Google were willing to consider that their wakelock approach was suboptimal and adapt to a more reasonable one. ...

    The wakelock patches were first posted to the linux-pm list on the 13th of January 2009, which is just over a year ago. http://lwn.net/Articles/318611/ gives a good overview of how they were received - there's basically no buy in, even from other developers in the embedded Linux field. ...

    the major sticking point (ie, wakelocks) were posted for public review a year ago and most of the substantive issues people had with them weren't addressed at all in the four months of intermittent discussion that followed. If the entire world suggests that you do something in some other way and you refuse to, that doesn't constitute a genuine effort to work with them. Nokia have managed to obtain the same level of power management without such invasive changes, so any assertion that wakelocks are required for Android to achieve its goals seem pretty baseless.

    So apparently the issue at the heart of this is a questionable design decision by Google.

    1. Re:Technical aspects by mjg59 · · Score: 5, Informative

      Some background on this:

      Android is written to automatically attempt to enter a sleep state whenever possible. So, for instance, when your phone is in your pocket the hardware is suspended. You get an incoming call. You pick up a phone and press a button. The button press fully wakes up the phone. What stops the phone from suspending again?
      Wakelocks are Google's solution to this. Pressing the button takes a named wakelock. While any wakelocks are held, the phone will not go back to sleep. Once the call is complete, userspace can release the wakelock and the phone will suspend again.

      The problem here is that your wakelocks are tied to your userspace. Userspace needs to know which wakelocks the kernel takes in order to be able to release them. Which wakelocks you want will depend on how your platform is designed. Google have implemented the wakelocks they need to solve the problems they face - other vendors may wish to use different wakelocks. The end result is that you end up with a kernel that can only usefully run with a specific userland, and userland modifications require kernel modifications. It's broadly like saying that it'd be fine for some kernel drivers to require gnome and some others to require KDE.

      What's depressing about this is that it's an entirely unnecessary approach. You don't need the system to fully suspend. Modern ARM hardware supports something generally referred to as retention mode, which is where the hardware enters a power state equivalent to suspend without actually performing a full state transition. Rather than explicitly suspending, if there are no tasks to run then the kernel idle routine will put the CPU into this state. When a task is scheduled to run (either because of a timer or in response to an event), it runs.

      The stated objection to this is that applications can't be trusted to behave themselves. If I write an Android application that repaints itself by sleeping for a frame and then drawing, that'll keep waking up the CPU. In the wakelock scenario, the system isn't running and so this isn't a problem. In the retention scenario, it'll keep getting scheduled and battery life will suffer.

      There's two easy solutions to this. The first is to use the range timer functionality in the kernel. This allows applications to say "I want to sleep for about a second, and can afford this much inaccuracy". The kernel uses this to attempt to merge wakeups - if an application sleeps for a second and a millisecond later another application does the same, they can both be woken up at once rather than causing two wakeups. But we can also take this to more extreme lengths, for instance by changing the accuracy value to a millennium when the screen is turned off. The application won't get scheduled again until we receive a "wakeup" event and set the timers back. The second approach is even simpler - just SIGSTOP all non-system tasks when we'd otherwise release the wakelocks.

      So I wouldn't frame this as refusing to meet Google halfway. People have tried to come up with solutions that would meet the usecases that Google want to deal with and which don't end up forcing people to tie their kernel to their userland. Nokia achieve comparable power consumption without any of the wakelock infrastructure, so it's clearly not a requirement in order to hit these targets. What would you expect a meeting halfway solution to look like?

    2. Re:Technical aspects by GooberToo · · Score: 5, Informative

      I love how they blast Google for not being willing to meet halfway, but they're doing exactly the same thing.

      It doesn't appear that's the case. It seems Google coded a bunch stuff without consulting other, more knowledgeable kernel developers. Google then announces what they've done and throw it over the wall. The feedback is the design stinks and is very fragile. They also ask why Google didn't leverage the existing infrastructure which is already working, and which seems to have been in place long before Google started, which addresses their very issue. Nokia via their Linux/OMAP ARM efforts don't seem to have trouble using the existing infrastructure.

      Google responds by saying the existing infrastructure isn't a complete solution for their needs. The kernel guys ask why Google didn't simply update the existing code to address their specific needs rather than add poorly conceived new code/interfaces. Even the Linux/Nokia guys step forward and state the existing infrastructure is plenty useful and powerful and is easily able to address Google's need with only minor changes. Furthermore, the general consensus is that the required changes can be made such that its fully compatible with their userspace applications.

      Google response? Who gives a shit?!?!? We don't need it upstream. Let everyone else fend for themselves. We don't care if it ads bloat and is unusable for anyone else.

      Now the kernel guys are left with unmaintained code, which nobody wants, which exists only to add bloat to the kernel, which benefits nobody but Google. Seems to me, Google doesn't care to meet in the middle and they've made it very clear its Google's way or no way. And as result, Android's kernel is more bloated because of it. Seems like a lose-lose for everybody while highlighting just how huge Google's ego can be.

    3. Re:Technical aspects by Anonymous Coward · · Score: 5, Interesting

      I'm commenting anonymously because I'm closely involved with Android. I'm not going to comment on whether wakelocks are good or bad.

      But mjg59's comment about ARM retention state being as good as suspend is blatantly wrong at a SoC level. There are several good reasons why a suspend details is better than retention but I can't go into the details due to NDAs. But I can vouch that I have personally seen power usage shoot up on well known Android phones when suspend is disabled and only retention is done.

      So, mjg59, I would kindly request that you stop making such claims. I doubt you have worked on embedded devices -- I believe you work on server level stuff -- but you most certainly haven't worked extensively on the SoCs being used on Android phones.

      Just to make my stance clear, I'm all for having the Android kernel merged into mainline.

    4. Re:Technical aspects by mjg59 · · Score: 3, Interesting

      Firstly, thanks for posting this. It's the kind of thing that we never really got out of previous discussion on the topic, which makes it much harder to make reasonable technical decisions.

      Secondly, your results are interesting. I'd be fascinated to know whether they're due to the implicit differences between retention and suspend (ie, transitioning to full suspend stops processes that would otherwise be generating wakeups while retention doesn't, or cuts power planes that should otherwise be powered down manually) or because of fundamental silicon level issues. On the other hand, I don't think it fundamentally matters. We have an rtc that's capable of generating wakeup events, so it's acceptable for the lowest level runtime idle state to be system suspend with the rtc set for the next scheduler tick. Just make sure that the latency values are set correctly and it ought to work fine with the existing cpuidle code.

    5. Re:Technical aspects by pslam · · Score: 5, Interesting

      So, mjg59, I would kindly request that you stop making such claims. I doubt you have worked on embedded devices -- I believe you work on server level stuff -- but you most certainly haven't worked extensively on the SoCs being used on Android phones.

      I have worked on embedded devices - Linux based and others - for over a decade, and mjg59 is right. If you need something as brutal as hard suspend mode, you're doing it wrong. Any serious low power optimized ARM SoC can run down to very low current when idle, and has peripherals which can be individually clocked down and/or gated. I did work in a periphery way on the G1 at Google, and was very surprised at the way power gating was done. Put simply: the only other embedded OS in the same class as Android which does power gating like this is Windows Mobile. Everyone else learned it was unnecessary a long time ago. I was fairly shocked how few engineers had ever done serious embedded work before, and the result shows.

      I know the Qualcomm parts have horrendously stupid design decisions in them which prevent decent idle current, but it's a wash compared to the other sources of battery drain. It's also a wash compared to the damage it does to your code design to support full suspend as part of normal per-second operation.

      The Linux maintainers are right: Android is just doing it the wrong way. If there's any one feature I think Android could have done without, it's wake-locks. Learn how to use fine-grained clock switching and gating, not brutally-coarse-grained suspend. This isn't a bloody laptop. And no, I'm not saying this as a back seat driver: I really have done this kind of crap for a decade.

  11. Option B by zogger · · Score: 2, Interesting

    Has there ever really been a serious option B effort to just pick a time and do a major kernel fork and maintain it forever by any company as large as google, with their level of developers and resources/cash behind them? Any precedent there?

  12. Android is open source so does it really matter? by thetoadwarrior · · Score: 2, Insightful

    I suspect this isn't clear cut and there is more than a little "Google is too big we must hate them now" attitude. The fact is Android is open source and anyone can take their code do what they want with it just as Google can take any other open source code and do what they want with it.

    That's the point of open source code. Claiming something is open and all about freedom and then trying force everyone into doing what you think should be done is neither really free or open.

  13. Yes, Redhat by Concern · · Score: 4, Interesting

    "Redhat Enterprise Linux 5" is essentially a massive kernel fork at 2.6.18. Redhat is the most plausible contender for doing this, since they employ a really significant number of the world's kernel devs, including Alan Cox (until last year). That split was even acrimonious at times IIRC. But then again, you can just call it similar to Canonical's LTS - people choose whether to go with a version of something that's more or less mature - and most distros going with the "more mature" option frequently cheat and backport all kinds of things in the meantime (with greater and lesser success).

    Depending on who you ask, RHEL can be more risky than mainline. I've definitely had RHEL panics take down production, only to later discover linux kernel bugs that had been fixed in mainline for a while, but that redhat hadn't backported to their ancient linux fork. But then again, people get burned going the other way all the time too. I don't know if anyone's really independently studied what's ultimately safest. My guess is that you are usually safest inside the biggest crowd - i.e. closer to mainline - but not too near the very latest version.

    --
    Tired of Political Trolls? Opt Out!
  14. In summary... by rickb928 · · Score: 2, Informative

    Google has silently forked the kernel. There is an 'Android' kernel, and the mainline kernel

    Is this the first time this has happened?

    Will it matter?

    Apparently, this is reasonably well understood.

    I, for one, welcome our Android kernel overlords. My phone doesn't need server optimizations.

    --
    deleting the extra space after periods so i can stay relevant, yeah.
    1. Re:In summary... by rickb928 · · Score: 2, Interesting

      Example?

      N900? Heavily marketed as something a lot like the G1. Usually as a 'Mobile Internet Device and Smartphone'. I interpret that as an even more general-purpose mobile platform. They chose (probably because they started before Android was) to not use Android, the alternative was, um, Linux. And I see them not going to Android, I think they mistrust Google even more.

      This is an area where there is disagreement. But phones DO have different needs. Obviously. Nokia accomodated those within the mainline (?) kernel. Google drove Android in a very different direction.

      Let's not get into the Maemo thing. It's just a little different, not quite as much as Android.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
  15. Re:up merge justification has to be Android-agnost by SchroedingersCat · · Score: 3, Insightful

    Kernel development isn't driven by the product needs but by egos people maintaining it. In that sense it is no different to any closed source kernel. The only option to get things done quickly is to fork it and then hope to get it merged later. Linus isn't exactly known as "accommodating" and "reaching out" individual and merging code upstream isn't exactly a priority on Google product schedule so there.

  16. The simple solution by symbolset · · Score: 4, Interesting

    I'm hiding the easy answer here deep in the thread under your question.

    Google has Android slates (tablet format ARM-powered machines). If Google took 1000 of them ($400K worth) and just gave them to select Kernel developers (several each) to do with what they would, the problem would solve itself. The Kernel developers would adapt their preferred distro to work on the first slate they had, and they'd keep the rest to work as they were intended until it limited them - and then they'd want to break the limit by improving the Android code, which they would then want back in the Kernel tree because they would want their improvements to persist. It's all about motivation, and you motivate a Kernel geek with cool tech he wants to continue to use.

    HP did this. Why do you think Kernel.org runs on HP servers and has for many years? It's because HP donates servers strategically, and yields huge benefits therefrom.

    --
    Help stamp out iliturcy.
  17. Re:up merge justification has to be Android-agnost by kscguru · · Score: 2, Insightful

    And to a lot of people outside the Linux kernel development community, that "stable API nonsense" document is such a blindingly wrong example of software design that advocating it would get you shown the door in a job interview.

    The "nonsense" docuemnt assumes that the purpose of all drivers is to converge to a single less-buggy ideal; this is true for a hardware driver where the hardware is frozen when it goes out the door. This is blatantly untrue for software drivers (e.g. 3d graphics, virtualization) where the interface between the driver and other (non-kernel) software changes far more rapidly than the interface between the driver and the kernel (and especially for 3d graphics, where the driver contains an entire thread stack, JIT compiler, etc.).

    Good programmers will tell you that the driver belongs next to the component to which it is more tightly bound by a rapidly-changing API. Linux programmers will tell you the driver belongs in the Linux kernel so LKML can keep it up-to-date with changes to the mostly-unchanging kernel/driver API (and you can only make changes to the more-rapidly-changing driver/userlevel API during the merge window every three months). And to an extent Linux programmers are right - in an ideal world, the driver should be refactored until the driver/userlevel API is not so rapidly changing, at which point the driver should indeed live in the kernel. It's very easy for a Linux programmer to demand such ideal code as the cost of merging it into the kernel; it's much harder to take a "good enough" system and achieve such a high level of perfection, especially when merely achieving "good enough" is a target that moves fast enough to consume almost all of a programmer's time.

    The two camps will never see eye-to-eye; both are completely convinced that they are correct.

    --

    A witty [sig] proves nothing. --Voltaire