CyanogenMod
File:CyanogenModLogo.png | |
File:Screenshot-1318632299047.png | |
Developer | Cyanogen (Steve Kondik) / CyanogenMod team |
---|---|
Written in | C (core), C++ (some third party libraries), Java (UI) |
Source model | Free and open source software |
Initial release | 3.1 (Dream & Magic) |
Latest release | 7.1.0 (various) / October 10, 2011 |
Marketing target | Firmware replacement for Android Mobile Devices |
Platforms | ARM |
Kernel type | Monolithic (modified Linux kernel) |
Default user interface | ADW.Launcher |
License | Apache 2 and GPL v2[1] |
Official website | www.cyanogenmod.com |
CyanogenMod is an aftermarket firmware distribution for over sixty cell phones and tablets based on the open-source Android operating system. It offers features and options not found in the official Android-based firmwares of vendors of these devices including native theming support (also known as the "T-Mobile Theme Engine"), a codec for the Free Lossless Audio Codec (FLAC), compressed cache (compcache), a large APN list, an OpenVPN client, a reboot menu, support for Wi-Fi, Bluetooth, and USB tethering, kernel scheduler enhancements and overclocking profiles, soft buttons and other "tablet tweaks", toggles in the notification pull-down (such as Wi-Fi, Bluetooth, GPS, and many more), as well as other interface enhancements. CyanogenMod claims to increase performance and reliability compared with official firmware releases.[2]
Although only a subset of total CyanogenMod users elect to report their use of the firmware,[3] as of 27 October 2011, CyanogenMod has recorded over 750,000 active installs on a multitude of devices.[4]
History and development
Shortly following the introduction of the HTC Dream (known as the "T-Mobile G1" in the United States) mobile phone in September 2008, a method was discovered to attain privileged control (known as "root access") within Android's Linux-based subsystem.[5] 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 (Steve Kondik) called "CyanogenMod".[6]
CyanogenMod quickly grew in popularity, and a small community of developers, known as the CyanogenMod Team (and informally as "Team Douche"), made contributions. Within a few months, the number of devices and features supported by CyanogenMod blossomed and CyanogenMod quickly became one of the more popular Android firmware distributions.
CyanogenMod 6
Steve Kondik released CyanogenMod 6, based on Android 2.2 codenamed "Froyo", for the Nexus One, Dream, Magic, Droid, Aria, Legend, Desire, Evo 4G, Hero, Wildfire, Incredible and myTouch 3G Slide.[7] A release candidate of CyanogenMod 6 became available on 11 July 2010[8], and the stable version was released on 28 August 2010.[9]
CyanogenMod 7
The current CyanogenMod 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 (Steve Kondik) but include contributions from the xda-developers community (such as an enhanced launcher tray, an improved dialer, and an improved browser) as well as code from established open source projects (as with the inclusion of BusyBox in the shell).[10]
CyanogenMod 7 development began when Google released Android 2.3 (Gingerbread)'s source code.[11] On 15 February 2011, the first release candidates of CyanogenMod 7 was rolled out on several of the supported devices.[12][13] 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.[14] On 11 April 2011, the public version of CyanogenMod 7.0 was released, based on Android 2.3.3.[15] The latest stable version, CyanogenMod 7.1, was released on 10 October 2011, based on Android 2.3.7.[16]
CyanogenMod 8/9
CyanogenMod version 8 was planned to be based on the Honeycomb (3.x) release of Android. However, no source code was ever provided by Google. Thus, the next version, based on Google's forthcoming Ice Cream Sandwich (4.x) branch of Android, will be called CyanogenMod 9.[17]
Nightly builds
In addition to the stable releases discussed above, CyanogenMod is also offered for many supported devices as a nightly build, informally known as "nightlies".[18] The nightly builds are installable versions of CyanogenMod created from the latest source code approximately every 24 hours. As the code for CyanogenMod is continually updated by developers, the nightly build allows users to test the most recent changes. While they provide access for non-developers to the latest fixes, nightly builds may also contain newly-introduced bugs. The CyanogenMod nightly builds are available on many web sites, which taken together constitute a "mirror network".[19]
ClockworkMod Recovery
The CyanogenMod source code repository also contains the ClockworkMod Recovery (a "recovery image", maintained by Koushik "Koush" Dutta), which is used to install CyanogenMod and other custom upgrades. A recovery image is a special boot mode, which is used to back up or restore the device's storage and repair or upgrade system software. ClockworkMod Recovery can be automatically installed onto many rooted devices supported by CyanogenMod with Dutta's companion app, "Rom Manager", which is available on the Android Market.
Industry reaction
Carriers and manufacturers
Until recently, the response of tablet and smartphone manufacturers and mobile carrier has typically been less than supportive of third-party firmware development. Manufacturers had expressed concern about improper functioning of devices running unofficial software[20] and related support costs, with some, such as former Apple CEO Steve Jobs, claiming that jailbreaking phones was "immoral" and warning that unofficial software could even "gum up" the cellular network itself.[21][22][23] Moreover, firmware such as CyanogenMod sometimes offer features for which carriers would otherwise charge a premium (e.g. Tethering). As a result, technical obstacles such as locked bootloaders and restricted access to root permissions were common in many devices.
However, as community-developed software has grown popular[24][25] and following Library of Congress regulations that permit the use of "jailbreaking" mobile devices[26], manufacturers and carriers have softened their position regarding CyanogenMod and other unofficial firmware distributions, with some including HTC[27] and Motorola[28] even actively providing support and encouraging development.
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 manufacturer HTC has announced that it would support aftermarket software developers by making the bootloaders of all new devices unlockable,[20] and Samsung sent several Galaxy S II phones to the CyanogenMod team with the express purpose of bringing CyanogenMod to the device.[29] Mobile carrier T-Mobile has voiced its support for the CyanogenMod project, tweeting "CM7 is great!"[30]
Google licensing issues
Until version 4.1.11.1, CyanogenMod included several proprietary software applications by Google, such as Gmail, Maps, 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.[31][32][33][34] 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.[35][36][37]
Following a statement from Google clarifying its position[38] and a subsequent negotiation between Google and Cyanogen, it was resolved that the CyanogenMod project could continue, albeit in a form that did not directly bundle in the proprietary “Google Experience” components.[39][40] 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.
Cyanogen has also warned that while issues no longer remain with Google, there are still potential licensing problems regarding proprietary, closed-source device drivers.[41] However, he is rebuilding the source tree, and believes the licensing issues with drivers can be worked out. He is also receiving assistance from Google employees.[42]
Uses
CyanogenMod has been used on an HTC G1 Android phone coupled with an Arduino board to create the autonomous "brain" of a robot.[43]
Version history
Version History
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Supported devices
CyanogenMod officially supports over 60 devices, with many non-official ports also available. Devices that are considered officially-supported include the following[55]:
Supported Devices
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
References
- ^ "Licenses". Android Open Source Project. Open Handset Alliance. Retrieved 15 Sept 2010.
{{cite web}}
: Check date values in:|accessdate=
(help) - ^ About Page
- ^ "CM Stats explanation". Retrieved 27 Oct 2011.
- ^ "CyanogenMod Stats". Retrieved 21 Oct 2011.
- ^ Ben Marvin (14 May 2009). "How To: Root Your G1 And Install Android 1.5 Cupcake". The Android Site. Retrieved 28 Oct 2010.
- ^ calls it quits
- ^ Cyanogen (23 June 2010). "CM6 targets". Twitter. Retrieved 23 Dec 2010.
- ^ Cyanogen (11 July 2010). "CyanogenMod-6.0.0 RC1". CyanogenMod blog. Retrieved 23 Dec 2010.
- ^ a b Whitson Gordon (29 August 2010). "CyanogenMod 6.0 Released, Brings Custom Froyo Goodness to Tons of Android Phones". Lifehacker. Gawker Media. Retrieved 23 Dec 2010.
- ^ development thread.
- ^ Cyanogen (17 December 2010). "Gingerbread Release". Twitter. Retrieved 23 Dec 2010.
- ^ Cyanogen (16 February 2011). "CyanogenMod-7 Release Candidates!". CyanogenMod blog. Retrieved 16 Feb 2011.
- ^ Whitson Gordon (16 February 2011). "CyanogenMod 7 RC Brings Gingerbready Goodness, Canned SMS Responses to Android". Lifehacker. Gawker Media. Retrieved 16 Feb 2011.
- ^ Cyanogen (30 March 2011). "CyanogenMod-7.0.0-RC4 has arrived". CyanogenMod blog. Retrieved 30 Mar 2011.
- ^ a b Cyanogen (10 April 2011). "CyanogenMod 7.0 Released!". CyanogenMod blog. Retrieved 10 Apr 2011.
- ^ Cyanogen (10 October 2011). "CyanogenMod 7.1 Released!". CyanogenMod blog. Retrieved 10 Oct 2011.
- ^ on CM9 and ICS
- ^ Nightly Builds
- ^ a CyanogenMod download mirror
- ^ a b "Unlock Bootloader". Retrieved 2011-10-30.
- ^ Jobs on the dangers of unauthorized apps
- ^ Warns OS Users of Jailbreaking Risks
- ^ Jobs Calls Jailbreaking iPhones "Immoral"
- ^ discusses popularity of CyanogenMod
- ^ AndroidAndMe: MIUI firmware is "popular"
- ^ LoC rules in favor of jailbreaking
- ^ HTC's bootloader unlock page
- ^ Motorola Offers Unlocked Bootloader Tool
- ^ "CyanogenMod coming to the Galaxy S 2, thanks to Samsung". Android Central. 6 June 2011.
- ^ "CM7 is great!"
- ^ Taylor Wimberly (24 September 2009). "CyanogenMod in trouble?". Android and Me. Retrieved 28 Oct 2010.
- ^ Dan Nosowitz (25 September 2009). "Google Threatens Cyanogen Android Hacker With Cease-and-Desist". Gizmodo. Gawker Media. Retrieved 28 Oct 2010.
- ^ Nilay Patel (24 September 2009). "Google hits Android ROM modder with a cease-and-desist letter". Engadget. AOL. Retrieved 28 Oct 2010.
- ^ Darryl K. Taft (28 September 2009). "Google Irks Android Developers with Cyanogen Move". eWeek. Ziff Davis. Retrieved 28 Oct 2010.
- ^ One of many forum discussions on the Google C&D.
- ^ Reaction to C&D on Google's own discussion forum.
- ^ Another thread on Google's Android forum.
- ^ Dan Morrill (25 September 2009). "A Note on Google Apps for Android". Android Developers. Retrieved 28 Oct 2010.
- ^ Cyanogen updates users on licensing controversy.
- ^ Roselyn Roark (28 September 2009). "Google Muscles Android Developer, Offers Olive Branch". Wired. Retrieved 28 Oct 2010.
- ^ Cyanogen's tweet about the driver issue.
- ^ Quick Update from Cyanogen.
- ^ Miran Pavic (5 March 2010). "Android Phone Grows Up, Becomes Brain for Real Robot". Wired. Retrieved 28 Oct 2010.
- ^ Cyanogen (14 February 2010). "CyanogenMod 5.0 (Nexus One)". CyanogenMod blog. Retrieved 23 Dec 2010.
- ^ Cyanogen (27 February 2010). "CyanogenMOD 5.0.4 Released". xda-developers. Retrieved 23 Dec 2010.
- ^ Chase Bahers (19 March 2010). "CyanogenMOD v5.0.5 for HTC/Google Nexus One Released". AndroidSPIN. MobileTweek, Inc. Retrieved 23 Dec 2010.
- ^ Cyanogen (16 April 2010). "CyanogenMod 5.0.6 – Tax Deductible". CyanogenMod blog. Retrieved 23 Dec 2010.
- ^ Cyanogen (25 May 2010). "CyanogenMod 5.0.7 for Dream and Magic!". CyanogenMod blog. Retrieved 23 Dec 2010.
- ^ Cyanogen (19 July 2010). "CyanogenMod-5.0.8 has landed!". CyangenMod blog. Retrieved 23 Dec 2010.
- ^ Cyanogen (6 December 2010). "CyanogenMod-6.1 Stable Has Landed!". CyanogenMod blog. Retrieved 23 Dec 2010.
- ^ Cyanogen (25 April 2011). "CyanogenMod-7.0.1 Update Release". CyanogenMod blog. Retrieved 25 April 2011.
- ^ >Cyanogen (25 April 2011). "CyanogenMod-7.0.2 Released (oops)". CyanogenMod blog. Retrieved 25 April 2011.
- ^ >Cyanogen (5 May 2011). "CyanogenMod 7.0.3 Released". CyanogenMod blog. Retrieved 5 May 2011.
- ^ >Cyanogen (10 October 2011). "CyanogenMod 7.1 Released". CyanogenMod blog. Retrieved 10 Oct 2011.
- ^ official device list
External links
- Official website
- CyanogenMod on Facebook
- CyanogenMod's channel on YouTube
- CyanogenMod on Twitter
- Steve Kondik on Twitter