Tech

Friday, 25 March 2011

Android openness withering as Google withholds Honeycomb code


During a keynote presentation at Google's IO developer conference last year, Google VP of engineering Vic Gundotra proclaimed that the search giant created Android in order to bring freedom to the masses and avoid a "draconian future" in which one company controlled the mobile industry. Looking past the self-congratulatory rhetoric, Android's poor track record on openness is becoming harder to ignore.
The company revealed Thursday that it will delay publication of the Android 3.0 source code for the foreseeable future—possibly for months. It's not clear when (or if) the source code will be made available. The decision puts Android on a path towards a "draconian future" of its own, in which it is controlled by a single vendor—Google.
When Android was first announced, Google's evangelists touted it as an open ecosystem that would enable innovation—a hardware and software reaffirmation of the Carterfone decision. They spoke of a future where users would be free from restrictions and be able to install whatever software they want.
Sadly, those promises were never fulfilled and the dream of an open mobile ecosystem around Android never materialized. In reality, Android has become an insular platform developed almost entirely behind closed doors in an environment that is hostile to external contributors and is mired in a culture of secrecy that serves a small handful of prominent commercial hardware vendors and mobile carriers.
The vast majority of Android smartphones are encumbered by lockdown mechanisms that block installation of third-party firmware. Some mobile carriers even block installation of external software entirely, in stark contradiction of Google's early promises. The availability of Android source code after each release was really the last remnant of openness in Android—and now it's gone. The whimsical notion that Android is an open platform is a tattered fabrication that has been stretched beyond the average open source software enthusiast's capacity to suspend disbelief.
Sadly, there is little about this move that is surprising. Google has long exhibited a pattern of behavior in its Android dealings that reflects a disregard for openness and the third-party development community. It started even before the first Android release, when Google silently stopped making SDK updates available to the public for months and used nondisclosure agreements to gag the privileged few who were given access.
Google further demonstrated its apathy towards the third-party Android developer community when the company's legal department sent cease and desist notices to a prominent modder in an effort to block the inclusion of Google's proprietary Android software in custom firmware images. In both cases, the company's heavy-handed approach to dealing with independent developers and complete lack of appropriate communication were just as troubling as the implications for Android's openness.
After scrutinizing the nature of Google's interaction with the open source software community on matters relating to Android over the past few years, the fact that they are declining to release source code now doesn't seem like a change in direction. It's the natural evolution of a culture where openness is a marketing gimmick and not a core principle.
What makes it all the more troubling is the extent to which Android deviates from the conventional upstream Linux stack. The insular nature of the Android userspace makes interoperability between Android and conventional mobile and desktop Linux platforms difficult and impractical. Android's Linux kernel even diverged from the official upstream Linux kernel due to different approaches to power management. The technical differences were only recently resolved.
Because Android operates its own Google-controlled fiefdom outside of the upstream stack, its growing popularity doesn't materially benefit upstream Linux. As more hardware vendors flock to Android, the growing ubiquity of Google's platform necessarily marginalizes the healthier and more inclusive environment that exists upstream.
The vendor-neutral mobile Linux space is gradually being displaced by a walled garden in which Google is the ultimate arbiter and has complete control. In that sense, Android is unambiguously detrimental to the goal of encouraging software freedom on mobile devices.
Despite these issues, and the fact that the Honeycomb's source code won't be released in the near future, Google's Andy Rubin still contends that Android is an open source project.
Rubin told BusinessWeek that Google has made the decision to keep the Honeycomb source code under wraps because it doesn't want hardware vendors to adapt it to run on other form factors where it might not function properly. Rubin says that Google cut corners during Honeycomb's development in an effort to rush it to market. He believes that widespread adoption at this stage in usage scenarios that Google didn't anticipate would lead to a very negative user experience.
His explanation implies that source code might become available again when Google finishes integrating its hastily-assembled tablet software into its existing phone software. Unfortunately, the utter lack of transparency surrounding Android development and the absence of a public roadmap make it impossible to even guess if or when that will occur.
The lack of Honeycomb code availability is especially bad for enthusiasts who were hoping to be able to install custom firmware on their Android tablets. Without the code, it will be difficult for the modding community to produce custom builds that fix the software problems that plague the Xoom and other upcoming Android tablets. Users who were looking forward to better Honeycomb builds for the Nook Color and other budget devices are also going to have to wait.
For now, only a privileged few hardware vendors will have access to Honeycomb while the rest are left with uncertainty about the future of the platform. Even after the matter is resolved, the fact that Google is willing to withhold source code at its whim for competitive reasons is going to continue to cast a dark shadow over the company's increasingly hollow claim that Android is an open platform.

No comments:

Post a Comment