Tasks » History » Revision 112

Revision 111 (Denis 'GNUtoo' Carikli, 12/10/2018 06:03 PM) → Revision 112/117 (Denis 'GNUtoo' Carikli, 01/08/2019 12:40 AM)

h1. Tasks 

 This page describes how to help Replicant if you have some time at hand. 

 h2. Project focus 

 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. 

 Filtering the issue tracker for open issues, which have either one of the priorities "immediate":/projects/replicant/issues?set_filter=1&f[]=status_id&op[status_id]=o&f[]=priority_id&op[priority_id]=%3D&v[priority_id][]=39&f[]=&c[]=tracker&c[]=status&c[]=priority&c[]=subject&c[]=assigned_to&c[]=updated_on&c[]=category&c[]=cf_21&group_by=, "urgent":/projects/replicant/issues?set_filter=1&f[]=status_id&op[status_id]=o&f[]=priority_id&op[priority_id]=%3D&v[priority_id][]=33&f[]=&c[]=tracker&c[]=status&c[]=priority&c[]=subject&c[]=assigned_to&c[]=updated_on&c[]=category&c[]=cf_21&group_by= or "high":/projects/replicant/issues?set_filter=1&f[]=status_id&op[status_id]=o&f[]=priority_id&op[priority_id]=%3D&v[priority_id][]=27&f[]=&c[]=tracker&c[]=status&c[]=priority&c[]=subject&c[]=assigned_to&c[]=updated_on&c[]=category&c[]=cf_21&group_by=, lists the important current tasks. 

 Additionally, below is an overview over tasks where help is greatly appreciated. 

 h2. Various tasks that don't require specific hardware 

 * Fix the security vulnerabilities "reported in the issue tracker":/projects/replicant/issues?set_filter=1&f[]=status_id&op[status_id]=o&f[]=category_id&op[category_id]=%3D&v[category_id][]=141&f[]=&c[]=tracker&c[]=status&c[]=priority&c[]=subject&c[]=assigned_to&c[]=updated_on&c[]=category&c[]=cf_21&group_by= (Very important) 
 *Requirements/Prerequisites*: Android build system, knowledge of system security, advanced git 
 *Difficulty*: Medium-Hard 
 *Task completion*: Integration or update of components of Replicant to tackle security issues 
 * Fix the freedom issues "reported in the issue tracker":/projects/replicant/issues?utf8=%E2%9C%93&set_filter=1&f%5B%5D=status_id&op%5Bstatus_id%5D=o&f%5B%5D=category_id&op%5Bcategory_id%5D=%3D&v%5Bcategory_id%5D%5B%5D=261&f%5B%5D=&c%5B%5D=tracker&c%5B%5D=status&c%5B%5D=priority&c%5B%5D=subject&c%5B%5D=assigned_to&c%5B%5D=updated_on&c%5B%5D=category&c%5B%5D=cf_21&group_by=&t%5B%5D= (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 
 *Difficulty*: Easy 
 *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). 
 *Requirements/Prerequisites*: Knowledge of shell scripts and the ability to learn the Android build system 
 * 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) 
 *Requirements/Prerequisites*: Knowledge of shell scripts and the ability to learn the Android build system 
 * 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) 
 *Task completion*: Working EGL implementation, fast enough graphics, F-droid applications not crashing anymore because of EGL. 
 * Improve software video decoding (Feature #1521) (Less important) 
 * Create a Replicant boot animation (Feature #1797) 

 h2. Device-specific tasks 

 * 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 [[OMAP4DucatiCamera|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 [[GalaxyS2I9100|Galaxy S2 (I9100)]] (#1497) 
 * Write free firmware replacements for WiFi, Bluetooth, camera and hardware media encoding/decoding chips on Replicant-supported devices 


 h2. Wiki and this page 

 * Merge this page into the [[Tasks_v2|New task 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.