Open Source and Android: A History of Google's Linux-Based Mobile OS thinkstock.com

Open Source and Android: A History of Google's Linux-Based Mobile OS

A brief history of Android, Google's Linux-based, open source mobile operating system for tablets and phones, now under attack by E.U. regulators.

How open is Android, Google's Linux-based mobile operating system? That's a question European regulators are now asking as they level antitrust charges against Alphabet, Google's parent company. To gain some perspective on the issue, a brief history of Android and its role in the open source ecosystem is in order.

The E.U.'s beef with Android centers on claims that, although the mobile operating system is open source, it stifles healthy market competition in the regulators' view. That's mainly because Android devices require vendors to promote Google products and services, they say.

How did it come to this? How did a mobile operating system that's open source -- and should therefore be a key balance for Apple's decidedly closed-source iOS -- end up facing charges of monopolizing a market? The answers lie in part in the history of Android, Google's reluctance to pitch it as a truly open source (rather than just vaguely "open") OS and Android's awkward fit within the open source ecosystem.

The Rise of Android

So let's start at the beginning. In the broadest sense, Android's history dates to 2003, when a team of California entrepreneurs launched Android, Inc. Their initial goal was to develop software for digital cameras. In 2005 Google acquired the company and put the team of Android, Inc. developers to work building an operating system for phones that was based on the Linux kernel and adaptations of some other open source utilities. At the same time, Google courted industry partners to help launch what it saw as an important competitor to closed smartphone operating systems, especially Apple's iOS for iPhones.

Google's programming and partnership efforts came to fruition on November 5, 2007, when it announced Android to the world. The company billed the operating system as "the first truly open and comprehensive platform for mobile devices." At the same time, Google launched a partner network it had built to promote and distribute Android called the Open Handset Alliance. The next year T-Mobile introduced the first Android-based smartphone, the G1. In short order, Google's Linux-based operating system became a major contender in the mobile operating system market, in which Android powered eighty percent of devices by 2013. It has held that position into the present.

Open Source or Just "Open"?

Yet not all open source supporters welcomed this feat. Because Google and the Open Handset Alliance placed very little emphasis on the open source core of the Android platform, some open source advocates viewed Android as a threat to openness and interoperability more than an outsize example of open source's success.

The decision by Google and its partners to downplay the importance of open source to Android was no mistake -- which helps to explain why regulators today are so reluctant to see the platform as truly open. From the beginning, Google was circumspect about advertising Android as a distribution of Linux. The company did not mention the Linux kernel in the official announcement of the platform in 2007. By 2009 Google engineer Patrick Brady publicly declared that "Android is not Linux," primarily because it does not include the standard "Linux utilities" (most of which were actually GNU programs, not the work of Linux kernel developers) and lacks support for the glibc C library. Instead, Android uses a customized C library called bionic, which is derived mostly from the BSD code base.

For the most part, Google executives even avoided using the term “open source” in describing Android, despite their extensive emphasis on the “openness” of the platform. To them, “open” referred to the collaborative nature of the development and marketing ecosystem surrounding Android rather than the code itself. Most other organizations that belonged to the Open Handset Alliance similarly stuck to the “open” term without referencing Linux or open-source software when Android was announced. Texas Instruments and Wind River were the only exceptions.

As for licensing, Google and its partners adopted permissive Apache-style terms for most of the Android platform. The Linux-based kernel code, which they could not legally switch from its original GPL license, was the only major part of the Android code base that remained subject to licensing terms that aggressively protected the openness of the code.

Hackled Hackers

Both politically and technically, the disconnect between Android and the mainstream open source community has irked many hackers since Android's launch, just as Android is annoying the E.U. today. At the time of the November 2007 Android announcement, critics began contending that the Apache-style licensing of most of the Android platform stunted the potential of Android to become a truly innovative operating system for mobile devices by encouraging more open source development in that market. One critic wrote:

Google has sacrificed an opportunity to encourage greater openness in the broader mobile software space. If Android was distributed under the GPLv2, companies building on top of the platform would have to share their enhancements, which could theoretically lead to widespread sharing of code and a more rapid acceleration of mobile software development.

Others complained that “the use of the Apache licence is the biggest problem with Android.” Such remarks reflected worries that the permissive licensing of most of the Android code meant that “manufacturers might fork the code road in a non-interoperable kind of way” by building their own Android variants without sharing their modified code with the Open Handset Alliance members or the open source community more broadly.

Google responded to such criticisms by requiring members of the Open Handset Alliance to agree not to “fragment” the code by releasing mutually incompatible variants of the platform. That mandate, however, did nothing to prevent companies that did not belong to the group from doing as they wished with Android. Nor did it placate users who argued that “if Android had just used the GPL (which prohibits forking), then this problem would have [been] avoided.”

Leading hackers have also been critical of the way Android incorporates FOSS code. Although Richard Stallman in September 2011 called Android “a major step towards an ethical, user-controlled, free software portable phone,” he lamented that Google had originally refused to release the source code of the non-GPL-licensed components of the platform. He also complained that Android makes it easy for hardware manufacturers and software programmers to incorporate non-free software applications into Android-based devices.

Android and Linux

For their part, Linux kernel developers excised the Android driver code from the kernel in 2009, a decision they said they were “so sad” to have to make. That change effectively divorced Android from the mainstream Linux kernel code base, a situation exacerbated by Google programmers' decision to develop their own solutions for tasks such as power management on Android rather than borrowing the code from Linux.

By March 2011 some critics speculated that Google might face legal action for having violated the GPL by forking the Android code base. Linus Torvalds dismissed such claims as “totally bogus,” and he has since expressed optimism that the Android and Linux code bases will eventually return to a state of mutual compatibility. Still, the unhappiness of many FOSS hackers with Google's approach to Android, and the practical lack of opportunities for collaboration that the forking of the Android kernel code has imposed, have been clear enough since Android's introduction in 2007.

Viewed against this historical backdrop, it is less surprising that regulators are now calling out a nominally open source operating system for monopolizing the market. While Android is certainly more open is most respects than iOS, Google has done a poor job of pitching its mobile OS in a way that has pleased anyone other than its partners. Had the company worked harder to collaborate with the open source community and promote rather than hide the open source core of Android, Google might not find itself so alone in trying to defend the platform today.

Some material in this post is adapted from my book For Fun and Profit: A History of the Free and Open Source Software Revolution, which is forthcoming with MIT Press. The manuscript is under revision, so devastating criticism and fawning praise are equally welcome.

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish