|
|
Subscribe / Log in / New account

Android: the return of the Unix wars?

Benefits for LWN subscribers

The primary benefit from subscribing to LWN is helping to keep us publishing, but, beyond that, subscribers get immediate access to all site content and access to a number of extra site features. Please sign up today!

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)

Android: the return of the Unix wars?

Posted Aug 24, 2010 17:10 UTC (Tue) by jaymzh (subscriber, #57150) [Link]

Nice article. It's nice to see a balanced view of this. Freedom is always a double-edged sword - but one, I think we all agree is good.

Android: the return of the Unix wars?

Posted Aug 27, 2010 14:42 UTC (Fri) by creyes123 (guest, #49450) [Link]

Agreed. It's articles like these that set LWN apart from the typical news outlet. No attempt was made to sensationalize or to take a controversial point of view in order to get more readers. The point of view was stated simply and supported straightforwardly.

Android: the return of the Unix wars?

Posted Aug 24, 2010 17:15 UTC (Tue) by Trelane (subscriber, #56877) [Link]

All told, Android has not made things worse; instead, it looks like it is making things better.
Jein. It's at best better than what was before--those carriers and manufacturers that don't wish to limit their customers' freedom have the option. At worst, it's no different--those carriers and manufacturers that *do* wish to limit their customers' freedom are free to do so, from just making their software proprietary all the way to creating hardware checks to make sure the customer isn't doing things that the carrier/manufacturer doesn't wish them to with the customer's own device. So mathematically, your statement is true; it's at worst no different and at best it's better, so therefore it's better. (and since we have that lower limit of no difference, it'll continue to be "better" over all time even if the trend is toward "no difference" over time (analogy is the integral of an exponential decay; it'll always be positive even as it tends toward zero as x->inf). That said, I fail to see how the statement
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.

can truly be supported, particularly in the context of the license choice of Apache instead of GPLv3, where the primary difference is the Apache's preservation of the intermediates' natural right to hamper or infringe on the rights of their customers and users. Sure, it's more free than the iPhone, but not necessarily completely and not necessarily in the long-term view.

In the long-term, what we have is a race to the bottom. As some will point out when regarding the GPL, carriers and manufacturers that share the information back can be at a competitive disadvantage compared to their non-sharing counterparts, since their code is in public display for all to review and use, whereas their closed competitors do not share their improvements back. The Apache doesn't make sharing their improvements with their customers under the same terms compulsory, but rather voluntary. This, coupled with the possible competitive disadvantage of sharing back will IMHO lead to Android eventually becoming increasingly proprietary and balkanized. If the license were GPL, they would not only be required to preserve their customer's freedoms (a long-term win for the ordinary citizen, provided the products are developed and sold (which the rise of GPLed embedded Linux has shown is not at all implausible)) but in the end all of the code would be contributed back upstream (all it takes is one customer, so in the end it's shorter for the company to just share upstream from the get-go).

So voluntary sharing in the long term (assuming customers stay consumers and don't fight for anything but the "bottom line" (i.e. features and price)) implies proprietary balkanization, as Android is now beginning to show.

Android: the return of the Unix wars?

Posted Aug 24, 2010 17:37 UTC (Tue) by davide.del.vento (guest, #59196) [Link]

I heartily agree with you that GPL (v3!!!!) would have been much better for customers and handset manufacturer alike.

Unfortunately, I think that if Google had GPL'ed Android, it wouldn't have had the success it had, because handsets manufacturer and especially carriers would not have embraced it so broadly.

On the Google side, the company is of course interested in the profits, not directly freedom or "progress". Their bottom line is: on the iPhones, they have to share search revenues with Apple, on Android they don't. Google has has already claimed (can't find the link now, but I could dig) that the cost of developing and maintaining Android has already been paid by the much higher revenue they get from searches (compared with what they would have get from iPhones).

Android: the return of the Unix wars?

Posted Aug 26, 2010 6:33 UTC (Thu) by kragil (guest, #34373) [Link]

Food for thought:

Assume Meego fails and IOS becomes the 5% Apple high profit niche and WP7 will be a success like Kin/WinMo and Symbian/Blackberry continue to decline (Not really unlikely once all phones become smartphones)

Then Android will have such a big market share that Google could start relicensing Androids plumbing LGPL, that would force vendors to release changes to the plumbing layer and reduce Googles cost of maintaining the platform and likely accelerate development without too much fallout.
And it would hinder China Mobile to profit from Android without Google getting anything (An Android fork without any Google is becoming the most used handset OS in China.)

Android: the return of the Unix wars?

Posted Aug 26, 2010 13:02 UTC (Thu) by dmarti (subscriber, #11625) [Link]

The crapware issue and the downmarket Android issue are connected. The sooner that crapware brings in enough additional revenue per subscriber to justify it, the sooner that the US carriers start offering Android phones as the default "free" phone with contract. ("Make a phone call? Is it the big Blockbuster button, the big Mafia Wars button, or the big Yelp button?")

Android: the return of the Unix wars?

Posted Aug 24, 2010 19:25 UTC (Tue) by dberlin (subscriber, #24694) [Link]

Both this comment and the article make the claim that the GPL will cause the changes to be contributed back, but this is wrong.
It will cause the changes to be *released*. This is very different than contributed back.
If you scour the internet, you will find hundreds if not thousands of releases of the linux kernel by companies that are not used by anyone else, and contain slight mods here or there.
Same with any other GPL package.

The number of folks that *contribute changes back to the project* instead of *release the source as a dump* is incredibly small.
Anyone who has ever worked on GPL projects knows this is how it works in practice.

The theory that they will find it easier to send upstream is misinformed at best, as is this will just happen because it's "better for the companies". The vast majority of companies of this scale see no advantage to spending the time to upstream it, since in reality it doesn't magically get maintained if you do that, you still have to spend near the same amount of maintenance work in most projects.

Android: the return of the Unix wars?

Posted Aug 24, 2010 20:30 UTC (Tue) by Trelane (subscriber, #56877) [Link]

I disagree, but like you I don't have any real, hard facts to point to. So we'll just have to agree to disagree on that point until hard data comes in. At least we agree that the GPLv3 would have provided stronger end-user freedom enforcement. Cheers!

Android: the return of the Unix wars?

Posted Aug 25, 2010 10:12 UTC (Wed) by nye (guest, #51576) [Link]

I think there's a certain amount of evidence available just by looking at Android itself - despite actively trying to get their kernel changes upstream for some time, most of the kernel work hasn't been merged, and a lot of it will never be. The best we can hope is that eventually, after a substantial expenditure of effort, the kernel may eventually get the means to do what Google needs using a different design.

Yes, the kernel is a particularly difficult area in which to get changes merged, but I'd still be astonished if traditionally proprietary companies actually went to the effort of getting non-trivial changes to open source projects merged upstream, rather than just providing a big code dump.

Android: the return of the Unix wars?

Posted Aug 26, 2010 14:48 UTC (Thu) by magnus (subscriber, #34778) [Link]

Saying that these kernel source tree dumps scattered around the net is proof that the GPL doesn't work is reversed logic in my opinion. If the kernel was proprietary for example then these code dumps would obviously not exist, that doesn't say that the situation is better.

You could instead look at what these source dumps do _not_ contain. Most of them do not contain any valuable new features or significant improvements, they're just hacked slightly to work with specific hardware or software. This must mean that most development of value actually does go upstream.

When a significant new feature is added to a GPL:ed piece of code by one of its downstream users, the GPL gives the ability to at least study the implementation details, learn and get inspired by it. I think that's the main benefit.

Android: the return of the Unix wars?

Posted Aug 24, 2010 22:37 UTC (Tue) by drag (guest, #31333) [Link]

> Jein. It's at best better than what was before--those carriers and manufacturers that don't wish to limit their customers' freedom have the option. At worst, it's no different--those carriers and manufacturers that *do* wish to limit their customers' freedom are free to do so, from just making their software proprietary all the way to creating hardware checks to make sure the customer isn't doing things that the carrier/manufacturer doesn't wish them to with the customer's own device.

It goes both ways. That is why it's a huge improvement over what we have with the iphone and such.

It's just as valid to state:

"Android provides for customers who don't care about being locked down to be locked down while other customers that don't want that do not have to put up with that at all."

Despite all the rhetoric about DRM and locked down Android phones there exist plenty of phones that do not refuse to boot unofficial versions of the firmware. In fact that majority of Android phones do NOT place much real restrictions on the phone at all except that they do not provide a easy way to get root.

For people that DO care about their software freedom they can very happily use many popular Android phones with almost completely open source firmware if they wish. (still remains the chronic issues with drivers and such).

It is far from necessary to figure out ways to force handset makers to be open... the open source community's #1 job in promoting open platforms is to provide a way for users that want freedom to have it and to make freedom as attractive as possible.

---------------------------------

Lets not also forget that Android is Linux's #1 success story in the consumer market.

Google scored a hit in a major way. In the USA market Android already has surpassed iPhone and Blackberry in a fantastic manner and by the end of this year it's going to be close to selling more phones then RIM and Apple _combined_ and will probably surpass the entire _total_ iOS sales (iPhone, iTouch, + iPad) by the end of next year.

Google is activating over 200,000 Linux phones _a_day_.

Millions are sold every month and within a year or two it's going to be the #2 mobile operating system in the world. Only to be second to Nokia's Symbian.

This is simply huge.

Going on about restrictions and carriers being a-holes and dwelling on the negative aspects of the phone industry... which is a reality that Android must operate in, is completely missing the point that a open source Linux operating system is quickly becoming utterly dominate.

Given the easy hackability of the majority of Android phones (the Droid-X is the only one that I know of that makes substantial technical barriers to third party firmware, there are probably others but they are in the minority) this has given the most people the easiest way to get out of running restrictive and closed operating systems.

For most phones the barriers to open firmware has more to do with the nature of the ARM platform itself then anything really intentional or anti-consumer/anti-freedom.

Sure sure Google did not follow the dogmatic rules setup by the GNU folks and built a lightweight OS for small systems using a lot of Java-like stuff instead of the traditional C Unix environment... but by doing so they have made a OS that is widely attractive,solves almost all the chronic application compatiblity issues that plague linux on the desktop, and yet is still majority open source.

This is a unprecedented success in the consumer area, which Linux has languished for years. Sure there are TiVos and such, but nothing multipurpose like Android is and nothing nearly as interactive.

This is a hugely positive step. No question about it.

Android: the return of the Unix wars?

Posted Aug 24, 2010 17:25 UTC (Tue) by ernstp (guest, #13694) [Link]

Quite a lot of contributions from Sony Ericsson it looks like:
https://review.source.android.com//#q,owner:johan.redesti...

Android: the return of the Unix wars?

Posted Aug 24, 2010 19:54 UTC (Tue) by SEJeff (guest, #51588) [Link]

@corbet: Dan walsh agrees with you. Clearly Meego isn't restricting the flexibility of the manufacturers:
http://danwalsh.livejournal.com/37782.html

"""
Intel and Nokia were pushing MeeGo, and I talked to their security people at the show. The MeeGo security architecture seems to be more about protecting the device from the user than protecting the user's data from malicious code. The architecture's security goals align more with those of the access providers and content providers.
"""

Android: the return of the Unix wars?

Posted Aug 25, 2010 8:12 UTC (Wed) by pabs (subscriber, #43278) [Link]

That seems to be confirmed by Nokia's search for a DRM specialist for MeeGo:

http://maemo.org/news/jobs/digital_rights_management_spec...

Android: the return of the Unix wars?

Posted Aug 26, 2010 9:26 UTC (Thu) by buchanmilne (guest, #42315) [Link]

The MeeGo security architecture seems to be more about protecting the device from the user than protecting the user's data from malicious code.

The security architecture isn't available on the meego architecture page, and individual device manufacturers may of course implement restrictions on the hardware.

However, in Maemo, there are DRM and non-DRM modes. If you run a non-Nokia image, then DRM material you bought while running in DRM mode (a Nokia image) will not be accessible.

However, on the N900 you can get root access without running non-Nokia software (install the 'gainroot' package from the software manager) or any hacks, and install your own applications with dpkg etc. without (AFAIK) any impact to content.

I would expect that Meego will have a similar setup (at least on Nokia handsets).

In the end, the platform isn't the issue, the vendor behaviour is. If you think the ability to access content you have paid for, in the future, is more important than the vendor's DRM system ensuring you don't share it, don't buy DRM content. If you believe your freedom to run the software of your choice is more important than the price of your handset, buy a handset that allows you to run your own software. Doing both should allow you entire freedom on your handset without any disadvantages.

For these reasons, I recently bought an N900, and haven't needed to buy any apps, there are enough real open-source applications in the repos to satisfy my needs so far. And I will support any media vendors that supply non-DRM media.

Of course, SELinux proponents are free to:

  • Supply an SELinux-enhanced image of Meego for N900 or other reference platforms (while no actual products ship), allowing early-adopter users to test it and communicate the demand for it to the vendors shipping Meego devices
  • Contribute to the security architecture in Meego to address the concerns of security conscious users

However, Nokia obviously needs to compete with iPhone and Blackberry for market share, so their focus is naturally on ensuring that content providers will provide content for them. But, avoiding Meego now because users think it doesn't address their security concerns (while the competing devices don't either) would be short-sighted, when it may be easy enough to get the features in.

IMHO, the N900 is the most open smartphone available at present, and Meego will take over from Maemo as being the most open (to users) platform for smartphones. I am looking forward to the first handset UX release for Meego 1.1, and the first Meego smartphone.

(There are some issues with Maemo, users of N770/N800/N810 have been abandoned to some degree, N900 may not be for non-technical users looking for an iPhone replacement, but having taken these issues into account, N900 is the best device for me at present, and with the current software release - 1.2, and the current Ovi Suite - 2.2., it is very usable. A Linux version of Ovi Suite or at least the map loader would be fantastic though ...).

Android: the return of the Unix wars?

Posted Aug 24, 2010 23:17 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

Actually, I now own four different Android phones.

Apart from version differences, I don't see much contribution from manufacturers' side. Mostly, their contributions end at desktop themes and maybe a couple of branded applications.

It seems, the best defence against fragmentation is a strong leadership. It should be unprofitable for manufacturers to deviate much from the mainline branch.

So far, it seems to be what's happening.

Android: the return of the Unix wars?

Posted Aug 25, 2010 5:24 UTC (Wed) by alison (subscriber, #63752) [Link]

The recent history of Google's attempts to contribute code back upstream have been unhappy; see Matthew Garrett's provocative "Android/Linux Kernel: Lessons Learned" at LinuxCon: http://events.linuxfoundation.org/slides/2010/linuxcon201... Further acrimony may end chances of upstream contributions by Google.

Bradley Kuhn makes the point in his blog that if Google had GPL'ed Android, Oracle's situation in suing them would be different:

http://ebb.org/bkuhn/blog/2010/08/16/oracle-google.html

The most familiar part of the new Unix war is the role of AT&T!


Copyright © 2010, 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