Jump to content

CyanogenMod

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Smashman2004 (talk | contribs) at 13:32, 17 December 2012 (→‎CyanogenMod 10.1). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

CyanogenMod
File:CyanogenMod-logo.png
CyanogenMod 10 "Jelly Bean"
DeveloperSteve Kondik (a.k.a Cyanogen), CyanogenMod team
Written inC (core), C++ (some third party libraries), Java (UI)
OS familyEmbedded Operating System (Linux)
Working stateCurrent
Source modelOpen Source
Initial release3.1 (Dream & Magic)
Latest release10.0.0 / 13 November 2012; 11 years ago (2012-11-13)
Latest preview10.0.0-M2 / 11 October 2012; 11 years ago (2012-10-11)[1]
Marketing targetFirmware replacement for Android Mobile Devices
Available inEnglish, Dutch, Spanish, German, Simplified Chinese, Traditional Chinese, Japanese, Russian, Swedish, Korean, Finnish, Portuguese, Polish, Turkish, Catalan, French, Italian
Package managerGoogle Play / APK
PlatformsARM
Kernel typeMonolithic, Linux kernel modified
Default
user interface
ADWLauncher (7.x) / Trebuchet (9.x, 10.x)
LicenseApache License 2 and GNU General Public License v2[2]
Official websitewww.cyanogenmod.org

CyanogenMod (pronounced /saɪ.'æn.oʊ.dʒɛn.mɒd/) is an open source replacement firmware for smart phones and tablet computers based on the Android mobile operating system. It offers features and options not found in the official firmware distributed by vendors of these devices.

Features supported by CyanogenMod include native theming support, FLAC audio codec support, a large Access Point Name list, an OpenVPN client, an enhanced reboot menu, support for Wi-Fi, Bluetooth, and USB tethering, CPU overclocking and other performance enhancements, soft buttons and other "tablet tweaks", toggles in the notification pull-down (such as Wi-Fi, Bluetooth and GPS), app permissions management, as well as other interface enhancements. According to its developers, CyanogenMod does not contain spyware or bloatware.[3][4] CyanogenMod is also stated to increase performance and reliability compared with official firmware releases.[5]

CyanogenMod is developed as free and open source software based on the official releases of Android by Google, with added original and third-party code.

Although only a subset of total CyanogenMod users elect to report their use of the firmware,[6] as of 24 August 2012, CyanogenMod has recorded over 3.1 million installs on a multitude of devices.[7][8]

History and development

Soon after the introduction of the HTC Dream (named the "T-Mobile G1" in the United States) mobile phone in September 2008, a method was discovered to attain privileged control (termed "root access") within Android's Linux-based subsystem.[9] 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".[10]

CyanogenMod quickly grew in popularity, and a small community of developers, called the CyanogenMod Team (and informally, "Team Douche"[11]) 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.[12] Contributors submit new feature or bug fix changes using Google's source code review system, Gerrit.[13] 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 (home screen) 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 (including icon themes, effects, and behavior), the ability to backup and restore configuration settings, and other features.[14][15]

CyanogenMod developers voted against protecting users privacy, citing that vendors would be upset.[16]

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.[17] A release candidate of CyanogenMod 6 became available on 11 July 2010,[18] and the stable version was released on 28 August 2010.[19]

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 (Steve Kondik) but include contributions from the xda-developers community (such as an improved launcher tray, dialer, and browser) and code from established open source projects (such as BusyBox in the shell).[20]

CyanogenMod 7 development began when Google released Android 2.3's source code.[21] On 15 February 2011, the first release candidates of CyanogenMod 7 were rolled out on several of the supported devices.[22][23] 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.[24] On 11 April 2011, the public version of CyanogenMod 7.0 was released, based on Android 2.3.3.[25] CyanogenMod 7.1 was released on 10 October 2011, based on Android 2.3.4.[26] The latest stable version, CyanogenMod 7.2 was released on 16 June 2012, based on Android 2.3.7,[27] bringing a predictive phone dialer, lock-screen updates, ICS animation backports and many bug fixes.[28]

A myTouch 4G running CyanogenMod

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.[29] 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.[30] 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.[31] 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.[32]

On 4 April 2012, during development, CyanogenMod unveiled "Cid" (pronounced /sɪd/), the new CyanogenMod mascot, which replaced the previous mascot, Andy the skateboarding "bugdroid".[33] Designed by user Ciao, Cid (C.I.D.) is an abbreviation of "Cyanogenmod ID".

CyanogenMod 9 on Galaxy Ace GT-S5830

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.[34] At present, nightly builds of CyanogenMod 10 are available for many devices supported by CyanogenMod 9.[35][36] While the CyanogenMod team does not issue ETAs for final versions, starting with the September 2012 M1 Build they are doing a monthly "M-Series" release. At the beginning of every month there will be a soft freeze on the CyanogenMod codebase, blocking new features so the team can focus on bug fixes. Once the team deems a build stable enough for daily use it will be released under the milestone or "M"-series.[37]

On November 13, 2012 final stable builds were released for several devices.[38]

CyanogenMod 10.1

CyanogenMod 10.1 is based on Android 4.2 Jelly Bean.[39] Nightly versions are currently being released for an array of devices.

Tools

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 backup 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 Play Store. CyanogenMod does not need to be installed with a ClockworkMod Recovery, others such as TWRP (TeamWin Recovery Project) and COT (Cannibal Open Touch) work just as well. Some users have experienced hard bricks from "ROM Manager". [citation needed]

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.[40] Moreover, modified firmwares such as CyanogenMod sometimes offer features for which carriers would otherwise charge a premium (e.g., tethering). 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[41][42] and following a statement by the Librarian of Congress in the United States that permits "jailbreaking" mobile devices,[43] manufacturers and carriers have softened their position regarding CyanogenMod and other unofficial firmware distributions, with some, including HTC,[44] Motorola,[45] Samsung[46][47] and Sony Ericsson,[48] 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[40] and Motorola[citation needed] 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,[47] and mobile carrier T-Mobile USA voiced its support for the CyanogenMod project, tweeting "CM7 is great!".[49]

Phone manufacturers have also taken to releasing "developer editions" of phones that are unlocked.[50]

Licensing

Until version 4.1.11.1, CyanogenMod included several proprietary software applications by Google, such as Gmail, Maps, Android Market (now known as Play Store), 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.[51][52][53][54] 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.[55][56][57]

Following a statement from Google clarifying its position[58] 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.[59][60] 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.[61] On 30 September 2009, he posted an update on the matter. He wrote that 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.[62] 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."[63]

Version history

Legend: Old version, not maintained Old version, still maintained Current stable version Latest preview version Future release
CyanogenMod
main version
Android
version
Last or major
release
Release
date
Notable changes[64]
Old version, no longer maintained: 3 Android 1.5
(Cupcake)
Old version, no longer maintained: 3.6.8.1 2009-07-01[65] 3.6.8 onwards based on Android 1.5r3
Old version, no longer maintained: 3.9.3 2009-07-22 [66] 3.9.3 onwards has FLAC support
Old version, no longer maintained: 4 Android 1.5/1.6
(Cupcake/Donut)
Old version, no longer maintained: 4.1.4 2009-08-30[67] 4.1.4 onwards based on Android 1.6 (Donut); QuickOffice removed from 4.1.4 onwards; Google proprietary software separated due to cease and desist from 4.1.99 onwards
Old version, no longer maintained: 4.2.15.1 2009-10-24[68] 4.2.3 onwards has USB tethering support; 4.2.6 onwards based on Android 1.6r2; 4.2.11 onwards added pinch zoom for Browser, pinch zoom and swipe for Gallery. Latest: 4.2.15.1
Old version, no longer maintained: 5 Android 2.0/2.1
(Eclair)
Old version, no longer maintained: 5.0.8 2010-07-19[15] Introduced ADWLauncher as the default launcher. Last: 5.0.8
Old version, no longer maintained: 6 Android 2.2.x
(Froyo)
Old version, no longer maintained: 6.0.0 2010-08-28[19] Introduced dual camera and ad-hoc Wi-Fi support
Old version, no longer maintained: 6.1.3 2010-12-06[69] 6.1.0 onwards based on Android 2.2.1. Last: 6.1.3
Old version, yet still maintained: 7 Android 2.3.x
(Gingerbread)
Old version, no longer maintained: 7.0.3 2011-04-10[25] 7.0.0 onwards based on Android 2.3.3
Old version, no longer maintained: 7.1.0 2011-10-10[70] Based on Android 2.3.7[28]
Old version, yet still maintained: 7.2.0 2012-06-16 [63] New devices, updated translations, predictive phone dialer, ability to control haptic feedback in quiet hours, lockscreen updates, ICS animation backports, ability to configure the battery status bar icon, many bug fixes[28]
8 Android 3.x
(Honeycomb)
- Not released Had been planned, but the source code to 3.0 Honeycomb was withheld by Google until the release of 4.0 Ice Cream Sandwich, so CyanogenMod 8 was skipped.
Old version, yet still maintained: 9 Android 4.0.x
(Ice Cream Sandwich)
Old version, yet still maintained: 9.1 2012-08-29[32] Based on Android 4.0.x., Added support for SimplyTapp.
Current stable version: 10 Android 4.1.x
(Jelly Bean)
Current stable version: 10.0.0 2012-11-13[71] Based on Android 4.1.2. Expandable desktop mode. Built-in, root-enabled file manager.
Android 4.2.x
(Jelly Bean)
Future release: 10.1 TBA[71] Based on Android 4.2

Supported devices

See List of devices supported by CyanogenMod

See also

References

  1. ^ "CyanogenMod 10 :: M2". CyanogenMod. Retrieved 2012-10-11.
  2. ^ "Licenses". Android Open Source Project. Open Handset Alliance. Retrieved 15 Sept 2010. {{cite web}}: Check date values in: |accessdate= (help)
  3. ^ [1]
  4. ^ [2]
  5. ^ About Page
  6. ^ "CM Stats explanation". Retrieved 27 Oct 2011.
  7. ^ "CyanogenMod Stats". Retrieved 21 Oct 2011.
  8. ^ "CyanogenMod Tweets 1,000,000 Active Users".
  9. ^ Ben Marvin (14 May 2009). "How To: Root Your G1 And Install Android 1.5 Cupcake". The Android Site. Retrieved 28 Oct 2010.
  10. ^ JesusFreke calls it quits
  11. ^ Dustin Karnes (2 October 2010). "Modders round table with Team Douche, makers of CyanogenMod". TalkAndroid. Retrieved 22 Nov 2011.
  12. ^ "CyanogenMod Source Code at Github".
  13. ^ "CyanogenMod Gerrit Site".
  14. ^ "ADW.Launcher Review". PC World. Retrieved 18 June 2012.
  15. ^ a b Cyanogen (19 July 2010). "CyanogenMod-5.0.8 has landed!". CyangenMod blog. Retrieved 23 Dec 2010.
  16. ^ Change I3ebecf94: 1. Adds the infrastructure needed for privacy mode permissions. | review.cyanogenmod Code Review
  17. ^ Cyanogen (23 June 2010). "CM6 targets". Twitter. Retrieved 23 Dec 2010.
  18. ^ Cyanogen (11 July 2010). "CyanogenMod-6.0.0 RC1". CyanogenMod blog. Retrieved 23 Dec 2010.
  19. ^ 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.
  20. ^ development thread.
  21. ^ Cyanogen (17 December 2010). "Gingerbread Release". Twitter. Retrieved 23 Dec 2010.
  22. ^ Cyanogen (16 February 2011). "CyanogenMod-7 Release Candidates!". CyanogenMod blog. Retrieved 16 Feb 2011.
  23. ^ Whitson Gordon (16 February 2011). "CyanogenMod 7 RC Brings Gingerbready Goodness, Canned SMS Responses to Android". Lifehacker. Gawker Media. Retrieved 16 Feb 2011.
  24. ^ Cyanogen (30 March 2011). "CyanogenMod-7.0.0-RC4 has arrived". CyanogenMod blog. Retrieved 30 Mar 2011.
  25. ^ a b Cyanogen (10 April 2011). "CyanogenMod 7.0 Released!". CyanogenMod blog. Retrieved 10 Apr 2011.
  26. ^ Cyanogen (10 October 2011). "CyanogenMod 7.1 Released!". CyanogenMod blog. Retrieved 10 Oct 2011.
  27. ^ Cyanogen (16 June 2012). "CyanogenMod 7.2 Released!". CyanogenMod blog. Retrieved 16 Jun 2012.
  28. ^ a b c rmcc (15 March 2012). "CyanogenMod Changelog". CyanogenMod Changelog. Retrieved 19 Mar 2011.
  29. ^ Android-Life.com story on CM9 and ICS
  30. ^ @cyanogen cyanogen ..and we're off. check back in 2 months :) #cm9 #ics, 2011/11/15, Twitter
  31. ^ [3]
  32. ^ a b ciwrl (2012-08-29). "Let's try something new: CM9.1 and SimplyTapp". CyanogenMod. Retrieved 2012-08-29.
  33. ^ "Introducing Cid". http://www.cyanogenmod.org. 5 April 2012. Retrieved 2012-04-05. {{cite web}}: External link in |work= (help)
  34. ^ CyanogenMod 10 Announced
  35. ^ Nightly Builds from CM9
  36. ^ Engadget: Cyanogen Nightlies Reach Samsung Galaxy S
  37. ^ CyanogenMod announces M1, the first M-Series build
  38. ^ Final CyanogenMod 10 Stable Builds Being Released, Available For 4 Devices And Counting
  39. ^ "CyanogenMod 10.0 Release".
  40. ^ a b "Unlock Bootloader". Retrieved 2011-10-30.
  41. ^ discusses popularity of CyanogenMod
  42. ^ AndroidAndMe: MIUI firmware is "popular"
  43. ^ LoC rules in favor of jailbreaking
  44. ^ HTC's bootloader unlock page
  45. ^ Motorola Offers Unlocked Bootloader Tool
  46. ^ "CyanogenMod 7 for Samsung Galaxy S2 (II): Development Already Started!". Inspired Geek. 8 June 2011.
  47. ^ a b "CyanogenMod coming to the Galaxy S 2, thanks to Samsung". Android Central. 6 June 2011.
  48. ^ http://developer.sonyericsson.com/wp/2011/09/28/sony-ericsson-supports-independent-developers/
  49. ^ "CM7 is great!"
  50. ^ "Samsung Cell Phones". Samsung. Retrieved 2012-09-13.
  51. ^ Taylor Wimberly (24 September 2009). "CyanogenMod in trouble?". Android and Me. Retrieved 28 Oct 2010.
  52. ^ Dan Nosowitz (25 September 2009). "Google Threatens Cyanogen Android Hacker With Cease-and-Desist". Gizmodo. Gawker Media. Retrieved 28 Oct 2010.
  53. ^ Nilay Patel (24 September 2009). "Google hits Android ROM modder with a cease-and-desist letter". Engadget. AOL. Retrieved 28 Oct 2010.
  54. ^ Darryl K. Taft (28 September 2009). "Google Irks Android Developers with Cyanogen Move". eWeek. Ziff Davis. Retrieved 28 Oct 2010.
  55. ^ One of many forum discussions on the Google C&D.
  56. ^ Reaction to C&D on Google's own discussion forum.
  57. ^ Another thread on Google's Android forum.
  58. ^ Dan Morrill (25 September 2009). "A Note on Google Apps for Android". Android Developers. Retrieved 28 Oct 2010.
  59. ^ Cyanogen updates users on licensing controversy.
  60. ^ Roselyn Roark (28 September 2009). "Google Muscles Android Developer, Offers Olive Branch". Wired. Retrieved 28 Oct 2010.
  61. ^ Cyanogen's tweet about the driver issue.
  62. ^ Quick Update from Cyanogen.
  63. ^ a b ciwrl (16 June 2012). "Announcement: CyanogenMod 7.2 Released!". CyanogenMod forum.
  64. ^ "Changelog 3.0 -7.2". Cyanogen Mod Team. Retrieved 30 November 2012.
  65. ^ ciwrl (1 July 2009). "CM-3.6 is out - STABLE!". Twitter.
  66. ^ ciwrl (22 July 2009). "CM-3.9 EXPERIMENTAL is out!". Twitter.
  67. ^ ciwrl (30 August 2009). "CM-4.1 ExperiMENTAL is out!". CyanogenMod blog.
  68. ^ ciwrl (24 October 2009). "CyanogenMod 4.2 STABLE!". CyanogenMod blog.
  69. ^ Cyanogen (6 December 2010). "CyanogenMod-6.1 Stable Has Landed!". CyanogenMod blog. Retrieved 23 Dec 2010.
  70. ^ Cyanogen (10 October 2011). "CyanogenMod 7.1 Released". CyanogenMod blog. Retrieved 10 Oct 2011.
  71. ^ a b ciwrl (2012-11-13). "CyanogenMod 10.0 Release". CyanogenMod. Retrieved 2012-11-14.