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.
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.