Martes, Enero 22, 2013

Behind the Open Source facade



What’s even more fascinating is how closed Android is, despite Google’s old do-no-evil don’t be evil mantra and the permissive Apache 2 license which Android SDK source code is under. Paraphrasing a famous line from Henry Ford’s book on the Model-T, anyone can have Android in their own colour as long as it’s black. Android is the best example of how a company can use open source to build up interest and community participation, while running a very tight commercial model. [updated in response to reader comments:] Again I ‘ll emphasize that the closed aspects of Android apply to the handset OEM (pre-load) ecosystem, not the software developer (post-load) ecosystem (see the comments section for a deep dive into pre-load vs post-load].




How does Google control what services, software and hardware ships in Android handsets? The search giant has built an elaborate system of control points around Android handsets.

To dig deeper we spent two months talking to industry sources close to Android commercials – and the reality has been startling. From a high level, Google uses 8 control points to manage the make-up of Android handsets:

1. Private branches. There are multiple, private codelines available to selected partners (typically the OEM working on an Android project) on a need-to-know basis only. The private codelines are an estimated 6+ months ahead of the public SDK and therefore essential for an OEM to stay competitive. The main motivation for the public SDK and source code is to introduce the latest features (those stemming from private branches) into third party apps.

2.  Closed review process. All code reviewers work for Google, meaning that Google is the only authority that can accept or reject a code submission from the community. There is also a rampant NIH (not invented here) culture inside Google that assumes code written by Googlers is second to none. Ask anyone who’s tried to contribute a patch to Android and you hear the same story: very few contributions get in and often no reason is offered on rejection.

3. Speed of evolution. Google innovates the Android platform at a speed that’s unprecedented for the mobile industry, releasing 4 major updates (1.6  to 2.1) in 18 months. OEMs wanting to build on Android have no choice but to stay close to Google so as not to lose on new features/bug fixes released. The Nexus One, Motorola Droid, HTC G1 and other Experience handsets serve the purpose of innovation testbeds for Google.

4. Incomplete software. The public SDK source code is by no means sufficient to build a handset. Key building blocks missing are radio integration, international language packs, operator packs – and of course Google’s closed source apps like Market, Gmail and GTalk. There are a few custom ROM builders with a full Android stack like the Cyanogen distribution , but these use binaries that are not licensed for distribution in commercial handsets.

5. Gated developer community. Android Market is the exclusive distribution and discovery channel for the 40,000+ apps created by developers; and is available to phone manufacturers on separate agreement. This is one of the strongest control points as no OEM would dare produce a handset that doesn’t tap into the Android Market (perhaps with the exception of DECT phones, picture frames, in-car terminals or other exotic uses of Android). However, one should acknowledge that Android’s acceptance process for Market apps is liberal as it gets – and the complete antithesis of the Apple vetting process for apps.

6. Anti-fragmentation agreement. Little is known about the anti-fragmentation agreement signed by OHA members  but we understand it’s a commitment to not release handsets which are not CTS compliant (more on CTS later).

7. Private roadmap. The visibility offered into Android’s roadmap is pathetic. At the time of writing, the roadmap published publicly is a year out of date  (Q1 2009). To get a sneak peak into the private roadmap you need Google’s blessing.

8. Android trademark. Google holds the trademark to the Android name ; as a manufacturer you can only leverage on the Android branding with approval from Google, much like how you need Sun’s approval to claim your handset is Java-powered.



In short, it’s either the Google way or the highway. If you want to branch off Android you ‘re completely on your own and you need resources of the size of China Mobile (see their OMS effort ) to make it viable (hint: China Mobile is the biggest network operator bar none).

The Open Handset Alliance is another myth; since Google managed to attract sufficient industry interest in 2008, the OHA is simply a set of signatures with membership serving only as a VIP Club badge.

Another big chapter in the Android saga is the CTS (compatibility test suite) which is the formal testing process by which a handset passes Google requirements. According to our sources, CTS extends significantly beyond API compliance, and into performance testing, hardware features, device design, UI specs and bundled services. CTS is based on the principle of ensuring baseline compliance, so it’s ok to add features, but it’s not ok to detract; compare this with Apple’s no-Flash policy. Note that beyond CTS compliance, there are additional commercial licensing agreements that OEMs have to sign for Google services and private line access.

CTS hampers Android’s progress as well, as it precludes OEMs from creating stripped-down versions of Android that would fit on mass-market phones – those shipping in the 10s of millions. CTS – and forward compatibility to the pool of 40,000+ apps – is Google’s main challenge for hitting a 2-digit market share in the smartphone market. These restrictions – and frienemy relationship between Google and its OEM partners – have stirred up discussions of an ‘Android foundation‘ within OEM circles

Walang komento:

Mag-post ng isang Komento