diff options
Diffstat (limited to '36c3/Replicant_introduction/replicant-intro.md')
-rw-r--r-- | 36c3/Replicant_introduction/replicant-intro.md | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/36c3/Replicant_introduction/replicant-intro.md b/36c3/Replicant_introduction/replicant-intro.md new file mode 100644 index 0000000..9f81c05 --- /dev/null +++ b/36c3/Replicant_introduction/replicant-intro.md @@ -0,0 +1,69 @@ +# Title +Introduction to Replicant + +# Subtitle +Why and how to make a fully free software Android distribution + +# Summary +Replicant is a fully free Android distribution that is approved by the FSF. +This short talk will briefly explain: why Replicant came into being; the freedom, +privacy and security issues it has found in devices aimed to run Android; +and the approaches that it follows to liberate such Android devices. + +# Description +Replicant is a fully free software Android distribution that puts emphasis on +freedom, privacy and security. It is based on LineageOS and replaces or avoids +every proprietary component of the system. Replicant is so far the only +distribution for smartphones that is endorsed by the Free Software Foundation as +meeting the Free System Distribution Guidelines. + +Starting out as a project that aimed to make the HTC Dream smartphone +usable with only free software, it proved that running Android on these devices +was much simpler and effective than porting GNU/Linux to them. +The main reason behind that lies in the Android architecture: while in GNU/Linux +the hardware abstraction is done in the Linux kernel, in Android it is done in hardware +abstraction libraries. This enabled hardware manufacturers to break the kernel API, +making it very difficult to run GNU/Linux properly on such devices. + +As the work progressed, the team took the opportunity to learn more about the +hardware architecture of the smartphones they were supporting, as it has a big +impact on freedom as well. + +In most early Android Android devices, the modem was in control of everything, +with full access to RAM, sound card and GPS. Because of that, Replicant shifted +focus to devices where the modem is isolated, and started documenting hardware +freedom issues across different devices as well. + +Most of the heavy work to get new devices ported to Replicant revolved around +creating free software replacements for nonfree userspace protocol +implementations, such as the Radio Interface Layer (RIL) that communicates with +the modem, or the NMEA protocol to talk with the GPS. With that work, one backdoor +was found in the proprietary Samsung RIL implementation, which allowed the +modem to read the contents of the filesystem. + +Although the project had fixed some of the freedom issues affecting smartphones +and tablets, there was still one critical component missing to be able to run +fully free software on the main CPU: the bootloader. Focus was then redirected +to devices such as the GTA04 and the Optimus Black, that have an unlocked +bootloader and were made to work with u-boot. Unfortunately these devices required +a lot of work: the GTA04 had a kernel closely based on upstream Linux, but at the +time it required too much time to convert it to use the Android power management +models. For the Optimus black, the u-boot port took a huge amount of work as well, +leaving no time to finish upstreaming the Linux support. + +Replicant, as well as it's upstream (LineageOS), inherit the Linux kernel that +device manufacturers release thanks to the requirements of the GPL license. +Unfortunately it is usually based on versions that are several years old and +no longer maintained, riddled with bugs and security concerns. +Also, such kernels usually come with dozens to hundreds of out-of-tree patches, +required for essential peripherals such as modem, cameras or display. +Maintaining and adapting such a kernel to new Android versions ourselves requires +too much work. Because of that, we had to drop devices for versions where LineageOS +decided to drop them. + +Taking this into consideration, and having learnt the lessons on how lack of +proper kernel support can ditch a device, Replicant is now shifting focus to +prepare devices to run a mainline kernel with full support for their peripherals. +Replicant is also adopting mainline userspace such as Mesa. Furthermore it is +also looking to support community oriented devices such as the Pinephone, that +offer a better hardware platform for free software. |