Tasks » History » Version 101

Denis 'GNUtoo' Carikli, 01/19/2018 06:38 PM

1 10 Paul Kocialkowski
h1. Tasks
3 88 Wolfgang Wiedmeyer
This page describes how to help Replicant if you have some time at hand.
4 1 Paul Kocialkowski
5 62 Denis 'GNUtoo' Carikli
h2. Project focus
6 1 Paul Kocialkowski
7 101 Denis 'GNUtoo' Carikli
h3. Support devices with free software bootloaders and isolated modem
9 79 Wolfgang Wiedmeyer
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.
10 62 Denis 'GNUtoo' Carikli
11 79 Wolfgang Wiedmeyer
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.
14 1 Paul Kocialkowski
We however still accept contributions for devices with isolated modems and non-free bootloaders.
15 101 Denis 'GNUtoo' Carikli
h3. Support devices with upstream GNU/Linux support
The devices currently supported by Replicant rely on heavily modified and device specific versions of the Linux kernel along with hardware abstraction libraries that are made specifically for it. This raises several issues:
* It limits the life of the device, as Replicant is then dependent on LineageOS to update the kernel version, which is a lot of work.
* Replicant doesn't share the work with GNU/Linux, which makes Replicant more dependant on Google, and doesn't help GNU/Linux to work well on smartphones.
* Replicant doesn't work out of the box with devices already using upstream Linux kernels.
To fix that, Replicant needs to:
* Find or port a device to the upstream Linux kernel.
* Add very minimalistic support for that device to Replicant, while using the upstream Linux kernel.
* Write or adapt hardware support libraries to work with the upstream Linux kernel, in a way that is not tied to a specific device but would support any device using a standard Linux kernel. 
27 1 Paul Kocialkowski
28 90 Wolfgang Wiedmeyer
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.
30 1 Paul Kocialkowski
31 62 Denis 'GNUtoo' Carikli
h2. Tasks that don't require specific hardware
32 35 Paul Kocialkowski
33 85 Wolfgang Wiedmeyer
* 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)
34 67 Wolfgang Wiedmeyer
* 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)
35 86 Wolfgang Wiedmeyer
* Include a F-Droid version in Replicant that is compatible with the GNU Free System Distribution Guidelines (Very important) (Issue #1629)
36 80 Wolfgang Wiedmeyer
* Make it easy to rebuild the prebuilt parts of the toolchain and other binaries in the source code ([[Toolchain]]) (Important).
37 74 Wolfgang Wiedmeyer
* 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)
38 62 Denis 'GNUtoo' Carikli
* Improve software video decoding (Feature #1521) (Less important)
39 94 Wolfgang Wiedmeyer
* Create a Replicant boot animation (Feature #1797)
40 1 Paul Kocialkowski
h2. Device-specific tasks
43 83 Wolfgang Wiedmeyer
* Improve hardware-specific graphics acceleration (Feature #1491, [[GraphicsResearch]]) (Important if it can benefits devices with free bootloaders)
44 1 Paul Kocialkowski
* Improve various aspects of [[Samsung-RIL]] (add support for missing features and/or correct bugs) (Issue #1485)
45 95 Wolfgang Wiedmeyer
* Figure out the [[BCM4751]] GPS protocol and write a free implementation (Feature #1473) (Important since it affects many devices, including the Optimus Black)
46 1 Paul Kocialkowski
* Make the [[GSD4t]] GPS work (Feature #1479)
47 100 Wolfgang Wiedmeyer
* Make the [[OMAP4DucatiCamera|camera]] for the Galaxy Nexus and Galaxy Tab 2 variants work (Feature #351)
48 95 Wolfgang Wiedmeyer
* Add the missing audio scenarios for Bluetooth (AD2P, calls, etc) and dock audio for the [[GalaxyS2I9100|Galaxy S2 (I9100)]] (#1497)
49 1 Paul Kocialkowski
* Write free firmware replacements for WiFi, Bluetooth, camera and hardware media encoding/decoding chips on Replicant-supported devices
50 77 Wolfgang Wiedmeyer
51 84 Wolfgang Wiedmeyer
h2. Wiki and this page
52 77 Wolfgang Wiedmeyer
* 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.
55 99 Wolfgang Wiedmeyer
* 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
58 92 Wolfgang Wiedmeyer
* Create a page to inform about freedom issues (including anti-features) with other distributions (e.g. CopperheadOS)
59 77 Wolfgang Wiedmeyer
* Describe the project priorities and the required hardware if any
60 98 Kurtis Hanna
* Create videos that users can follow that outline how to install and use Replicant on supported devices.