Sunday, April 29, 2012

Android and the Difficulties of Open Source

Betanews discusses the problems with Android being customized by Amazon and others:

It seems there are many problems with Android being so open-source, both for Google and the consumer. The fragmentation issue is a  frequent topic on the blogosphere - how Android is being fragmented into too many versions, both from manufacturer customizations and people on older versions of Android. This makes it difficult for developers to create apps that will work well on the various versions of Android. Manufacturers or cell phone companies are able to customize the OS is many different ways, frequently making changes that can be annoying to both the user and Google. For example, Verizon once made a deal with Microsoft to make Bing the default search engine on some phones. And companies such as Amazon can go further and create an entire competing ecosystem. In addition, it seems it makes it easier to sue over Android, since one can point to specific lines of code that infringe copyright or trademarks.

All these issues raise the question - why did Google make all of Android open-source? It's not like they're relying much on other programmers to contribute to  the code. While Android was based off Linux and started as an open-source project, couldn't Google have kept some of the code closed or at least placed certain restrictions on it? I asked this question a while ago on Quora, but I'm not sure if the answers completely resolve the issue. The purpose was to get more people to use Android, and thereby get them to use more Google services, such as search. That makes sense for why they would invest in Android and give it away for free, but did they need to make it fully open-source? Verizon and the phone manufacturers were desperate for something that could compete with the iPhone, so I doubt they would have minded if Android had a couple of restrictions.


  1. also see here -

  2. I don't know if that discusses the issue of Android being open-source specifically. Hardware fragmentation is necessary for Android since its purpose is to run on a wide range of devices. The more serious problem is software fragmentation, both from old OS's and modified ones (see here: