In the past, I've spent a fair bit of time criticizing Google for calling Android "open source", but not releasing the source. Now that it appears that they are actually doing it, let me be the first to say that this is great.
What people criticized about them was the delay of an open source release to sustain their business strategy (commoditize their products' complements via open source but keep a integrated experience by proprietary early-access agreements - see also http://www.joelonsoftware.com/articles/StrategyLetterV.html ).
This release doesn't change Google's strategy nor the fact that they will continue to release Android's source code in the future with a significant delay compared to early-access partners. There's no reason to congratulate them now nor complain louder some months from now, they'll continue to do what makes sense for them from a business standpoint. The only news are the yet-to-be-discovered jewels in the just-released source code.
> This release doesn't change Google's strategy nor the
> fact that they will continue to release Android's source
> code in the future with a significant delay compared to
> early-access partners.
As of today there is not a single phone on the market that runs Android 4.0. Besides, open-source does not mean open-development. They have every right to release the code to whomever they want, whenever they want. And because they release the source to most (as of now, 3/4) major releases, that absolutely counts as "open source."
Besides, open-source does not mean open-development.
Google has done a lot to confuse this by referring to everything as just "open". They were still calling Android open even when it didn't meet Andy Rubin's own tweeted 'definition of open'.
"open" is an overloaded term that doesn't mean anything nowadays. "open source" on the other hand has a clear definition and Android definitely fits that definition.
Even yesterday, when Android 3/4 was not available as open-source, Android 2.2 and 2.3 which are the most deployed versions were definitely available as open-source.
And this is relevant, because that's the power of open-source. If you're unhappy with how Google is managing the project you do have the right to fork it. Amazon did just that. Xorg also came into existence that way, amongst other projects.
And yes, it takes resources and you've got to make it popular somehow and that ain't easy and I also fear that Google may close future versions of Android completely, but is it mature enough for a fork to be possible and to survive? Hell yes. Can the parent (Google) attack forks based on patents? No, because the Apache license protects you from that scenario (it's a little ironic that a pro-commercial license is safer than GPL v.2)
Which is why I consider Android to be a lot more "open" than the other 2 alternatives floating around, iOS and WinMo. That's my own definition anyway, which is why I began by highlighting the meaninglessness of the word.
Yeah, it's too bad that people won't just migrate to GPLv3. The GPLv3 codified the FSF's working practice of allowing continued use if the offender comes into compliance. Following the letter of the GPLv2 is much more severe. Fortunately, I don't think anyone's ever really insisted on enforcing GPLv2's termination clauses and Linus and most other major GPLv2 projects seem inclined to follow the FSF's model. I don't think FSF will cause trouble--but lawyer-led asshole behavior seems to be on the rise.
Some people criticized AOSP because they believe the delayed release is unfair (a reasonable criticism).
Other people (sheep) criticized them because they actually believed Google was never going to release more source or because needed an arguing point against the OS.
Actually until Google releases the source you can never be sure if they're going to release it.
They release this time.. you and I can only hope that they keep doing it in the future. It wouldn't be all that surprising if it would go closed source (except for key partners) at some point (and except for the GPL content).
Specially when any company could just rip the source, make it nicer looking and release their own version of Android and close the source on that... oh look it has a name, it's called MIUI!
Imagine if many cheap Chinese manufacturers release decent phones with it, that cost 3x cheaper than the rest, and no Google stuff inside, no control, yada yada.
Well, personally I'd get one :-)
It wouldn't be all that surprising if it would
go closed source
As with anything in life, there are forces that prevent them from doing that. Also, the whole point of open-source is the right to "fork" which trumps all other freedoms you might have.
Specially when any company could just rip the source
Few companies can do that because few companies have the resources to do it. Nokia is a monster amongst phone makers and they weren't able to make their own OS, even when their own survival depended on it. These companies using Android depend on base Android to remain open-source, they made an investment in Android because it was supposed to be an open standard, which is why Google must also play nice, otherwise they risk forks. And in case you haven't noticed, Amazon just forked Android, so it's not unheard of.
You see, forks from small players cannot survive because they'll lack the advantages of the main branch (especially the Marketplace). On the other hand, Google must play nice because a fork coming from an alliance between several of these players can kill the main branch.
Imagine if many cheap Chinese manufacturers release
decent phones with it, that cost 3x cheaper than
the rest
Considering that most phone manufacturers are assembling their phones in China, what would prevent them from also releasing cheap phones?
Also, most people don't want cheap. Most people want reliable and affordable, which is why iPhones and Galaxy S2 are selling quite well, even though there are cheaper alternatives on the market, even from trusted brands. Consumers don't want the cheapest products, instead they want the best value/price ratio (as long as they can afford it). Making an analogy with cars, there's always going to be a big market for Audi, BMW and Mercedes. Some people even prefer to buy second-hand cars from these brands, instead of a cheaper but out-of-the-factory alternative. That says a lot.
Phone makers were afraid of copyleft for various reasons, mostly irrational. Also, copyleft probably wouldn't help Google's goal of getting as many Android devices in the market as possible.
A viral license actually could have been a much more effective carrot/stick tool for Google vs. their current situation (early source access, carrier contracts, etc.). Play ball with us (Market, etc.), and we'll give you a full closed-source license. Otherwise, we expect to see full source of your modifications made available per the GPL.
No, what the OP and I have criticized them for is not releasing the code for 4. If you are unable to understand this, that is your problem. Google have done good. What you are talking about is another issue, and an important one, but it does not change the fact that WE HAVE CRITICIZED them for exactly what the OP said.
So... call me crazy, but I think it's wrong to praise a project which claims to be open-source for, um, actually releasing source. And honestly, the fact that we've come to this indicates just how completely Google has failed at being an open-source citizen.
"And honestly, the fact that we've come to this indicates just how completely Google has failed at being an open-source citizen."
If you can download the source, distribute it, modify it, collaborate, and install the modified version easily on your device; then it's a quantum leap forward from any other mass-market mobile device.
In my opinion, that's huge. Right now, google is offering you the ability to actually know what your phone is doing (a huge issue when it comes to government or corporate surveillance), and puts everyone on a level playing field when it comes to writing applications and improvements, and it will likely speed up the convergence of networks so that everything is data (thus eliminating the separate billing for voice and SMS).
Eventually there will be more open, collaborative development. But let's have some patience -- PC's took a long time to be liberated (even now, many people think linux is "not ready for the desktop" and it has a small share). What google is doing is bringing linux to everyone on a new platform and already getting real market share. That's no small achievement.
The code we are talking about is under an Apache 2.0 licence, they didn't have to release anything.
"open-source citizen" is in the eye of the beholder, if you are a die hard FOSS advocate then yes, they have failed. If you are happy with code being released when it is deemed ready (of course readiness in this case might have been influenced by marketing factors) then they have been quite successful.
Yeah, I see your point. But I think it would be lame for me to make fun of them for a year (or however long Honeycomb has existed in closed-source form) and then not at least acknowledge that they did finally release the source. I said "well done," but maybe "at least you're in compliance with the GPL" would be more appropriate.
You are correct. That is approximately my feeling about the situation, but, like giving a dog a treat when it behaves well, I think it's good to praise companies for behaving adequately because I think it increases the chances that they will keep doing it.
The kernel source was at http://android.git.kernel.org/ but that server was subsequently destroyed in an unrelated incident and at this point you'd need a time machine to verify that it was really there and hasn't just been backdated, but yeah, it was available.
Thanks for the links; they're convincing. I'm surprised that Google hasn't made their GPL compliance here more prominent. It's something I've heard criticized, but it sounds like the criticisms are illegitimate.
Of course it isn't coincidence. It's not like there's a major shopping season (when people often buy new electronics) that might be influencing both Google's and Amazon's schedules or anything.
Interesting point, especially considering Google specifically said the source would not be available until the Galaxy Nexus was out.
>year's backlog
This is inaccurate, they have been releasing patches and updates for other versions of the platform over the last year.
They did skip Honeycomb, which fits your Amazon theory, mind you, from the reviews I have read the Fire would not benefit greatly from ICS as they Frankensteined the Android experience.
The Galaxy Nexus is hitting stores in the UK on the 17th so the release is only a few days early. It wouldn't surprise me to find out that they got done a little early and decided to "push the button" anyway.
It won't be any more difficult for Amazon than it will be for any other OEM; phones are merging in from 2.3 as well. And that's making the assumption Amazon actually cares about being in sync with AOSP.
I can say with some confidence that an open source baseband will never happen. The carriers won't allow it, and there is good (technical) justification for that. Basically, it is easy to mess up some "tiny" detail of the standard, and disrupt the local network for all nearby users. The compliance testing needed for any phone is huge and expensive.
The only stated reason I've heard is "the code is ugly," which was found to be... unconvincing here on HN.
Are you aware of another reason, specifically one which would be convincing?
It had everything to do with fragmentation. Honeycomb (by Googles admission) was a stop-gap to get something out for tablets. They chose not to release the source as they wanted to limit the number of devices shipping with honeycomb in favor of a more compatible (and developer friendly) version in ICS.
The stated reason wasn't that the code was ugly, it's that it didn't translate to phones at all; Honeycomb was only ever really good for tablets. There was concern that manufacturers/homebrewers would put it on phones and that doing so would make android look like shit.
Well done, Google.