CyanogenMod is an open source operating system for smartphones and tablet computers, based
on the Android mobile platform. It is developed as free and open source software based on
the official releases of Android by Google, with added original and third-party code.
Initially, CyanogenMod releases were provided on a nightly, milestone, and "stable version"
schedule; as of CyanogenMod 11 M6, the "stable" label will no longer be used, having been
supplanted by "milestone" M-builds that are part of the CyanogenMod's rolling release
development model. CyanogenMod offers features and options not
found in the official firmware distributed by mobile device vendors. Features supported
by CyanogenMod include native theming support, FLAC audio codec support, a large Access Point
Name list, an OpenVPN client, Privacy Guard – a per-application permission management
app, support for tethering over common interfaces, CPU overclocking and other performance enhancements,
soft buttons and other "tablet tweaks", toggles in the notification pull-down, as well as
other interface enhancements. CyanogenMod does not contain spyware or bloatware, according
to its developers. CyanogenMod is also stated to increase performance and reliability compared
with official firmware releases. Although only a subset of total CyanogenMod
users elect to report their use of the firmware, as of June 2014, CyanogenMod has recorded
over 12 million active installs on a multitude of devices.
In 2013, project founder Steve Kondik announced that venture funding had been obtained to
establish Cyanogen Inc. as a commercial enterprise to develop and market the firmware more widely.
This announcement has led to controversy within the community, with some developers asserting
that rights and licensing issues, acknowledging/compensating past developers and honoring the original
ethos of the community project, are not being adequately addressed. These claims were rejected
by Kondik, who affirmed support for the community and stated that most CyanogenMod code, as
with Android generally, is bound by a non-restrictive Apache licence.
Firmware history and development Soon after the introduction of the HTC Dream
mobile phone in September 2008, a method was discovered to attain privileged control within
Android's Linux-based subsystem. Having root access, combined with the open source nature
of the Android operating system, allowed the phone's stock firmware to be modified and
re-installed onto the phone.
In the following year, several modified firmwares for the Dream were developed and distributed
by Android enthusiasts. One, maintained by a developer named JesusFreke, quickly became
popular among Dream owners. In August 2009, JesusFreke stopped work on his firmware, and
suggested users switch to a version of his ROM that had been further enhanced by developer
Cyanogen called "CyanogenMod". CyanogenMod quickly grew in popularity, and
a small community of developers, called the CyanogenMod Team made contributions. Within
a few months, the number of devices and features supported by CyanogenMod blossomed, and CyanogenMod
quickly became one of the most popular Android firmware distributions.
Like many open source projects, CyanogenMod is developed using a distributed revision
control system with the official repositories being hosted on GitHub. Contributors submit
new feature or bug fix changes using Google's source code review system, Gerrit. Contributions
may be tested by anyone, voted up or down by registered users, and ultimately accepted
into the code by one of a handful of CyanogenMod developers.
A version of ADW.Launcher, an alternative launcher for the Android operating system,
became the default launcher on CyanogenMod 5.0.8. The launcher provides additional features
not provided by the default Android launcher, including more customization abilities, the
ability to backup and restore configuration settings, and other features. As of version
9, CyanogenMod's own launcher, Trebuchet, is included with the firmware.
CyanogenMod 7 CyanogenMod 7 firmware is based on Android
2.3 Gingerbread with additional custom code contributed by the CyanogenMod Team. The custom
portions of CyanogenMod are primarily written by Cyanogen but include contributions from
the xda-developers community and code from established open source projects.
CyanogenMod 7 development began when Google released Android 2.3's source code. On 15
February 2011, the first release candidates of CyanogenMod 7 were rolled out on several
of the supported devices. The fourth release candidate was released on 30 March 2011 and
brought increased support for the Nook Color and similar devices as well as many bug fixes.
On 11 April 2011, the public version of CyanogenMod 7.0 was released, based on Android 2.3.3.
CyanogenMod 7.1 was released on 10 October 2011, based on Android 2.3.4. The latest stable
version, CyanogenMod 7.2 was released on 16 June 2012, based on Android 2.3.7, bringing
a predictive phone dialer, lock-screen updates, ICS animation backports and many bug fixes.
CyanogenMod 8 CyanogenMod version 8 was planned to be based
on Android 3.x Honeycomb. However, no source code for Honeycomb was provided by Google
until it appeared in the tree history of the Android 4.0 Ice Cream Sandwich source release.
Since Honeycomb was superseded by Ice Cream Sandwich, the release schedule advanced from
CyanogenMod 7 directly to CyanogenMod 9. CyanogenMod 9
CyanogenMod 9 is based on Google's Android 4.0 Ice Cream Sandwich. Steve Kondik and his
team have announced that they had begun work on the new release after Google released the
source code of Android 4.0.1. Development on this release took longer than with previous
releases due to the significance of the changes between Android 2.3 "Gingerbread" and 4.0
"Ice Cream Sandwich", and the team took this opportunity to clarify their vision for the
ROM and rethink any modifications which were no longer necessary due to improvements within
Android. By the last days of November 2011, some alpha
versions had been distributed, in particular for the Samsung mobile phones Nexus S and
Galaxy S. On 9 August 2012, after various betas and release candidates, CyanogenMod
released the finished version of CyanogenMod 9. Given that the next version of Android,
4.1 "Jelly Bean", had already been released by that point, development moved swiftly on
to CyanogenMod 10. On 29 August 2012, CyanogenMod released a minor update, version 9.1.0, bringing
bugfixes and an app called SimplyTapp for NFC payments.
On 4 April 2012, during development, CyanogenMod unveiled "Cid", the new CyanogenMod mascot,
which replaced the previous mascot, Andy the skateboarding "bugdroid". Designed by user
Ciao, Cid is an abbreviation of "Cyanogenmod ID".
CyanogenMod 10 In early July 2012, the CyanogenMod team announced,
via its Google+ account, that CyanogenMod 10 would be based on Android 4.1 Jelly Bean.
Nightly builds of CyanogenMod 10 were made available for many devices supported by CyanogenMod
9. Starting with the September 2012 M1 build, the CyanogenMod team began monthly "M-series"
releases. At the beginning of each month, a soft freeze of the CyanogenMod codebase
is put into effect; once the team deems a build stable enough for daily use, it is released
under the milestone or "M" series. On November 13, 2012, final stable builds
were released for several devices. CyanogenMod 10.1
CyanogenMod 10.1 is based on Android 4.2 Jelly Bean. Nightly versions are currently being
released for an array of devices, along with M Snapshots which are being released for select
devices. On June 24, 2013, the CyanogenMod 10.1.0 codebase
was moved to "stable" status, with a majority of currently-supported devices receiving stable
builds on the same day. CyanogenMod's developers have indicated that they will continue the
Monthly Snapshot schedule to incorporate new features until the next Cyanogenmod release.
Unfortunately, many devices utilizing Samsung Exynos and Nvidia Tegra 2 SoC's were not part
of the initial release. CyanogenMod 10.2
The first nightly release of CyanogenMod 10.2, which is based on Android 4.3 Jelly Bean,
began rolling out for a selected number of devices on 14 August 2013. It brings in some
new enhancements to the system, such as Bluetooth Low Energy and OpenGL ES 3.0 support, a
renewed Phone app, 4K resolution support as well as many security and stability improvements.
CyanogenMod 11 On 6 November 2013 the CyanogenMod team started
pushing the code of CyanogenMod 11, based on Android 4.4 KitKat, to GitHub. The first
nightly release of CyanogenMod 11.0 began rolling out for a selected number of devices
on 5 December 2013. Since then, M-builds have been released every month for supported devices,
offering a more stable experience than nightlies. With build M6 it was clarified that CyanogenMod
would no longer be releasing final builds specially tagged "stable", but instead would
utilize the rolling release model with M-builds representing a stable channel.
Cyanogen Inc.
Cyanogen Inc. is a venture funded company with offices in Seattle and Palo Alto, California,
announced officially in September 2013, which aims to commercialize CyanogenMod.
The funding was led by Mitch Lasky of Benchmark and raised US$7 million.
Commercialization controversy Rumors of plans to commercialize CyanogenMod
as well as the subsequent announcement of Cyanogen Inc. has led to some discord within
the CyanogenMod community. Several CyanogenMod developers have asserted concerns regarding
rights and licensing issues, appropriately acknowledging/compensating past developers
for their work, and concerns of undermining the original ethos of the community project
are being inadequately addressed. Examples include "Focal" camera app developer Guillaume
Lesniak whose app was withdrawn from CyanogenMod allegedly following demands by the new company
to adopt closed source modifications and licensing. In response, Steve Kondik affirmed commitment
to the community, stating that the majority of CyanogenMod was in fact historically not
GPL but Apache licenced, and dual licensing was being proposed in order to offer "a stronger
degree of protection for contributors... while still offering CM some of the freedoms that
the Apache license offers": "Google has gone to great lengths to avoid
the GPL by building their own low level components such as Dalvik and Bionic. In CM, the only
GPL component that currently comes to mind that we’ve added is our Torch app [...] The
Apache license specifically ALLOWS precisely what you suggest it doesn’t. A dual-license
would do the same, but also protect contributors by forcing unaffiliated entities to contribute
back if they use the software in a commercial context. It’s not so that CM can close the
source and still ship it to our users. Again, we don’t have any plans to change licenses."
"Focal is a special case- it has to be GPL because [...] Focal uses a number of GPL components
under the hood [...] I proposed the dual-license extension as a way to work around some of
the inherent problems with the GPL and give a greater degree of freedom to both him and
CM as an organization. This is a very common licensing model in the open-source world."
"But none of this matters. We’re not closing the source or changing the license of any
code that has been contributed to the project." Developer Entropy512 also observed that CyanogenMod
was legally bound by its position to make some of the firmware changes, because of the
Android license and marketing conditions which specify what apps may and may not do, and
these were raised in part by Android developers at Google informally speculatively as a result
of perceptions of CyanogenMod's high profile in the market.
In his 2013 blog post on Cyanogen Inc's funding, venture funder Mitch Lasky states that:
"Benchmark has a long history of supporting open source projects intent on becoming successful
enterprises. Our open source history includes Red Hat, MySQL, SpringSource, JBoss, Eucalyptus,
Zimbra, ElasticSearch, HortonWorks, and now Cyanogen. We’ve been behind many of the
most successful open source software companies in the world. We have a deep respect for the
special needs of these businesses, and how to build companies while preserving the transparency
and vigor of the open source communities." Industry reaction
Early responses of tablet and smartphone manufacturers and mobile carriers were typically unsupportive
of third-party firmware development such as CyanogenMod. Manufacturers expressed concern
about improper functioning of devices running unofficial software and the related support
costs. Moreover, modified firmwares such as CyanogenMod sometimes offer features for which
carriers would otherwise charge a premium. As a result, technical obstacles including
locked bootloaders and restricted access to root permissions were common in many devices.
However, as community-developed software has grown more popular and following a statement
by the Library of Congress in the United States that permits "jailbreaking" mobile devices,
manufacturers and carriers have softened their position regarding CyanogenMod and other unofficial
firmware distributions, with some, including HTC, Motorola, Samsung and Sony Ericsson,
providing support and encouraging development. As a result of this, in 2011 the need to circumvent
hardware restrictions to install unofficial firmware lessened as an increasing number
of devices shipped with unlocked or unlockable bootloaders, similar to the Nexus series of
phones. Device manufacturers HTC and Motorola announced that they would support aftermarket
software developers by making the bootloaders of all new devices unlockable, although this
still violates a device's warranty. Samsung sent several Galaxy S II phones to the CyanogenMod
team with the express purpose of bringing CyanogenMod to the device, and mobile carrier
T-Mobile USA voiced its support for the CyanogenMod project, tweeting "CM7 is great!".
Phone manufacturers have also taken to releasing "developer editions" of phones that are unlocked.
Licensing Until version 4.1.11.1, CyanogenMod included
several proprietary software applications by Google, such as Gmail, Maps, Android Market,
Talk, and YouTube, as well as several proprietary hardware drivers. These packages were included
with the vendor distributions of Android, but not licensed for free distribution. After
Google sent a cease and desist letter to CyanogenMod's chief developer, Steve Kondik, in late September
2009 demanding he stop distributing the aforementioned applications, development ceased for a few
days. The reaction from many CyanogenMod users towards Google was hostile, with some claiming
that Google's legal threats hurt their own interests, violated their informal corporate
motto "Don't be evil" and was a challenge to the open source community Google claimed
to embrace. Following a statement from Google clarifying
its position and a subsequent negotiation between Google and Cyanogen, it was resolved
that the CyanogenMod project would continue, in a form that did not directly bundle in
the proprietary "Google Experience" components. It was determined that the proprietary Google
apps may be backed-up from the Google-supplied firmware on the phone and then re-installed
onto CyanogenMod releases without infringing copyright.
On 28 September 2009, Cyanogen warned that while issues no longer remain with Google,
there were still potential licensing problems regarding proprietary, closed-source device
drivers. On 30 September 2009, Cyanogen posted an update on the matter. Kondik wrote he was
rebuilding the source tree, and that he believed the licensing issues with drivers could be
worked out. He added that he was also receiving assistance from Google employees. On 16 June
2012, the CyanogenMod 7.2 release announcement stated, "CyanogenMod does still include various
hardware-specific code, which is also slowly being open-sourced anyway."
Version history
Supported devices
See also
References
External links Official website
Wiki Supported devices
CyanogenMod on Facebook CyanogenMod on Twitter
Android Source Code Project Steve Kondik on the CyanogenMod Project on
YouTube