Why Android isn't as "open" as you think it is

I caught an excellent presentation by Aaron Williamson from the Software Freedom Law center here at OSCON yesterday examining why smartphones built on open source software aren’t as open as they possibly could be. What Williams talked about was often eye opening, though there were a few points I found myself disagreeing with him on.

 

He started the presentation by talking about Motorola’s Droid X and the controversy that was stirred up when hacking enthusiasts discovered that Motorola had implemented an encrypted boot loader that forced the device to boot into a “recovery” mode in the event a custom ROM was detected on the device. While this was shocking (and even infuriating) to some, The only thing setting Motorola apart from the other Android OEMS in this case is that they’re actually enforcing the restrictions mandated by the OS maker.

As it turns out, Android is *always* proprietary in its implementation on a phone. The reason for this is twofold; the software layer that bridges the operating system to the hardware is often closed source because certain optimizations in that software stack may give that particular OEM a competitive advantage – say improved 3D gaming performance – while the other has to do with regulatory issues. The FCC, for example, mandates that cellular phone hardware run within certain parameters, necessitating OEMs to implement code that people can’t easily break into or reverse engineer. This could be done in hardware, sure, but most manufacturers sell their phones globally, and having specialized hardware configured for each reasons regulatory agency simply wouldn’t be cost effective.  Another reason cited was software patents. Open sourcing those software stacks that could give you a competitive advantage makes it much easier for your competitors to swoop in and take them. Sure, patent law exists for a reason, but the typical patent lawsuit drags on for 2 years before there’s any meaningful resolution – meaning that by the time the lawsuit concludes, the technology being sued over is already obsolete.

Just how proprietary are the implementations of Android? After examining what isn’t open source and why in contemporary Android phones (and on HTC G1), Williamson set out to see just how open he could make his phone while still maintaining phone functionality. After stripping all of the proprietary software with the exception of the modem firmware and audio routing software, he was left without: A camera, GPS, WIFI, Sensors, 3D , Bluetooth, Market.
A surprising lack of functionality in an operating system that is presumably so “open”. Indeed, Android employs a similar licensing structure to MeeGo and Symbian: The Kernel is GPL and everything is Apache 2.0, allowing for proprietary modifications.

On the subject of openness: when I asked him about his thoughts on webOS after the presentation (the one platform he didn’t mention) he told me that he hasn’t looked at the platform because such a large portion of the software stack is proprietary, though a good portion is made up of open source (see opensource.palm.com). The question that I would posit to him, in retrospect, is this:  what portion of the software stack has to be open source? He’s already proven that Android isn’t very functional without proprietary software (you can’t even make a phone call without it!), and since webOS is imminently more “open” and hackable, why not take a look at it?  

The biggest point of his presentation, the one he was driving at the entire time, is the one that I perhaps disagree with the most: that when these OEMs lock out what could be their most dedicated and loyal users, they are potentially harming themselves in the long run. Honestly, I fail to see how a small subset of hacking enthusiasts could really affect the larger sales picture. He gave examples of how communities have spurred companies to release hardware that’s easier to hack around in, such as the OpenWRT project, but he failed to provide any concrete evidence that those groups bolstered sales of those particular models outside of that small subset of users. Now don’t get me wrong, I’m all for the idea of open, hack it to do anything you want hardware and software, but I’m doubtful that lacking these things will significantly impact manufacturers sales (see: iPhone)

The big take away here is that open source doesn’t always mean “open”. If a manufacturer wants to lock you out of your open source phone, they’ll sure try (but will generally fail; even the previously mentioned Droid X has finally been rooted). The biggest problem from an enthusiast standpoint is that folks like Cyanogen will continue to exist in a legal grey area, as members of the “open handset alliance” continue to perpetuate the myth that its platform has anything to do with openness.   

VERY enlightening read...

by Ben Pike