By Jonathan Corbet
August 24, 2010
Your editor was recently amused to encounter
this
ZDNet article on "Android's dirty little secret." According to that
article, the openness of Android has led to an increase in the control held
by handset manufacturers and wireless carriers and the fragmentation of the
platform. The Open Handset Alliance is in a "shambles," and Android phones
have undone all the gains won by that great standard bearer for openness
and freedom - the iPhone. One might easily conclude that Android is just
business as usual for the mobile telephony industry, but there are a few
things worth contemplating here.
The authors seem surprised by the fact that the Open Handset Alliance is
not functioning like a free software project, and that manufacturers are
not feeding their changes back into the common software core. That is very
much true; very little code from HTC, Samsung, or Motorola (for example)
can be found in the Android distribution. This outcome is unsurprising,
though, for a number of reasons.
The first of those, quite simply, is that Android is still not run like a
free software project. Work is done behind closed doors at Google, with
the code being "dropped" into the public repository on occasion. It is not
uncommon for the code to show up some time after the software starts
shipping on handsets. Outsiders have little visibility into what is going
on and little say over the direction of Android development; there is no
easy way (or incentive) for them to contribute back.
When manufacturers have contributed back, it has tended to be at the lower
levels - in the kernel, for example. Some of those contributions go
directly upstream, which is where they should go. Others tend to sit in the
Android repository. But, regardless of where these contributions end up,
they tend not to be the sort of high-level, user-visible code that the
article is talking about. The manufacturers prefer to keep that code to
themselves.
And "keep it to themselves" is exactly what these manufacturers are
entitled to do. At that level of the system, permissive licenses rule, by
Google's choice. If more of the Android system were licensed under the GPL,
manufacturers would have been required to contribute their changes back -
at least, those changes which are demonstrably derived from the
GPL-licensed code. Google's decision to avoid the GPL is arguably
regrettable, but it is motivated by an understandable fear: manufacturers
would simply refuse to use a GPL-licensed Android system. If the choice is
truly between permissive licensing and obscurity - and that's how this
choice is seen by many - it's not surprising that Google opted for the
former.
A related complaint is that the openness of Android allows every
manufacturer - and carriers too - to put their own code onto the handsets
they sell. Such code can be custom user interfaces, "crapware," or
restrictions on what the handset can do. These additions are seen to be
undesirable because they contribute to the fragmentation of the system and
because they are often antifeatures that customers would not choose to
have. The implied subtext is that an Android which disallowed such changes
would be a better platform with fewer "dirty little secrets."
As many have pointed out, Android does not differ from other mobile
platforms in its malleability in the hands of manufacturers and carriers.
Handsets based on Symbian or Windows Mobile can also be customized by
vendors. Those handsets, too, can be locked to carriers, restricted in the
applications which can be installed, or otherwise crippled. The article
presents the iPhone as an independent platform which is immune from this
sort of meddling, but the stories of the Google Voice application and the
control over the App Store in general say otherwise. Android has
not magically fixed this problem (and it is a problem), but neither has it
created the problem.
MeeGo, possibly, is trying to do something about the fragmentation side of
the issue; there are various rules which must be followed to be able to use
the MeeGo name. How useful that will be remains to be
seen; there are a number of Android-based devices on the market now which
do not advertise the provenance of their software. And, despite the fact
that MeeGo is not as afraid of the GPL as Android is, it is still true that
MeeGo does not expect to flourish by restricting the flexibility of
manufacturers and carriers. When we are lucky enough to be able to obtain
MeeGo-based devices, we'll see that they've been messed with in many of the
same ways as all the others.
In summary, there are two separate concerns here: fragmentation and freedom.
Fragmentation, of course, has been a staple of anti-Linux FUD since the
beginning; surely, with the source in the open and with all those
distributions, Linux would have to go in many different directions. But
Linux has not fragmented in the way that Unix did twenty years ago. The
main reason for this, arguably, is the common core (kernel, plumbing layer,
and more) that is used by all distributions. Even if strange things are
done at the higher levels in a specific distribution, it's still Linux
underneath. A convincing case can be made that the use of the GPL at those
levels has done a lot to prevent forks and keep everybody in sync.
Android is still Linux underneath, albeit a somewhat limited and strange
Linux. But one could argue that much of the Android core is no longer
GPL-licensed. So, while Android is based on the Linux kernel, the rest of
the system more closely resembles BSD from a licensing point of view. That
might make Android more susceptible to fragmentation; perhaps Android
heralds the return of the Unix wars. Or it might not; most vendors do
eventually realize that the costs of straying too far are too high.
In any case, it's hard to imagine manufacturers going too far afield as long
as Google continues to put resources into pushing Android forward at high
speed.
Freedom seems like a harder problem. The demise of the Nexus One as a
mass-market product was taken by some as a sign that consumers have little
interest in freedom in general. There are a couple of things worth noting,
though, starting with the fact that the Nexus One, in its new role as a
developer phone, has quickly sold out. Clearly there is some
interest in relatively open hardware out there.
Then there is the tremendous level of interest in the jailbreaking of
phones, loading of alternative distributions, etc. Contributions to
CyanogenMod have reached a point where the project has had to set up its
own Gerrit system to manage the review process. Your editor suspects
that very few of the people who are jailbreaking phones or installing new
firmware actually need to do that in order to use their handsets.
Instead, those people want the freedom to mess with
the device and see what comes of it.
In other words, Android has kicked off a small (but growing) community of
developers and users with an interest in freedom and making full use of the
hardware they have bought. With any luck at all, this community will grow,
providing a market for vendors who sell open handsets and resisting
legislative attempts to make handset hacking harder. Interesting things
can only come of all that.
If Android has a "dirty little secret," it's that freedom works both ways.
Of course customer-hostile companies (of which there are many in the mobile
telephone business) can make use of the freedom provided by Android to do
customer-hostile things. But that freedom also appears to be supporting a
whole new generation of hobbyists, enthusiasts, and hackers who want to do
interesting things with current computing platforms. All told, Android has
not made things worse; instead, it looks like it is making things better.
(
Log in to post comments)