User: Password:
Subscribe / Log in / New account

On the Android 4.0 release

Did you know...? is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net.

By Jonathan Corbet
November 16, 2011
It took a while and some questioned whether it would ever happen at all, but, on November 14, Google announced the availability of the source for version 4.0.1 ("ice cream sandwich") of the Android open source project. This news has been received with a fair amount of celebration, but also with a certain amount of criticism. Now might be a good time to think a bit about how Android interacts with the open source community and whether all of our expectations are where they should be.

What is there not to like about this release? One obvious problem is that it was so long in coming; there has not been a major Android release since 2.3 came out in December, 2010. Since then, the Android code (with the exception of the relatively small parts covered by the GPL license) has been developed and kept behind closed doors. Google's reasons for withholding the source have been explained and examined many times; some find them reasonable, while others do not. But it seems clear that the end result - no Android releases for almost a year - was not a good thing.

Complaints have also been heard about Google's refusal to provide tags for the "Honeycomb" release that was shipped on a handful of devices. The official reasoning is that Honeycomb was "a little incomplete" and that Google would rather see people focusing on the 4.0 release. A focus on the current code seems likely to happen naturally; it is hard to imagine that a whole lot of people will be interested in going through the pain of turning an old and "incomplete" version of the source into something that actually runs on a device when something newer is available. But there may well be people who want to reproduce something like the current binary installation on their devices before proceeding to something newer. Removing the tags and forcing those people to dig through the history for an appropriate commit does seem like a bit of gratuitous obnoxiousness.

On the other hand, if Google had really wanted to be difficult, it could have squashed out that history altogether.

People often complain that Android is not a real open source project. Such assertions are hard to argue against. Android's governance is very much controlled by its owning company. Releases of source are routinely withheld, albeit not usually for as long as was the case for 4.0. To gain access to the current source - to build a new product, for example - requires being a Friend of Google and agreeing to its requirements. The code contains certain antifeatures, such as applications that cannot be uninstalled and the inability to use cell-tower-based location services without reporting back to the mothership, that would probably not exist in a truly free project. And so on; Android clearly works differently than most true, community-oriented free software projects.

It is worth pointing such things out so that we are all clear on exactly what the Android project is. It can even make sense to grumble about them occasionally in the hopes that gentle pressure might cause some things to change over time. But there also comes a time to simply accept Android for what it is and make the best of it.

Let us remember that Android represents a gift of a vast amount of code that is truly free software. That code has become the basis for more open projects like CyanogenMod, where people have done some very fun things with it. The advent of Android has coincided with the arrival of a whole range of devices that are far more open than their predecessors. We now carry powerful computers with broadband network connections in our pockets, and we actually have some control over what runs on those computers. Anybody who wants to build a new platform with Android's capabilities has the software available to them, free of charge and free to modify.

Linux was doing well in the embedded world before Android; now it is pushing toward a point of world dominance. Manufacturers design devices with the idea that they will run Linux from the outset, and, increasingly, their work is flowing back into the mainline kernel as well. Android may be far from a traditional Linux distribution, but it's a base that is entirely capable of running real Linux applications for those who want to do so.

If Android had shoved aside a viable "real Linux" platform in the handset and tablet space, there might be at least a small basis for complaint. But it would be hard to argue that platforms like OpenMoko or MeeGo would have succeeded if Android had not come along and hogged the spotlight. For better or for worse, nobody has managed to put together an alternative Linux-based platform that has seen any adoption by the hardware vendors, and that's not Android's fault.

In fact, even now, there would appear to be space for another mobile platform. Admiration for Android is not universal, and manufacturers would love to have another viable option for their products; it should be possible to establish another contender. There are plenty of Linux-based projects trying to become that contender; the GNOME and KDE projects both have their eyes on that market, and Canonical evidently does as well. Whether any of them (or somebody else) can pull together an offering that succeeds there remains to be seen. Let us hope they can; it would be a shame if that space were to be occupied by another fully proprietary system instead.

Meanwhile we do have Android, and Android, for all its faults, is a gift of great value. It often seems that, as a community, we behave most harshly toward those who contribute the most to us. Let's not stop talking about how Android could be a better project from the community's point of view, but let's also not forget to say "thank you" for all that it is. With the 4.0 release, we once again have a whole bunch of code that we can do great things with; that merits a big "thanks!" from us all.

(Log in to post comments)

On the Android 4.0 release

Posted Nov 17, 2011 1:36 UTC (Thu) by karim (subscriber, #114) [Link]

Thanks Jon for a balanced article. Indeed, kudos to Google and hats off to their developers for continuing to make Android available under and open source license.

On the Android 4.0 release

Posted Nov 17, 2011 7:10 UTC (Thu) by xav (subscriber, #18536) [Link]

Where's the "+1" button ?

On the Android 4.0 release

Posted Nov 17, 2011 10:07 UTC (Thu) by njwhite (guest, #51848) [Link]

On slashdot. Contribute something worth writing, or don't. It's a fine system.

I did my bit

Posted Nov 17, 2011 11:37 UTC (Thu) by CChittleborough (subscriber, #60775) [Link]

I rarely write tweets, but this is worth whatever I can do to make it more visible, so ...!/CChittleborough/status/137129640694...

On the Android 4.0 release

Posted Nov 17, 2011 2:04 UTC (Thu) by ViralMehta (guest, #80756) [Link]

I did not get below point,

>>to use cell-tower-based location services without reporting back to the mothership

Is some restrictions applied through code ? I can see that the APIs to get cell based location is still there on page.

And totally agree with you on,
>>let's also not forget to say "thank you" for all that it is

On the Android 4.0 release

Posted Nov 17, 2011 3:31 UTC (Thu) by brendan_wright (guest, #7376) [Link]

Good article! I think we all need to try harder to be grateful for the positive aspects of contributions instead of upset that they're not perfect.

World Domination 2.0

Posted Nov 17, 2011 8:46 UTC (Thu) by man_ls (guest, #15091) [Link]

It is worth revisiting the 2006 article World Domination 201, by Eric Steven Raymond and Rob Landley. It was commented here on LWN at the time, although I don't find anything but this mention. The gist of it was that the transition from 16 bits to 32 bits happened right when Microsoft was around and led to cementing their position on the desktop, while the transition to 64 bits was happening around 2008 and would last until 2044 at the very least. Those ideas lead esr to join FreeSpire (remember that thing? the successor to Lindows which took a certain segment of the market by storm and which ended in a big puff of smoke). Esr might have put his efforts in Ubuntu instead which was thriving at the time, but the truth is that the desktop was conceded by default.

In 2008 the Eee PC came out, which showed that there was life left in 32 bits and forced Intel to come out with the Atom processors. I do not follow that market but I think that Intel has made the transition to 64 bits on their entire processor line. Laptop land was curiously stuck in 32-bit compatibility land; 64 bits are by no means mandatory even now in 2011, and XP is still around to show it.

Meanwhile, the real battle was being fought elsewhere. As with all disruptive technologies it was hard to predict that mobile phones would extend the life of 32 bits well beyond 2008. Android took the market by storm and is now a leader in most countries. Apple's iProducts were clearly not going to have the market to themselves with their hardware+software focus (the times of a single manufacturer market are well past us), but it is extremely lucky that Microsoft focused on the desktop for so long and did not polish their Windows Phone offerings.

I am very glad that I can carry a Linux computer with me, even if it does not have all the same advantages as a Debian laptop; but I do not lose hope to have a Debian phone eventually. Still, we as a community have to be vigilant and remember Google that closing Honeycomb was a fiasco that should not happen again; it is hard to gauge how much of Android's success is a result of its Free software nature, but it has certainly been an appreciable factor.

It would be nice if the community was able to support an Android fork in case Google strays from the path, but apparently the code is too complex for that. Perhaps we should all be helping with CyanogenMod to make it happen. It is a pity that the FSF has not seen the light yet: none of its high priority projects are not phone-related, even though there is a network router entry. So we will have to look elsewhere for a guide this time around.

On the Android 4.0 release

Posted Nov 17, 2011 10:13 UTC (Thu) by tajyrink (subscriber, #2750) [Link]

Great article! Mostly everything that needs to be said, was said.

I can grumble about Android from time to time, but I do not say that it sucks. Extreme views are what are annoying. Android is what it is and it's great as it is, even though it could be different as well.

When it comes to discussing about free software and mobile phones, I'm especially annoyed by two types of comments:

1. People essentially saying that there is no value in an open project, ie. free software code dumps should be enough for everybody. I'm interested in the long term viability of free software projects, and it is hard to have successful projects without there being all sorts of factors that make up a good project - like transparency, inclusion, meritocracy. Even though the mobile projects have had little resources and a hard road, it's not useful to forget about these goal in the longer term. For example Debian, Mer, SHR, KDE Plasma Active have some of these in the mobile sector. I hope the best for them (and participate).

2. People complaining about something being not 100% free software, while not themselves actually even interested in it for other sake than complaining. When I've been talking about free software mobile phones, from time to time there is someone complaining about eg. not open GSM stack, wlan firmwares etc.. and to put it sharply probably writing the message from iPhone, while I'm reading it on Neo FreeRunner. If the complainer would be Harald Welte, I'd probably listen and agree with him.

On the Android 4.0 release

Posted Nov 25, 2011 2:51 UTC (Fri) by emak (guest, #488) [Link]

"People often complain that Android is not a real open source project. Such assertions are hard to argue against. [...] But there also comes a time to simply accept Android for what it is and make the best of it."

Coward !

On the Android 4.0 release

Posted Dec 4, 2011 20:55 UTC (Sun) by oak (guest, #2786) [Link]

> But it would be hard to argue that platforms like OpenMoko or MeeGo would have succeeded if Android had not come along and hogged the spotlight.

I can understand this comment for OpenMoko, but why MeeGo?

One of the reasons why MeeGo failed was that it didn't get enough manufacturers on board. Android being already available and its usage even being sponsored by Google is a large reason why that happened. The manufacturers took a wait-and-see attitude to MeeGo as they were already invested in & doing Android.

Without manufacturers there was no future, no acccumulation of diverse devices & creation of a developer ecosystem. While Android definitely wasn't the only thing killing MeeGo, I think it was a significant contributing factor.

Copyright © 2011, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds