Replicant (operating system)
Replicant is a free operating system (OS) based on the Android mobile platform that aims 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 (which it is forked indirectly from). 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.
Developer | Denis Carikli, Joonas Kylmälä, Fil Bergamo, Paul Kocialkowski[1] |
---|---|
OS family | Unix-like (Linux) |
Working state | Current |
Source model | Open source |
Initial release | Mid-2010 |
Latest release | 6.0 0004 RC2[2] (July 22, 2020 ) [±] |
Repository | |
Package manager | APK |
Kernel type | Monolithic (Linux) |
Userland | Bionic C library,[3][4] mksh shell,[5] native core utilities with a few from NetBSD[6] |
License | Apache License 2.0, GNU GPLv2, and various other licenses |
Official website | www |
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
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][20]
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[21] and permitted HTC Dream to have GPS working with Replicant.[20]
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.[22][23][24] 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.[25]
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][26][27]
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." [28] When the smartphone operating systems efforts of others, like Mozilla, failed to gain traction, Replicant continued.[29]
Replicant is sponsored and supported by the Free Software Foundation,[7] which also hosts Replicant's source code.[30][31]
Releases
The following table lists the major releases of Replicant:
Version | Release date | Based on | Notes | ||
---|---|---|---|---|---|
style="background-color: #FDB3AB; " title="Old version, no longer maintained" data-sort-value="2.2[32]" | 2.2[32] | 26 April 2011 | Android 2.2 "Froyo" | N/A | ||
style="background-color: #FDB3AB; " title="Old version, no longer maintained" data-sort-value="4.0[33]" | 4.0[33] | 15 November 2012 | Android 4.0 "Ice Cream Sandwich" | Five updates have been released; the last one, 0005, was released on September 29, 2013.[34] | ||
class="templateVersion co" style="background-color: #FEF8C6; " title="Older version, yet still maintained" data-sort-value="4.2[35]" | 4.2[35] | 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.[36] | ||
class="templateVersion c" style="background-color: #D4F4B4; " title="Current stable version" data-sort-value="6.0[37]" | 6.0[37] | 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] | ||
class="templateVersion p" style="background-color: #C1E6F5; " title="Future release" data-sort-value="10[38]" | 10[38] | 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
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,[39] 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,[39][40][41][42][21] 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".[43] 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."[44] The founder of Ubuntu previously expressed similar concerns.[45]
Development
On January 3, 2013, the project released Replicant 4.0 SDK as a fully libre replacement to Android SDK.[46] The Replicant SDK was released in response to Google updating the license for add-ons and binaries under a proprietary agreement.[47] Replicant's SDK was discontinued on April 28, 2017 in favour of the free SDK packaged by Debian.[48]
Hardware support
Supported devices
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.[49]
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[50] free userspace |
No | Yes | Yes | Proprietary | Proprietary |
Samsung Galaxy S | Smartphone | galaxysmtd | 4.2 | Yes | No | Yes | Yes | Yes | N/A | 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 | N/A | No | Yes | No | Proprietary | Proprietary |
Samsung Galaxy Tab 2 (10.1) | Tablet | p5100 | 4.2 | Yes (slow) | No | Yes | Yes | Yes | N/A | 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 | N/A | Yes | Work in progress | Work in progress | Proprietary | Proprietary |
Device requirements
- The device must be supported by LineageOS/CyanogenMod officially (better) or via 3rd party repos[51]
- 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
References
- "People - Replicant". Redmine.replicant.us. Retrieved September 30, 2013.
- Carikli, Denis (July 22, 2020). "Replicant 6.0 0004 RC2 images". replicant.us. Retrieved September 7, 2020.
- "Replicant". replicant.us.
- "android/platform/bionic/".
- "android/platform/external/mksh/".
- "android/platform/system/core/toolbox/".
- McAllister, Neil (July 26, 2013). "FSF passes collection plate for free Android clone Replicant". The Register. Retrieved January 23, 2014.
- "Amazon's Fire OS Burned by Google, says EC. Is It Really a Rival?". web.archive.org. September 2, 2019. Retrieved July 1, 2020.
- "Replicant Status". redmine.replicant.us. Retrieved March 28, 2015.
- "Replicant Developer's Guide". Replicant Wiki. Retrieved January 18, 2016.
- Sharwood, Simon (January 23, 2017). "Stallman's Free Software Foundation says we need a free phone OS". The Register. Retrieved February 12, 2018.
- "NLnet; Graphics acceleration on Replicant". nlnet.nl. Retrieved December 14, 2019.
- "NLnet; Finish porting Replicant to a newer Android version". nlnet.nl. Retrieved December 14, 2019.
- "Replicant: distribution Android 100% libre". LinuxFr.org. September 20, 2010. Retrieved September 30, 2013.
- Byfield, Bruce. "Replicant: The Struggle for Free Mobile » Linux Magazine". Linux Magazine. Retrieved November 8, 2019.
- "Musings on Software Freedom for Mobile Devices - Bradley M. Kuhn ( Brad ) ( bkuhn )". ebb.org. Retrieved November 8, 2019.
- "FSF launches fundraising program for Replicant, the fully free Android-based mobile OS". SD Times. July 25, 2013. Retrieved November 8, 2019.
- Puttergill, Rowan (October 3, 2011). "Replicant: Making Android truly free". Memeburn. Burn Media.
- Currie, Andrew (August 24, 2011). "F-Droid, the Android app store for freedom beards". Open attitude. (Blog). Retrieved September 30, 2013.
- Par aKa (October 10, 2011). "Le projet Replicant ou Android totalement libre présenté par PaulK". Framablog. Retrieved September 30, 2013.
- Constantin, Lucian (March 13, 2014). "Flaw gives backdoor access to some Samsung Galaxy devices". Computerworld. Retrieved November 11, 2019.
- 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.
- Rohan Pearce (March 10, 2012). "Replicant developer interview - Building a truly free Android". techworld.com. Retrieved January 2, 2014.
- Daniel Fuller (August 10, 2016). "Replicant FOSS Android Project Hits Marshmallow". androidheadlines.com. Retrieved February 12, 2018.
- "Replicant 6.0 development updates". Replicant blog (blog). Retrieved February 20, 2017.
- "Replicant developer interview - Building a truly free Android - Interview - Techworld.com". Features.techworld.com. Retrieved September 30, 2013.
- Klint Finley (October 30, 2013). "The Quest to Build a Truly Free Version of Android". wired.com. Retrieved February 12, 2018.
- Ron Amadeo (July 29, 2014). "The great Ars experiment—free and open source software on a smartphone?!". arstechnica.com. Retrieved February 12, 2018.
- Klint Finley (December 9, 2015). "Mozilla Is Giving Up on Its OS for Smartphones". wired.com. Retrieved February 12, 2018.
- Kocialkowski, Paul (July 1, 2015). "Replicant source code hosting and RMLL 2015". Replicant blog. Replicant.
- John Gold (January 17, 2017). "Free Software Foundation shakes up its list of priority projects". networkworld.com. Retrieved February 12, 2018.
- "Replicant 2.2 SDK Available". Replicant. April 26, 2011. Retrieved November 20, 2017.
- Kocialkowski, Paul (November 16, 2012). "Replicant 4.0 0001 images release". Replicant. Retrieved November 20, 2017.
- Kocialkowski, Paul (October 1, 2013). "Replicant 4.0 0005 images release". Replicant. Retrieved November 20, 2017.
- Kocialkowski, Paul (January 22, 2014). "Replicant 4.2 kicks out!". Replicant. Retrieved November 20, 2017.
- Kocialkowski, Paul (September 2, 2015). "Replicant 4.2 0004 images release". Replicant. Retrieved November 20, 2017.
- Wiedmeyer, Wolfgang (May 13, 2017). "Replicant 6.0 released". Replicant. Retrieved November 20, 2017.
- "RE: Question about replicant 9". Replicant. June 25, 2020. Retrieved June 27, 2020.
- Kocialkowski, Paul (March 12, 2014). "Replicant developers find and close Samsung Galaxy backdoor". FSF's blog. Free Software Foundation. Retrieved September 19, 2014.
- Paul Kocialkowski. "Samsung Galaxy Back-door". Replicant Wiki. Retrieved July 5, 2014.
- "Replicant Developers Find Backdoor In Android Samsung Galaxy Devices - Phoronix". www.phoronix.com. Retrieved November 4, 2019.
- "Technoethical S3 phone with Replicant - Technoethical". tehnoetic.com. Retrieved November 8, 2019.
- Goodin, Dan (March 14, 2016). ""Virtually no evidence" for claim of remote backdoor in Samsung phones". Ars Technica. Condé Nast. Retrieved September 4, 2016.
- Jack Crosbie (March 23, 2017). "Wikileaks: The CIA Has Been Spying on Apple Users for Years". inverse.com. Retrieved February 12, 2018.
- Lucian Constantin (March 18, 2014). "Proprietary firmware poses a security threat, Ubuntu founder says". pcworld.com. Retrieved February 12, 2018.
- "Replicant 4.0 SDK release | Replicant project". Replicant.us. January 3, 2013. Archived from the original on September 8, 2013. Retrieved September 30, 2013.
- "What's up with the Android SDK? - Paul Kocialkowski's coding blog". Code.paulk.fr. January 5, 2013. Retrieved September 30, 2013.
- "There won't be a Replicant 6.0 SDK because there is already something better". Replicant.us. April 28, 2017. Retrieved May 6, 2017.
- "New Replicant 6.0 Update Doubles the Number of Supported Devices". xda-developers. September 18, 2017. Retrieved November 4, 2019.
- "Nexus S (I902x)".
free userspace, proprietary loaded firmware
- https://redmine.replicant.us/projects/replicant/wiki/TargetsEvaluation