Andy Rubin On Android's Openness: Light On Community, Heavy On Open Source
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. “