Open-source mobile platforms are tricky, Ch. 23: The Android SDK Blow-Up

You can do nearly anything you want on Android, except try to create a new Android. Wait, what now?

Credit: Photo by Dplanet:: on Flickr

Positioning yourself as the open alternative to Apple’s tightly controlled iOS environment for iPhones, iPads, and iPods can win you a lot of friends in the development community. Unfortunately for Google, some of those friends will suggest, on the first sign of change, that you’ve Gone Corporate and should just go ahead and move to a McMansion in the suburbs. Explaining why you’re making the change doesn’t do much good, either.

In this specific example, Google made some changes to the Terms and Conditions of their official Android software development kit (SDK). In particular, Google added this line in late 2012, according to PC World:

You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.

That’s aimed squarely at the likes of Amazon, who created their own version of Android to power their Kindle devices, and other phone manufacturers, many overseas, creating separate branches of Android that don’t push improvements and innovations back into the main Android project. And the standard Terms language states, basically, that you must agree to the terms of use before using the SDK, which goes against a core principle of the open-source philosophy: no restrictions on how and why you use the code of certain software.

The response has been swift and relatively pointed on coder water cooler sites like Slashdot and Hacker News. A free and open version of Android and its SDK, Replicant, just updated itself to serve free-minded Android coders. There are, of course, trade-offs, such as not having access to the Android images released for developers by Google before each version actually launches.

I’m fairly certain there are experienced open-source coders inside Google that have seen great projects go awry in many sad ways. Initial goals and ideals are abandoned, politics put a big hurt on achievement, contributors feel embattled and underappreciated, and big projects move too slowly to adapt new technologies and concepts. So a bit of top-level guidance might make sense to some. But if you’ve set the expectation that Android is an open project that can change with the community, it’s a tough thing to tell people that the tools you are providing are only for making Android apps, for actual Android phones, and don’t you dare think of creating tools for an alternative platform.

Andy Rubin, vice president of engineering at Google, has responded to this kind of uproar before. Google’s stance and response likely remain the same: Android is an open platform, but we take steps to ensure compatibility. Compare this to the Ruby on Rails development environment, where David Heinemeier Hansson declares himself the chef, the environment as a single-menu restaurant, and diners as free to leave if they don’t like what’s offered.

Sometimes it’s easier to let people vote with their feet.

ITWorld DealPost: The best in tech deals and discounts.
Shop Tech Products at Amazon