Android openness withering as Google withholds Honeycomb
arstechnica.com
arstechnica.com
Although Google is far more open than their competitors, that doesn't put them beyond criticism. It's not reasonable to compromise a core virtue of your ecosystem because you think you might have a branding problem.
All Apple has to do with iPad is to maintain a tight ship, and wait for their opponent's missteps.
As I commented elsewhere, I wonder if HP or RIM can now make a play for #2 tablet?
EDIT: For those concerned with software freedom, take a cue from Gandhi's playbook: Concentrate on examples of software freedom that are understood by the general marketplace. (Just as he concentrated on the pain of everyday Indians.) Sometimes, there is a place for the unpopular stance. Just be clear on what you're trying to accomplish when you're using that tactic.
Agreed. I'm now even more glad that I went with the Nook Color instead, which is currently running a Cyanogen build of 2.3.
They've done this to a lesser extent in the past with almost every major version of Android (where the Open Sourcing of it comes after devices already ship). Does it suck that it's taking longer for 3.0? Sure it does. Do they have a valid reason to do so? You bet they do. Avoiding almost certain fiascos of companies trying to shoe-horn Honeycomb onto phones is a definite concern.
I am not a free software absolutist - people should be free to create and use proprietary software. However, I want to make the personal choice to use free software, and have access to the source code that is not conditional on whether my use is beneficial to any external entity. I understand that Google avoids the GPL for the non linux kernel portions of Android. I was hoping that Google would nonetheless treat Android as a free software OS where you always have access to the source code of any device. I feel like its a "bait and switch" in terms of how it has been portrayed to the community of users who care about software freedom. I don't understand why some people maintain that it doesn't change Android's openness just because Google says it will release the source code "someday".
Google is holding it back because their probably just not happy with the state the thing is in. It was rushed and this is their implicit omission of it.I think this is a pride of ownership thing, nothing more.
(They does not deny it outright though. That's little devilish (evilish not a word!), but I can sympathy with them)
It's a little more nuanced than that. They believed the binaries were a good product for 10-inch tablets, but would perform badly on smaller screens. If they ship source, though, people will try to get it running on small screens.
That's what the Ars article is referring to as cutting corners (an inflammatory statement): Honeycomb could have been generic enough to be a good product on all screen sizes, but they needed to save time to let the Xoom meet its ship date.
It's a pretty long list of issues with the XOOM software even today.
My simple question to you is: why do you think that?
Shipping a mobile operating system is an impossibly complex task, but surely you can understand a parallel with a simple application: just because you wrote an app that's being successful doesn't mean you're ready to open source it the same day you release it. Maybe you want to clean it up, or refactor it, or make it easier to be reused by the open source community.
For instance, anything derived from the Gingerbread line could be used by Samsung/HTC/whoever, and sell it under the Android name, but anyone using the Honeycomb line would be barred from using the Android branding until Google was confident that it was ready (which, really, would happen sooner if it was open for hackers to fix). At the same time, smaller groups and homebrew folks can still get access to all the code they want to hack on and run their devices.
While I do think the article makes valid claims against Android's openness, I think decoupling the branding would go a long way to allowing a community to sprout up around the code.
When you open source something, it's simply impossible to satisfy everyone. Just be patient, Honeycomb will be opensourced eventually.
(They might go out of their way to get a broken version for new mobile devices they're trying to bring to market. But it seems like aside from time-sensitive situations like Motorola trying to compete with the iPad2 by pushing the Xoom out the door, integrating and qualifying a new release is enough trauma that a device maker is unlikely to go to that effort with an immature product).
Are they going to provide the source to the ROM modding community? They're supporting the Nook and several other pre-Honeycomb tablets. If Google isn't going to release the code anytime soon those projects are dead. I'm sure Google has good reasons but they really should have figured this stuff out and set some clear guidelines ahead of time. Being secretive about development and tightly controlling access to source, while talking up the virtues of open source, is going to upset the people who are most loyal to the platform.
I could not find an email address or link to do that.
Absolutely false. You have to be part of their inner circle of Super Best Friends, which costs a lot of money, and they don't accept everyone.
I think this is in part because the primary customers of Android as a business are carriers (this is where Google makes money).
Something like most of Motorola's recent phones with locked down bootloader, those aren't in any meaningful sense running an open source OS. At least not any meaningful sense for the average consumer. For a business with the money to roll their own hardware, they can take advantage of the source, but for me, I can't get that kind of touchscreen hooked up to that kind of battery, CPU, and GPU unless I'm willing to accept a closed OS.
Of course the point is moot, since Motorola would never use a GPLv3-licensed Android. I don't really see why, since, as I said, it's not the software but the hardware that I want to pay them for. (Though there's a good chance I would leave the software unmodified.)
From a support point of view, I cannot see any reason why any hardware manufacturer would go along with GPLv3 software. It adds a level of complexity that just doesn't make much sense to deal with, because it's not the manufacturer's best interest to support ANY code, just the code that they have put on the device.
And as far as supporting any code, most manufacturers of processors do in fact support running any code you like on them. Especially the dominant Intel-compatible personal computer, where Apple themselves support running any operating system you like.
https://twitter.com/Arubin/status/27808662429
This ("access to source code") is clearly less than GPL, and that's OK, as other commenters point out.
But what they're offering now with Honeycomb is less than Rubin's definition above.
Maybe, but then it would have failed in the market place.
For example, the Android 2.0 Eclair source code was not released to the Android Open Source Project until after it was already shipping on the Motorola Droid.
Even carriers and manufacturers who were part of the Open Handset Alliance did not have access to it before then. I know, because I once worked with some of these companies on Android customization projects.
By catering to the emotional OSS crowd, Google has bred a flock of fanboys even more defensive than Apple's.
This is completely bullshit. If code is really open, it allows everybody to use the code as they see fit, however unfit other users might think it is.
The Apache webserver is really open: I can modify it and use it without any restriction from the Apache Foundation just because they might think my modifications "don't function properly".
That's a legitimate concern, but it could be fixed by not allowing people to use the Android trademark on hardware that Google deemed crappy.
No, it doesn't. It insists that "Open" retain some reasonable meaning.
The difference in technical competence is what makes this move understandable and in Google's best interests. But that doesn't mean it makes any sense to continue calling the project "Open".
Honeycomb is closed. The reasons are irrelevant to whether "Open" is an acceptable descriptor. Google may one day make Honeycomb "Open". But that too is irrelevant to whether "Open" is an acceptable descriptor today.
And Google's behavior ignores the spirit of open source, which expects the source to actually be available regardless of whether or not somebody's trademark might look bad.
Good times.
the definition of open: “mkdir android ; cd android ; repo init -u git://android.git.kernel.org/platform/manifest.git ; repo sync ; make”All Rubin's tweet indicates is that Android is open source.
It would help if your comment was more than just a quoted tweet.
http://www.pcmag.com/print_article2/0,1217,a=255840,00.asp?h...
Google's Andy Rubin hit back at Steve Jobs Monday with a tweet that touted the openness of Google's Android platform.
Rubin, who serves as vice president of engineering at Google, posted a message to the micro-blogging site that might be somewhat confusing to those not familiar with the ins and out of Android coding.
Translation: Rubin's tweet includes the commands needed to start compiling a copy of Android on a home Linux machine. He's stressing that anyone can develop for, hack, or even create their own version of Android.
But this does say that by Andy Rubin's own definition of "open", Honeycomb is not "open". Unless there is some big part of this discussion/argument I'm missing, it's not available for download/compiling, right?
The thing that makes this so blatant is the succinctness of Rubin's definition of "open".
Or is that what you were saying? If so, that's kind of a silly definition of openness--If you care about the kernel being open source, you probably also care about the rest of the OS. I'm disappointed about the delay, but Android is still way more open than iOS in the ways I care about, i.e., I can run any app I want.
There's a difference between valuing openness, and promising openness at the expense of all other values. To me, Google has demonstrated the first consistently throughout the history of their company.
I'm sure there are good reasons to hold back the source. My guess would be, they don't want people trying to build tablets that can't run the OS properly. If Android gets a reputation for shitty tablets, that would be devastating to the platform.
If we still don't have up to date source in two years, we can start to worry that the Google we loved is dead.
Android is an open-source software stack for mobile devices, and a corresponding open-source project led by Google. We created Android in response to our own experiences launching mobile apps. We wanted to make sure that there was no central point of failure, so that no industry player can restrict or control the innovations of any other. That's why we created Android, and made its source code open.
It doesn't say
Android is a closed-source software stack for mobile devices, and a corresponding closed-source project led by Google. We created Android in response to our own experiences launching mobile apps. We wanted to make sure that there was a central point of control, so that we can protect our brand assets. That's why we created Android, and kept its source code secret.
If to get your open platform to become popular you have to sacrifice any idea of openness, then what was the point?
1. ...to compromise the idea of openness at all...
The point is not to be open. Openness is a tool that Google uses to create the product and ecosystem that it wants. In sacrificing a little openness, it loses a little bit of the perks of being "open," but probably gains other things, so I can respect that.
2. ...to compromise the idea of openness entirely...
I don't think we can say that they've done this, at least not yet. I'm just look at it as an experimental branch of the code that isn't yet ready to be merged into the trunk. It makes a lot of sense to me that, if they rushed this code out for strategic reasons, that they would want to keep it a little close to the chest until it was more stable. Remember, while to you this is an abstract principle of openness, to them this is a product they ship, and they WILL be judged on its performance.
Which would be an acceptable reason if Honeycomb tablets weren't available for purchase. Since the Xoom is running Honeycomb, I cannot see how anyone can say that it's "experimental" at this point. It isn't just a commit that Google isn't done with yet, it is released software.
This is just one interpretation, but it's an example of a case where I'd be behind Google's actions.
I think it would have made more sense to release a one-off Android branch for the Xoom. In addition, I would have:
1. Made it clear that this code release is a targeted device code release, and will have major issues with other devices.
2. Released a somewhat detailed timeline for when the stable, generalized 3.0 code is expected to be done.
The first keeps the homebrew community happy, because they have something they can hack with on the Xoom. It might boost sales marginally, too.
The second keeps the tablet manufacturers happy, because they now have a timeline for when Google is going to get a generalized tablet OS out the door.
Surely withholding Honeycomb is within Google's rights and likely its best interests. But I don't think you can argue that it fits within any reasonable definition of Open. If "Open" has but one inviolable property, what could it be if not "source code availability"?
Honeycomb may become an Open Source project in the future. Google may have every intention of making that happen. But until the source is released "Open" isn't a property of their project, it's an unrealized goal.
And when evaluating how likely they are to deliver on that, I note the trajectory of the Android project has been away from Open and toward Closed for some time now. This non-release is an acceleration of that trend, not a simple continuation or an aberrant change in direction.
The best-case scenario is that Google does release Honeycomb, merely putting us back to where we were already arguing about whether Android's "Open" was translating into real, practical benefits over the approaches of Microsoft, Apple, RIM and HP.
Whereas the likeliest scenario is that this "eventually-Open" lag between product release and code release becomes a regular fixture. So not only will the practical advantage of Android's Openness be debatable, but the applicability of those contributions will vary within the release cycle.
As mellis said http://news.ycombinator.com/item?id=2369108 they shipped product so the source should be good enough to ship also.
* They made sure that many of the most compelling -- to end users -- built-in bits were proprietary (i.e., those sweet Google-branded apps that you can get C&D'd for distributing)
* They began imposing requirements above and beyond software license compliance if you wanted full access
* They made sure their default (and thus, to most users, only) marketplace had the same sort of remote kill switch people complained about in Apple's ecosystem
* etc., etc.
Android is a mobile platform that you can sometimes get source for, sometimes hack on, and sometimes do what you like with. Which, um, isn't any idea of "openness" I'm familiar with.
I hope Android will be open as much as the next guy, but right now Samsung et al have made some decisions that have impacted usability, so I hope that 3.x will be so greatly improved, usability-wise, that there won't be a need to keep the source closed, as nobody will find it necessary to "improve" upon it.
There are devices which really can't handle Android OS and many Apps cannot run or even not installed.
To just get over that embarrassment Google must have taken this step.But that destroys the whole idea behind the Android OS.
I think this is Google admitting that. They're not releasing it not out of some closed-source conspiracy, but rather because the damn thing isn't ready to be released. Sorry Motorola, but you pushed something out the door you shouldn't have.
It's the simplest explanation, and IMHO most likely the correct one. Google doesn't want this in the wild simply because it shouldn't be. They can't say that, but that sure seems to be what's happening.
Edit: To clarify, I think being open means that you either release to everyone or to no one. So arguing that it isn't ready became irrelevant once the xoom shipped.
Imagine if a writer said "I'm ready to publish my book, but I'm not willing to release the manuscript to editors". This isn't a perfect analogy since I'm sure Google do massive amounts of in-house QA, but it seems like the more feedback you're getting on the code, the easier it will be to whip it into shape. Saying you don't want to release the source because it's not ready or not mature is almost nonsensical.
I get what people are complaining about, and I'm not terribly happy about it either, but it's not like I push every commit to github as soon as I've got it running on my server; frequently there is cleanup to be done first.
I take it you're not a developer?
Putting running applications in users' hands is priority #1, and it usually goes at the expense of the cleanliness of the code.
Once you're happy with the mindshare that your application has gained, you look at the code and clean it up before releasing it.
(Did I really expect otherwise? No, I'm not naive. Google's products are open source to the extent that it suits them, and no further.)
They released it to Mot because the reality of their situation is that Motorola is a very valuable customer who therefore gets special treatment. You can bet that they made commitments to Motorola so that Mot could get their product out on time, and if they don't follow through on those commitments, Mot might decide to go with Win Phone 7 in the future. That is the reality of being a vendor who caters to very powerful customers.
I work in the semiconductor industry, and most of the customers for the chips that I design are far larger companies than the one I work for (note: I'm not claiming that Mot is far larger than Google, only that the relationship dynamics are similar). As a result, those customers get extra special treatment. They get parts before they're released, they get more help from applications engineers, and they get a lot of attention from marketing to be sure that we are meeting their needs and keeping their products on track.
In our case, and in Google's, there are some very important reasons to forge such a relationship. One, you are sure that your product will gain traction in the market quickly, because you've lined up a big customer as an early adopter. Two, part of the deal with giving them pre-release versions is that they end up helping you find bugs in your product. In the case of the Xoom, it's apparent that some bugs have gotten into the initial release versions, but it's almost certain that there's been a lot of bug-finding already on the part of the Xoom team.
If you could get one of the Android devs to be completely honest with you, my bet is that they'd tell you that Honeycomb isn't ready at all, and that they were basically forced to release what they have to Mot despite its condition. I'd also bet a lot of money that the whole team is pretty unhappy with the situation, and they're not going to allow it to spread further by releasing a buggy software package to the world at large. When it's truly ready for release, it'll be available.
> So arguing that it isn't ready became irrelevant once the xoom shipped.
The heart of the matter: "when it ships" and "whether it's ready" become disjoint in a customer relationship like this one. "Is it ready?" is a question about the quality of the code. "When will it ship?" is a question for your manager. Them's the breaks in a situation like this.https://twitter.com/#!/Arubin/status/27808662429 http://www.quora.com/Whats-the-most-epic-tweet-on-Twitter/an...
If such were their concern they would revoke the use of the Android trademark and manufacturers could have to call it by a different name avoiding the issue.
No one can deny that Android was a HUGE HUGE success. Google is innovating and making money, at the same time keeping customers pleased.
That is what they do best, as one blog here said. They manage to keep their interests along with customer wishes. [Down voters, thank you ! :)]
here google fully explains their thinking around android soure.
I don't understand the fuss.
All along Google has behaved in a way inconsistent with their "Open" marketing. And people have criticized them, not for what they were doing, but for trying to contort the definition of "Open" to still fit what they were doing.
Now that the project doesn't even meet the most-basic definition[1], there is simply no more wiggle room and those who would prefer "Open" still mean something at the end of the day are again pointing out the Emperor is naked [2].
[1] As codified in Rubin's famous tweet.
[2] Not because it's wrong to be naked, but because he insisted he was wearing clothes that he quite clearly is not.
If Google had said "We're not as secretive as Apple", there would be less bitterness now, but there also never would have been the sort of momentum/buzz they built early on.
Throwing a source dump over the wall to out of date code has always been their operating procedure, but they've never publicly stated, as bald-faced as they have now, that they're not going to be releasing the source because they don't want smaller ODMs to have access to it.
This has nothing to do with hobbyist devs, this has everything to do with keeping Honeycomb limited to the few companies that have paid Google hundreds of thousands, if not millions of dollars for that access.
The rest of the manufacturers aren't "worthy".
So as a developer, I'm not really pissed about the fact that the source is delayed for a month or two. I'm more pissed about the shitty Market experience which drives customers away and the many countries that are not allowed to purchase paid apps.