By now, everyone is done losing their minds over the multiple revelations of the last few weeks that seem to indicate that Google will not be as "open" as they've claimed to be up to this point. One significant article, appearing on Businessweek, gave the impression that Google was significantly tightening the reigns over the future direction of Android. It remains to be seen just how much control Google intends to exert over Android, but the more interesting question is how they intend to go about exerting that control. In theory, since Android is open source, they shouldn't have the ability to reign in any unwanted use of their platform. The truth is that Google has always skirted the line of open source and in doing so has taken the liberty of criticizing Apple for doing they very things that they appear ready to do themselves. The issue isn't a simple one but is getting clearer to understand by the day as multiple stress points have collided in the last few weeks.
"It's Complicated" with Google and Open Source
To begin, we should back up a little bit to recognize exactly what Google's relationship with the open source community has been up to this point. Contrary to the popular belief that Google is completely open, Google has had a contentious relationship with open source diehards for long time. The open source purists would have you believe that nothing is actually open source unless it is developed alongside the community that has full access at every point of development. Nightly builds, placed on software repositories and available to anyone, are a staple of open-source projects. To call one's software open-source is to accept that people are going to take the work at some point and do something with it that you didn't intend and probably don't want. The trade-off is that by making source code available at all times, you're also receiving the collective aid of the online community. Successful open-source projects include various versions of desktop Linux, particularly Debian, OpenOffice, Firefox, Wordpress and Webkit, the browser engine that Apple open sourced in 2005.
There are, of course, varying degrees to which an entity might choose to make their source code available to anyone online. There is no open source regulatory agency that runs around enforcing the release of code in a regular and timely manner. For this reason, a company like Google has often been able to adopt the moniker of open source and take credit for their openness while not completely abiding by the accepted rules of the open source community. Google is famous and infamous for open-sourcing most of their products. Famous because they are a giant company that offers popular services, but infamous because they choose to develop nearly everything in-house and then release the source code after they've already launched their service and gained traction. To some people, this is just a for-profit corporation doing what it can to help the community. For others, this is a for-profit corporation using the open source community as a sort of indemnification from responsibility. If Google eventually gives away its code, it can maintain the political posture that they can't be held responsible for leveraging their monopolistic position against new industries. Since they "give away" their code, anyone can theoretically benefit from their work. In practice, however, Google tends to move into whatever services they choose and dominate quickly, making the open sourcing of their code an irrelevant action. In other words, many people view it as an empty gesture that only serves to foster goodwill.
Android's Programming and Mission
This has never been more true for Google than with Android. Google purchased Android in 2005 and worked to reform the ultimate goals of Android to better benefit Google. Put simply, while Android was designed as a mobile OS to compete and be sold by license or services like most other mobile OS's of the time, Google saw Android as an opportunity to ensure that Google Search, essentially their only profitable service, would continue to be dominant in the emerging mobile space. In order to secure that future, Google needed a way to get Android, with search front and center on it, on as many handsets as possible. Just like with Google Maps, Google Calendar, GMail and virtually every one of their web services, the best way to make that happen was to make it free. In fact, free wasn't even enough because the mobile market was already occupied by established manufacturers with their own goals, relationships with carriers and rivalries with each other. In order to make the greatest possible impact, Google would need to make the source code available to be manipulated and customized by manufacturers. in 2007, Google did just that with the introduction of the Open Handset Alliance, a consortium of industry players who would promote open standards in the wireless industry. The OHA unveiled Android at the same time, giving the impression that the OHA would be controlling Android in the future.
This expectation proved to be false, as Google not only developed Android entirely in-house but even worked with HTC to make the first Android handset, the G1. The G1 even had Google branding on it, beginning a long trend of Google putting their own name on handsets that introduce a new version of Android. To what degree the Open Handset Alliance does anything is not known, as they don't appear to have had any hand in developing Android or in producing anything else. In a sense, this was another tactic by Google to position Android as not locked-down by one company. As Apple's iPhone began gaining significant mindshare, Google knew that the appeal of Android was in the idea that it was an open platform, unlike the curated, closed iPhone ecosystem. You could view this as the beginning of significant, inauthentic posturing by Google that their open-source OS was in some way open to consumers. Just as the OHA and open source communities had no control over Android until significantly after releases, so did consumers have no real choice or options with their Android handsets. Virtually every Android phone from the G1 to handsets today go through a similar development cycle: Google develops a version of Android, a manufacturer either works with Google or takes the source code when it's available, a handset is made and negotiated with carriers, and then the phone is sold through the carrier to the consumer. At no point along this path does the consumer have real control over the device, and nobody other than a small percentage of hacker-types is going to modify the software to suit their purposes. In such cases when they do, companies like Motorola have no problem voiding the warenty of the handset and not offering support. In this respect, modifying an Android phone is no different than modifying an iPhone, except that someone who jailbreaks an iPhone can always restore the phone by plugging into iTunes.
Yet nobody would ever get this impression by listening to Google or people who don't understand the industry well. Andy Rubin, the founder of Android and its director at Google, is famous for saying the word "open" as many times as possible when people criticize the modifications to Android that have provided poor experiences. He seems unwilling to admit that this "openness" only exists for OEMs and carriers, not for actual consumers. After Steve Jobs jumped on the Apple earnings call in October last year and criticized the fragmented nature of Android, Rubin tweeted the directions for extracting the Android source code as "the definition of open." We'll revisit that bravado at a later point, but it's worth pointing out that that type of response is a clear indication that Rubin, and Google by proxy, is not really focused on what matters to consumers. No consumer is going to go to the Android repository, extract the source code, and build their own Android phone. Just saying "open" seems to work, though. In the FCC's net neutrality order, they actually said that they didn't impose restrictions on wireless networks because of "recent moves towards openness, including the introduction of open operating systems like Android." The confusion woven by Google seems to have worked out just fine.
Meanwhile, Google has stayed true to its other practices in open source. They've developed Android internally, worked with a single manufacturer on each release of the OS, then open-sourced the code months later. For consumers, this has proven to be a frustrating process, as OEMs haven't gotten access to new versions until months after each new version is unveiled. This was particularly evident this last year, as Google introduced Android 2.2 "Froyo" in May, but no phone shipped with it until August, the same time updates came to phones other than the Google Nexus One. In August, phones were still shipping with versions 1.6 and 2.1. The Galaxy S line from Samsung , which shipped in July-September with 2.1 has only seen updates to 2.2 in the last two months, a sad fact since Google unveiled Android 2.3 "Gingerbread" in December with the Nexus S. Open-sourcing the code has not led to timely or meaningful releases from most manufacturers, yet Google has treated the very fact that they open-source as evidence that they are on the consumers' sides.
As more and more OEM skins began fragmenting the Android experience, the one trump card people believed Google held was to withhold access to the Android Market and Google apps such as Gmail. Yet Google has proven to be surprisingly indiscriminating in what devices on which to allows those apps. Low-end phones with terrible skins and tablets that aren't given the Google blessing (Samsung Galaxy Tab) receive the apps, giving the impression that Google really doesn't care what devices run Android or how poor the experience is. All that's mattered up to this point is getting Google search on as many phones as possible, and the strategy has worked to dramatically boost Google search from mobile devices.
Taking the High Road?
So where did Google and Android stand in March 2011? Google is a giant search and advertising company using Android to boost use of its search on mobile devices. Google releases each version of Android as open source, both to drive adoption by virtually every manufacturer and to gain good will as a benevolent company. Google is not restricting how Android is used in any meaningful way, weighing Android and search adoption over ensuring a good consumer experience. Google is also, very importantly, using its position as open source advocates as a way to jab Apple for being comparatively draconian. None of the examples given here factor into Google's willingness to pretend that they take the moral high road in developing their OS.
So while we have demonstrated the hypocrisy and incongruence of Google's positions up to this point, a number of developments in the last few weeks have placed the question of Google's moral leadership up for public debate. Truth be told, Google's position going forward is no more incriminating than what they've done up to this point. It does, however, shine more light on the process and myths of the superiority of open source. We'll examine these issues in Part 2.