Eight years ago, the CyanogenMod project exploded onto the mobile device software scene. The Android-based open source mobile operating system quickly caught the attention of developers, Android fans and investors, and attracted interest from tech giants including Microsoft and Google. But at the end of last year the project imploded spectacularly. Today the CyanogenMod project is no more, but the arc of its story offers fascinating insight into the world of open source software development.
The project started out innocently enough following the discovery, in 2008, of a way to root mobile phones running Google’s Android operating system, allowing modified firmware to be installed on rooted devices. One such piece of firmware was created by a developer called Steve Kondik, whose online handle was Cyanogen — a colorless toxic gas made by oxidizing hydrogen cyanide. The modified firmware was known as CyanogenMod.
Developers are able to create modified firmware because Android is, at its heart, an open source operating system, and pretty soon CyanogenMod became a project with a community around it. At the center of this was a core group of software hackers who became known as Team Douche. The project was hosted on GitHub, had regular releases, and versions were built to support an increasing number of Android devices.
One hiccup the open source project encountered at the tail end of 2009 was a potentially serious legal problem. Android firmware for most mobile devices includes the open source Android operating system as well as a group of proprietary Google apps (collectively known as GApps), including Gmail, Google Maps, YouTube, and Google’s Android app store (which is now called Google Play.) Google licenses these GApps for inclusion in vendors’ firmware, but they are not freely available for inclusion in modified firmware such as CyanogenMod, as Google explained in a blog post at the time.
As a result, Kondik received a “cease and desist” letter from Google asking that the GApps be removed from CyanogenMod. That was a serious problem because the ability to run those GApps is a significant part of the attraction of Android. Without them, and particularly without Google’s app store, an alternative firmware distribution is severely diminished.
It’s worth considering at this point that Google’s approach to Android isn’t unique, although it is slightly different. Many commercial organizations offer free open source software and also sell a product based on that open source code that includes proprietary add-ons that extend the functionality, as well as additional services, such as support. A good example is Kubernetes, a Google-incubated container management and orchestration tool that forms the basis of many commercially available container management systems such as CoreOS’s Tectonic platform. Where the situation with Android differs is that Google doesn’t sell its GApps to monetize Android. (Instead, it uses Gmail and YouTube to generate advertising revenue, for example.)