Andy Rubin: Why Android is only quasi-open
Google keeps tight control over Android and its source code--especially with Honeycomb. Android's leader says it's to ward off compatibility problems.
SAN FRANCISCO--Android is open-source software, but it doesn't come with much of an open-source community, and the Google leader of the project explained why yesterday.
Because people can scrutinize Android's source code, modify it, and build it into their own hardware, the mobile operating system qualifies as open-source software. But Google exercises tight control over what gets built into the official Android software, what gets released as Android, and when that source code appears--especially with the .
The reason for Google's approach is so the company can control Android's interfaces, the underlying features that Android apps use, Rubin told reporters at thehere.
These application programming interfaces (APIs) are best developed in private and released only when Google deems them done, a process that ensures app compatibility, he said.
"Open source is different than a community-driven project," Rubin said, in which a broad collection of people collectively determine the software's future. "Android is light on the community-driven side and heavy on open source."
That's on purpose: "When we add new APIs, typically, in my opinion, community processes don't work because it's really hard to tell when you're done. It's hard to tell what's release and what's a beta. Developers have to have an expectation those APIs are done at a certain date. With a community process, a [mobile phone] operator could take an early version and start building devices. The apps would be incompatible."
In some open-source projects, such as Mozilla's Firefox or the Linux kernel, development happens in a very visible way. The source code for upcoming features can be viewed long before those features arrive in the software people actually use, and public discussions take place on open mailing lists.
With Android, it's all behind closed doors, and new features are a surprise. Even with Motorola's Xoom now shipping with Honeycomb, in its Android 3.0 and now 3.1 versions, Google has yet to release the software's source code.
And it won't, until the release of Ice Cream Sandwich, the version of Android that brings Honeycomb's new interface to the full range of Android devices, including mobile phones and Google TV devices. Ice Cream Sandwich--already being called the more convenient ICS by Google engineers--is due to arrive in the fourth quarter.
Google says Honeycomb's closed nature was an exceptional circumstance brought about by the company's need to get a tablet OS to market as quickly as possible. As a result, Google split off a special branch of Android just for tablets.
The open-source issue was a contentious one at a fireside chat with developers at the conference. One person asked of Honeycomb, "Is the source code ever going to be really open-source?"
Dan Morrill, who's in charge of open-source software and compatibility matters for Android, said technically it would be, because the collection of patches that constitute Honeycomb, each stored individually in an online Git repository, will become open eventually.
The problem is that nobody outside Google will be able to tell which patches constitute Honeycomb, because Google isn't publicly releasing that information.
"Honeycomb is a set of patches. Ice Cream Sandwich is a larger set that includes Honeycomb patches. The source will get out there. The question is will we tag it to let somebody reconstruct a Honeycomb build," Morrill said "We don't know yet. It depends on how things shake out in the fourth quarter," when Ice Cream Sandwich ships.
But Dave Sparks, technical lead for Android's media framework, was blunter.
"We're not releasing Honeycomb source," Sparks said.