Andy Rubin On Android's Openness: Light On Community, Heavy On Open Source

If you’ve been following the rise of Android, you’ve probably seen some of the controversy around how open (or not) Google’s hugely successful mobile OS actually is. In October Android Chief Andy Rubin provided his first definition: a command that can be used to download the Android source. But that didn’t convince everyone, and the issue came to a head last month when it was revealed that Google would not be releasing the source code to Honeycomb for months — putting tablet manufactures who haven’t received early access behind the curve.

Today during a press Q&A at Google I/O, Rubin gave a more detailed explanation on how he views Android ‘sopenness, explaining that there is a difference between open source and a community-driven project (and that Android skews heavily toward the former). The reason, he explains, is that developers need to be able to count on certain APIs being available on all Android devices running a given version of the OS. Here’s a paraphrased quote:

“Open source is different from a community-driven project. We’re light on community, but everything we do ends up in an open source repository. We make the code open source when the first device is ready. We’re building a platform, we’re not building an app. When you’re building a platform, you evolve and improve APIs, and sometimes APIs are deprecated.

When you’re dealing with new APIs community processes typically don’t work — it’s really hard to tell when you’re done, and it’s hard to tell when it’s a release and when it’s beta. And developers need an expectation that the APIs they’re using are done. If someone were to look at an early release, they could start using APIs that aren’t ready and their software might not work with devices. We’re in a shepherd role and we made the decision to release the platform in the 1.0, 2.0, etc. scenario to make sure these APIs that developers are using are available on all devices on the platform. And going forward it’s part of our job to make sure that stays together. A community process is more difficult to manage — we take submissions, but it’s in a more controlled way as far as how it comes back out. “