Contrary to some reports, everything that makes Android "Android", including all the core platform components and libraries needed to port Android to new devices will be open sourced under commonly used, industry standard licenses, says Google.
What is open I confirmed with three different Google employees at the Google I/O conference in San Francisco that the core Android platform will be 100% open source. Even multimedia codecs, which historically are held close to the vest will be open. Except where noted, everything will use the Apache software license (ASL v2). This is the same open source license used by projects like the Apache HTTP server, Tomcat, Harmony, and many other large projects in the open source community.
There are two exceptions to the Apache license rule:
- Software that is already covered by by a free/open source license will continue to use that license. Most notably, this includes Google's enhancements to the Linux kernel. Linux uses the GNU Public License (GPL v2) so enhancements to the kernel will use the same license.
- Any software that touches Eclipse, for example the Eclipse Android Development Tools plug-in (ADT) will be licensed under the Eclipse Public License (EPL), because that's what Eclipse uses.
What is not Google chose the Apache license because it gives carriers, OEMs, and application developers the freedom to use whatever license they want for their own software. While Google encourages everyone to make their own code open if possible, it's not required by the license. Even Google plans to make a few of their applications closed-source, including their GMail application. These programs are not part of the core Android system, even though they may be bundled with Android phones.
A Google employee I talked to felt the need to apologize for this. "We're not holding it back for any nefarious purpose," says Dick Wall on the Android team. "We're simply not ready to publish the API that talks to the back end server." This makes sense given Google's extreme reluctance to be "stuck" with a poorly thought out API that they can't support forever. This doesn't preclude the company from opening up the source to those apps later.
Remember that up to now, all the software on your typical cell phone has been proprietary. With Android, carriers like Sprint and Cingular are free to use either open or closed source for any custom applications they install on their new Android phones. And of course, third party programs (like the ones you write) can be open or closed. It wouldn't surprise me to see completely free/open distributions of Android which eschew any proprietary add-ons in favor of open source alternatives.