This page describes how to help Replicant if you have some time at hand.
While supporting many common (Samsung) phones and tablets is relatively easy and fast to do, we think that it's at lot more important to support devices that are better for freedom. Many Samsung devices we do support have an isolated modem, however we can't free their bootloader because it is signed.
Devices like the GTA04 or the LG Optimus Black don't have this bootloader issue, while still having an isolated modem.
We therefore strongly advise to pick tasks that would improve the support for these more freedom-friendly devices in Replicant.
We however still accept contributions for devices with isolated modems and non-free bootloaders.
Additionally, below is an overview over tasks where help is greatly appreciated.
Various tasks that don't require specific hardware¶
- Fix the security vulnerabilities reported in the issue tracker (Very important)
Requirements/Prerequisites: Android build system, knowledge of system security, advanced git
Task completion: Integration or update of components of Replicant to tackle security issues
- Fix the freedom issues reported in the issue tracker (Very important)
We need to include an F-droid version that compatible with the GNU Free System Distribution Guidelines (Issue #1629)
We also need to be able to build Replicant from a GNU/Linux distribution that is compatible with the GNU Free System Distribution Guidelines (Issue #1861)
There are also other freedom bugs that should be fast to fix.
Requirements/Prerequisites: Knowledge of shell scripts and the ability to learn the Android build system
Task completion: The ability to compile Replicant from an FSDG distribution, F-droid only showing FSDG compliant software.
- Make it easy to rebuild the prebuilt parts of the toolchain and other binaries in the source code (Toolchain) (Important).
- Make a more complete EGL implementation like llvmpipe usable so newer webview versions and Firefox-based browsers can be used (Feature #705) (Very important as it affects security)
- Make it easy to build and release a Replicant NDK or a package with build tools from the Replicant source code (Issue #1787 and Feature #837, see also NDKBuild for Replicant 4.2)
- Improve software video decoding (Feature #1521) (Less important)
- Create a Replicant boot animation (Feature #1797)
- Support devices that can have a free software bootloader like the GTA04 and the Optimus Black (See also Feature #1866 as both can be done at the same time)
- Support devices using upstream Linux kernel (Feature #1866)
- Use GNU/Linux hardware support programs (like bluez) (Feature #1866)
- Improve hardware-specific graphics acceleration (Feature #1491, GraphicsResearch) (Important if it can benefits devices with free bootloaders)
- Improve various aspects of Samsung-RIL (add support for missing features and/or correct bugs) (Issue #1485)
- Figure out the BCM4751 GPS protocol and write a free implementation (Feature #1473) (Important since it affects many devices, including the Optimus Black)
- Make the GSD4t GPS work (Feature #1479)
- Make the camera for the Galaxy Nexus and Galaxy Tab 2 variants work (Feature #351)
- Add the missing audio scenarios for Bluetooth (AD2P, calls, etc) and dock audio for the Galaxy S2 (I9100) (#1497)
- Write free firmware replacements for WiFi, Bluetooth, camera and hardware media encoding/decoding chips on Replicant-supported devices
Wiki and this page¶
- Write guidelines for reporting bugs
They should clarify which kind of issues should rather be discussed in the forums and how security issues should be reported.
- Add a research page about isolation of components running non-free software explaining methods to determine the isolation level
Add detailed documentation about modem isolation for supported devices there
- Make sure the hardware of supported devices is documented, at least with a hardware table
- Create a page to inform about freedom issues (including anti-features) with other distributions (e.g. CopperheadOS)
- Describe the project priorities and the required hardware if any
- Create videos that users can follow that outline how to install and use Replicant on supported devices.