Replicant (operating system)

From Wikipedia, the free encyclopedia

Replicant
Replicant logo
DeveloperDenis Carikli, Joonas Kylmälä, Fil Bergamo, Paul Kocialkowski[1]
OS familyAndroid (Linux)
Working stateCurrent
Source modelOpen source
Initial releaseMid-2010; 14 years ago (2010)
Latest release6.0 0004[2] (June 3, 2022; 22 months ago (2022-06-03)) [±]
Repository
Package managerAPK
Kernel typeMonolithic (Linux)
UserlandBionic C library,[3][4] mksh shell,[5] native core utilities with a few from NetBSD[6]
LicenseApache License 2.0, GNU GPLv2, and various other licenses
Official websitewww.replicant.us
Replicant 6.0 on Samsung Galaxy Note II.
An example of phone information in Replicant, including a brief hardware description

Replicant is a free operating system (OS) based on the Android mobile platform that intends to replace all proprietary Android components with free-software counterparts.[7][8] It is available for several smartphones and tablet computers.[9] It is written in the same programming languages as Android (from which it is forked indirectly). The modifications are mostly in the C language;[10] the changes are mostly to the lower-level parts of the OS, such as the Linux kernel and drivers that use it.

The name Replicant is drawn from the fictional replicant androids in the Blade Runner movie.[7] Replicant is sponsored and supported by the Free Software Foundation[7][11] and partially by NLnet.[12][13]

History[edit]

The Replicant project started in mid-2010 with an effort to consolidate various initiatives attempting to produce a fully free-as-in-freedom Android derivative for the HTC Dream device. The original team consisted of Bradley M. Kuhn, Aaron Williamson, Graziano Sorbaioli and Denis ‘GNUtoo’ Carikli.[14][15][16][17] The project quickly led to the writing of replacement code for the non-free parts that were required to make HTC Dream functional. The first component to be replaced permitted audio to work without a proprietary library. Replicant originally provided its own FOSS application repository, which was later replaced by F-Droid.[18][19][self-published source][20][self-published source] In June 2022, Replicant announced they had removed F-Droid.[21]

The Radio Interface Layer software that handles communication with the modem was replaced by free code, thus making the telephony part usable. A library handling GPS was then adapted from free code that was originally written for another phone[22] and permitted HTC Dream to have GPS working with Replicant.[20][self-published source]

Early versions of Replicant were based on Android Open Source Project code, while versions 2.2 (April 2011) and later used CyanogenMod as their base in order to make supporting more devices easier.[23][24][25] In a blog post on February 1, 2017, the Replicant project said that the future versions of Replicant will be based on LineageOS, as the CyanogenMod project was discontinued.[26]

As development continued, many members of the original Replicant team retired from the project, making Denis "GNUtoo" Carikli the only remaining member from the original team still actively working on the project. In April 2011, Paul Kocialkowski decided to get involved with the project and gradually became the main Replicant developer, after successfully porting it to the Nexus S and Galaxy S devices.[1][27][28]

In 2014, however, Replicant was criticized for lagging behind. "While CyanogenMod is up to 4.4.4, Replicant is still stuck on Android 4.2. CM runs on just about everything, but Replicant is only supported by a handful of devices ranging from two to four years old. Plus, while Replicant aims to replace the proprietary drivers, it doesn't actually have a complete stack of drivers for any device."[29] When the smartphone operating systems efforts of others, like Mozilla, failed to gain traction, Replicant continued.[30]

Replicant is sponsored and supported by the Free Software Foundation,[7] which also hosts Replicant's source code.[31][32]

Releases[edit]

The following table lists the major releases of Replicant:

Version Release date Based on Notes
Old version, no longer maintained: 2.2[33] 26 April 2011 Android 2.2 "Froyo"
Old version, no longer maintained: 4.0[34] 15 November 2012 Android 4.0 "Ice Cream Sandwich" Five updates have been released; the last one, 0005, was released on September 29, 2013.[35]
Older version, yet still maintained: 4.2[36] 19 January 2014 CyanogenMod 10.1/Android 4.2.2 "Jelly Bean" Four updates have been released; the last one, 0004, was released on September 1, 2015.[37]
Current stable version: 6.0[38] 7 May 2017 LineageOS 13.0/Android 6.0.1 "Marshmallow" Three updates have been released; the most recent one, 0003, was released on December 10, 2017. Two release candidates for 0004 have been released. RC2 was released on July 22, 2020.[2]
Future release: 10[39] N/A LineageOS 17.1/Android 10 Replaced graphics driver for improved performance.
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

Security[edit]

In March 2014, Replicant developers found and closed a vulnerability present in a wide range of Samsung Galaxy products that allowed the baseband processor to read and write the device's storage,[40] sometimes with normal user privileges and sometimes as the root user depending on device model. Replicant's lead developer Paul Kocialkowski claimed it was a backdoor,[40][41][42][43][22] but this was contested by Dan Rosenberg, a senior security researcher at Azimuth Security, who said there was "virtually no evidence for the ability to remotely execute this functionality".[44] There is some evidence of similar exploits of Apple hardware that did not involve operating system software, and the "methods detailed take direct advantage of Apple’s “firmware” or permanent software programmed onto the device, usually by the manufacturer."[45] The founder of Ubuntu previously expressed similar concerns.[46]

Development[edit]

On January 3, 2013, the project released Replicant 4.0 SDK as a fully libre replacement to Android SDK.[47] The Replicant SDK was released in response to Google updating the license for add-ons and binaries under a proprietary agreement.[48] Replicant's SDK was discontinued on April 28, 2017 in favour of the free SDK packaged by Debian.[49]

Hardware support[edit]

Supported devices[edit]

Scope of the Replicant project has been gradually expanded to include support for new devices, starting with the Nexus One, Nexus S and Galaxy S. As of January 2014, the following devices are supported, with Wi-Fi and Bluetooth requiring proprietary firmware in order to work:[9] The number of supported devices was doubled with version 6.0 in 2017.[50]

Device Device Class Codename Replicant version 2D graphics 3D graphics Sound Telephony Mobile Data NFC GPS Sensors Camera Wi-Fi Bluetooth
Nexus S Smartphone crespo 4.2 Yes No Yes Yes Yes Proprietary[51]
free userspace
No Yes Yes Proprietary Proprietary
Samsung Galaxy S Smartphone galaxysmtd 4.2 Yes No Yes Yes Yes No Yes Yes Proprietary Proprietary
Samsung Galaxy S2 Smartphone galaxys2 6.0 Yes (fast) No Yes Yes Yes No No Yes Yes Proprietary Proprietary
Samsung Galaxy Note (original) Smartphone n7000 4.2 Yes (slow) No Yes Yes Yes No No Yes No Proprietary Proprietary
Galaxy Nexus Smartphone maguro 4.2 Yes No Yes Yes Yes Yes No Yes No Proprietary Proprietary
Samsung Galaxy Tab 2 (7.0) Tablet p3100 4.2 Yes (fast) No Yes Yes Yes No Yes No Proprietary Proprietary
Samsung Galaxy Tab 2 (10.1) Tablet p5100 4.2 Yes (slow) No Yes Yes Yes No Yes No Proprietary Proprietary
Samsung Galaxy S3 Smartphone i9300 6.0 Yes No Yes Yes Yes Yes No Yes Yes (back) / proprietary (front) Proprietary Proprietary
Samsung Galaxy Note 2 Smartphone n7100 6.0 Yes No Yes Yes Yes Yes No Yes Yes (back) / proprietary (front) Proprietary Proprietary
Goldelico OpenPhoenux GTA04 Smartphone gta04 4.2 Yes No Yes Work in progress Work in progress Yes Work in progress Work in progress Proprietary Proprietary

Device requirements[edit]

  • The device must be supported by LineageOS/CyanogenMod officially (better) or via 3rd party repos[52]
  • There must be a way to flash images (via bootloader or recovery) using a free program
  • The kernel must not be signed: the bootloader must not check the kernel signature
  • The kernel sources must have been released
  • The network type must be GSM, no CDMA phone can be supported for now

See also[edit]

References[edit]

  1. ^ a b "People - Replicant". Redmine.replicant.us. Retrieved September 30, 2013.
  2. ^ a b Carikli, Denis (June 3, 2022). "New Replicant 6.0 0004 release and Replicant 11 status". replicant.us. Retrieved March 7, 2023.
  3. ^ "Replicant". replicant.us.
  4. ^ "android/platform/bionic/".
  5. ^ "android/platform/external/mksh/".
  6. ^ "android/platform/system/core/toolbox/".
  7. ^ a b c d McAllister, Neil (July 26, 2013). "FSF passes collection plate for free Android clone Replicant". The Register. Retrieved January 23, 2014.
  8. ^ "Amazon's Fire OS Burned by Google, says EC. Is It Really a Rival?". September 2, 2019. Archived from [cbronline.com/news/fire-os-google the original] on September 2, 2019. Retrieved July 1, 2020. {{cite web}}: Check |url= value (help)
  9. ^ a b "Replicant Status". redmine.replicant.us. Retrieved March 28, 2015.
  10. ^ "Replicant Developer's Guide". Replicant Wiki. Retrieved January 18, 2016.
  11. ^ Sharwood, Simon (January 23, 2017). "Stallman's Free Software Foundation says we need a free phone OS". The Register. Retrieved February 12, 2018.
  12. ^ "NLnet; Graphics acceleration on Replicant". nlnet.nl. Retrieved December 14, 2019.
  13. ^ "NLnet; Finish porting Replicant to a newer Android version". nlnet.nl. Retrieved December 14, 2019.
  14. ^ "Replicant: distribution Android 100% libre". LinuxFr.org. September 20, 2010. Retrieved September 30, 2013.
  15. ^ Byfield, Bruce. "Replicant: The Struggle for Free Mobile » Linux Magazine". Linux Magazine. Retrieved November 8, 2019.
  16. ^ "Musings on Software Freedom for Mobile Devices - Bradley M. Kuhn ( Brad ) ( bkuhn )". ebb.org. Retrieved November 8, 2019.
  17. ^ "FSF launches fundraising program for Replicant, the fully free Android-based mobile OS". SD Times. July 25, 2013. Retrieved November 8, 2019.
  18. ^ Puttergill, Rowan (October 3, 2011). "Replicant: Making Android truly free". Memeburn. Burn Media.
  19. ^ Currie, Andrew (August 24, 2011). "F-Droid, the Android app store for freedom beards". Open attitude. (Blog). Retrieved September 30, 2013.
  20. ^ a b Par aKa (October 10, 2011). "Le projet Replicant ou Android totalement libre présenté par PaulK". Framablog. Retrieved September 30, 2013.
  21. ^ GNUtoo (June 3, 2022). "New Replicant 6.0 0004 release and Replicant 11 status. | Replicant". Retrieved August 3, 2022.
  22. ^ a b Constantin, Lucian (March 13, 2014). "Flaw gives backdoor access to some Samsung Galaxy devices". Computerworld. Retrieved November 11, 2019.
  23. ^ Manuel Jose (July 2013). "A Fully Free Android based Mobile OS? FSF is Aiming for the Skies with Replicant Project". techdrivein.com. Retrieved January 2, 2014.
  24. ^ Rohan Pearce (March 10, 2012). "Replicant developer interview - Building a truly free Android". techworld.com. Archived from the original on March 14, 2012. Retrieved January 2, 2014.
  25. ^ Daniel Fuller (August 10, 2016). "Replicant FOSS Android Project Hits Marshmallow". androidheadlines.com. Retrieved February 12, 2018.
  26. ^ "Replicant 6.0 development updates". Replicant blog (blog). February 2017. Retrieved February 20, 2017.
  27. ^ "Replicant developer interview - Building a truly free Android - Interview - Techworld.com". Features.techworld.com. Retrieved September 30, 2013.
  28. ^ Klint Finley (October 30, 2013). "The Quest to Build a Truly Free Version of Android". wired.com. Retrieved February 12, 2018.
  29. ^ Ron Amadeo (July 29, 2014). "The great Ars experiment—free and open source software on a smartphone?!". arstechnica.com. Retrieved February 12, 2018.
  30. ^ Klint Finley (December 9, 2015). "Mozilla Is Giving Up on Its OS for Smartphones". wired.com. Retrieved February 12, 2018.
  31. ^ Kocialkowski, Paul (July 1, 2015). "Replicant source code hosting and RMLL 2015". Replicant blog. Replicant.
  32. ^ John Gold (January 17, 2017). "Free Software Foundation shakes up its list of priority projects". networkworld.com. Retrieved February 12, 2018.
  33. ^ "Replicant 2.2 SDK Available". Replicant. April 26, 2011. Retrieved November 20, 2017.
  34. ^ Kocialkowski, Paul (November 16, 2012). "Replicant 4.0 0001 images release". Replicant. Retrieved November 20, 2017.
  35. ^ Kocialkowski, Paul (October 1, 2013). "Replicant 4.0 0005 images release". Replicant. Retrieved November 20, 2017.
  36. ^ Kocialkowski, Paul (January 22, 2014). "Replicant 4.2 kicks out!". Replicant. Retrieved November 20, 2017.
  37. ^ Kocialkowski, Paul (September 2, 2015). "Replicant 4.2 0004 images release". Replicant. Retrieved November 20, 2017.
  38. ^ Wiedmeyer, Wolfgang (May 13, 2017). "Replicant 6.0 released". Replicant. Retrieved November 20, 2017.
  39. ^ "RE: Question about replicant 9". Replicant. June 25, 2020. Retrieved June 27, 2020.
  40. ^ a b Kocialkowski, Paul (March 12, 2014). "Replicant developers find and close Samsung Galaxy backdoor". FSF's blog. Free Software Foundation. Retrieved September 19, 2014.
  41. ^ Paul Kocialkowski. "Samsung Galaxy Back-door". Replicant Wiki. Retrieved July 5, 2014.
  42. ^ "Replicant Developers Find Backdoor In Android Samsung Galaxy Devices - Phoronix". www.phoronix.com. Retrieved November 4, 2019.
  43. ^ "Technoethical S3 phone with Replicant - Technoethical". tehnoetic.com. Retrieved November 8, 2019.
  44. ^ Goodin, Dan (March 14, 2016). ""Virtually no evidence" for claim of remote backdoor in Samsung phones". Ars Technica. Condé Nast. Retrieved September 4, 2016.
  45. ^ Jack Crosbie (March 23, 2017). "Wikileaks: The CIA Has Been Spying on Apple Users for Years". inverse.com. Retrieved February 12, 2018.
  46. ^ Lucian Constantin (March 18, 2014). "Proprietary firmware poses a security threat, Ubuntu founder says". pcworld.com. Retrieved February 12, 2018.
  47. ^ "Replicant 4.0 SDK release | Replicant project". Replicant.us. January 3, 2013. Archived from the original on September 8, 2013. Retrieved September 30, 2013.
  48. ^ "What's up with the Android SDK? - Paul Kocialkowski's coding blog". Code.paulk.fr. January 5, 2013. Retrieved September 30, 2013.
  49. ^ "There won't be a Replicant 6.0 SDK because there is already something better". Replicant.us. April 28, 2017. Retrieved May 6, 2017.
  50. ^ "New Replicant 6.0 Update Doubles the Number of Supported Devices". xda-developers. September 18, 2017. Retrieved November 4, 2019.
  51. ^ "Nexus S (I902x)". free userspace, proprietary loaded firmware
  52. ^ "TargetsEvaluation - Replicant".

External links[edit]