Over the past few years there has been grumbling among some that Google needs to stop calling Android open source. The argument is a simple one: Google can call Android open source as long as it doesn’t place any requirements on its OEMs to use Android. This article will unpack some of the misconceptions about what it means to say that Android is open source and deal with the two major instances where Google has been accused of violating its own principles concerning Android.
First and foremost, what does it mean to say that Android is open source? That means that Android is available for anyone and everyone to download and use however they please. If a manufacturer wants to put Android on a piece of hardware, they are free to do so without having to pay a dime. Anyone can download Android and do whatever they want with it. The source code for Android is published so anyone can use Android in any way they like.
Google released Android as an open source platform because Google believes that being open enables all sorts of innovations that you often don’t see on closed platforms. Being open means that Android isn’t limited for use only on devices that Google blesses. Unlike iOS, which only runs on the iPhone, iPod Touch, and iPad, Android runs on all sorts of form factors from phones to tablets to multimedia devices to robots.
While Android is open source and available for everyone to use, the Google Play store and Google apps (Gmail, Google Calendar, Chrome, etc.) are only available to Google’s partners in the Open Handset Alliance (OHA) that are certified by the Android Compatibility Program (ACP). It is free for anyone to join the alliance, but in doing so the company must agree to not fork Android and instead strive to avoid fragmentation of the Android platform. What this means is that a manufacturer like Acer cannot release a device that runs a non-compatible version of Android. If Acer wants to release a device with a non-compatible version of Android they can, but they’ll have to leave the OHA and lose access to Google’s ecosystem.
Restricting access to Google’s apps and ecosystem does not mean that Android is no longer open source. Anyone can download and use Android however they want, but to be a part of Google’s larger ecosystem, manufacturers have to play by Google’s rules. This is important: there is a difference between Android and Google’s apps; the former is open source, the latter is closed source. Android and Google’s apps are mutually exclusive – Google will let anyone use Android, but not just anyone can use Google’s apps or have access to their ecosystem.
The first time that Google appeared to be overstepping its bounds in terms of Android being open sourced was with Motorola’s attempted use of Skyhook in 2010. If you don’t remember, Skyhook Wireless is a location services company that uses WiFi positioning instead of GPS to give mobile devices location data. Motorola was planning on using Skyhook instead of Google’s location services in the Droid X back in 2010, but Google refused to certify the device with Skyhook’s location services. Google’s reasoning for refusing certification is that the way that Skyhook integrates its data with Google’s would contaminate Google’s location data. Because location data is critical to Android’s success (just ask Apple how their new Maps app has affected their reputation), Google refused to certify the Droid X. Was Google in the wrong for doing this? I’m not an expert in location services, but if there was a possibility that Skyhook’s data could have interfered with Google’s (which Google claims was the case) then I think Google was in the right.
The second major instance occurred just a few weeks ago when Acer announced that they would be releasing a device running Aliyun, but then quickly canceled the press event after Google spoke up. According to Google, Aliyun is a fork of Android, so Acer cannot release a device running the operating system and still be a part of the Open Handset Alliance. While this move was panned by critics who accused Google of betraying their open source principles, the reality of the situation is that Acer made a choice. At any point Acer can leave the OHA and make devices running Android without Google’s ecosystem or forks of Android. Google isn’t forcing Acer to do anything. Acer made the decision to be a part of the OHA and keep Android free from fragmentation. Acer is free to pull an Amazon and create their own ecosystem if they want to.
Despite what the critics say, Android is still and always has been open source. The key to understanding the hubbub is to understand the difference between Android and Google’s apps. Most of the misunderstanding about whether or not Android is actually open source seems to stem from the idea that Google wants to control Android more than they’re letting on. While I wish that were the case, the evidence indicates that Google is happy to keep Android open for anyone to use. Even though one could make a very compelling case that OEM skins have detrimental impact on Android compatibility, Google has done nothing to date to stop OEMs from customizing how Android looks and behaves while still having access to Google’s ecosystem of apps and content. Open has nothing to do with when updates are released or the terms to use Google’s closed source services and apps. Until Google stops releasing source code for Android, the argument that it is “clopen” or that Google restricts who can use it is just plain wrong.