PortReplicantToAnewerAndroidVersionInitialApplication » History » Version 1
Denis 'GNUtoo' Carikli, 01/14/2020 12:56 PM
Initial import from TasksFunding
1 | 1 | Denis 'GNUtoo' Carikli | h1. PortReplicantToAnewerAndroidVersionInitialApplication |
---|---|---|---|
2 | |||
3 | h2. NLnet foundation Grant application for "Finish porting Replicant to a newer Android version" |
||
4 | |||
5 | h3. Contact information: |
||
6 | |||
7 | |_. Your name | Denis Carikli | |
||
8 | |_. Email address | [[PrivateContact#Email]] + our contact at the FSF | |
||
9 | |_. Phone numbers | GNUtoo's phone number | |
||
10 | |_. Organisation | Replicant and the FSF | |
||
11 | |_. Country | France(Denis Carikli), USA (FSF) | |
||
12 | |||
13 | h3. General project information |
||
14 | |||
15 | |_. Project name | Finish porting Replicant to a newer Android version | |
||
16 | |_. Website / wiki | https://redmine.replicant.us/projects/replicant/wiki/Porting_Replicant_to_Android_9 | |
||
17 | |_. Abstract: Can you explain the whole project and its expected outcome(s).in 1200 characters | <pre> |
||
18 | Replicant is a fully free software Android distribution which |
||
19 | is approved by the FSF (http://gnu.org/distros). |
||
20 | |||
21 | The combination of Android Open Source Project source code with |
||
22 | the Linux source code provided by the device vendor is not |
||
23 | sufficient to produce a fully free Android distribution that |
||
24 | works: a lot of the code that makes critical hardware components |
||
25 | work (the modem, graphics, audio, GPS, etc) is in userspace. |
||
26 | Because of that, most device manufacturers don't release them as |
||
27 | free software. |
||
28 | |||
29 | To make such hardware work, the Replicant project manages to |
||
30 | replace or avoid such nonfree software. |
||
31 | |||
32 | Replicant is currently based on LineageOS 13.0 which in turn is based |
||
33 | on Android 6.0.1 which are both not supported anymore. Replicant is |
||
34 | based on LineageOS because it supports way more smartphones and |
||
35 | tablets than the Android Open Source Project. |
||
36 | |||
37 | The project consists in porting Replicant changes on top of the |
||
38 | Android 9 release of the Android Open Source project, |
||
39 | and when LineageOS 16 will be ready, to backport our changes on |
||
40 | top of LineageOS 16. |
||
41 | </pre> | |
||
42 | |_. Have you been involved with projects or organizations relevant to this project before? |
||
43 | And if so, can you tell us a bit about your contributions? | Yes: I've been involved in Replicant since the beginning both as a developer and for managing the project: |
||
44 | As a developer: |
||
45 | * I did most/all the initial system work and made it work for the the HTC Dream, and the Google Nexus One. |
||
46 | * I also worked on porting the Goldelico GTA04, Galaxy nexus, Galaxy Tab 2 7.1 along with other Replicant developers and did various bug fixes and improvements. |
||
47 | * I am also doing code reviews for patches. |
||
48 | And as for managing the project I'm involved in: |
||
49 | * public relations (blog posts, etc) |
||
50 | * fund usage decisions |
||
51 | * infrastructure (system administration with other developers, etc) |
||
52 | * documentation |
||
53 | * project direction and strategic decisions | |
||
54 | |||
55 | h3. Requested support |
||
56 | |||
57 | |_. Requested Amount (Between 5000 and 50000 Euros) | 50000 Euros | |
||
58 | |_. Does the project have other funding sources, both past and present? | |
||
59 | The Replicant project has about 200000 dollars at disposition: |
||
60 | * The Replicant project has a donation page https://crm.fsf.org/civicrm/contribute/transact?reset=1&id=19. Part of the donations were used for buying devices and reimburse conference attendances. We have about 20000 dollars remaining from the donation. |
||
61 | * The Replicant project recently received 200000 dollars from Handshake: https://www.fsf.org/news/free-software-foundation-receives-1-million-from-handshake As the FSF takes 10% that leaves us 180000 dollars | |
||
62 | |||
63 | Explain what the requested budget will be used for? |
||
64 | <pre> |
||
65 | The budget will only be used to fund this task through contract work. |
||
66 | |||
67 | We think it will take something between 3 and 6 months of work |
||
68 | for one full time developer. |
||
69 | |||
70 | However it is always difficult to evaluate precisely the amount of time |
||
71 | that this kind of project would take as sometimes it can be slowed down |
||
72 | a lot due to bugs needing to be fixed. |
||
73 | |||
74 | For instance, when adding support for the Nexus One to Replicant, |
||
75 | a lot of time was spent dealing with display issues that didn't affect |
||
76 | the upstream projects, because they relied on the GPU which required |
||
77 | nonfree software to work. |
||
78 | |||
79 | If we take the cost of a Freelance developer in the USA (75$ to 150$ |
||
80 | per hour) as a basis, to enable people living in Europe and the USA |
||
81 | to apply, we can fund a developer to work on it for a period that |
||
82 | is mostly equivalent to something between 2 to 4 months full |
||
83 | time. |
||
84 | |||
85 | So far we have at least one person interested in working on it |
||
86 | as a contractor (me), and one volunteer who wants to work on it at the |
||
87 | same time, but who cannot do it full time. We will make sure |
||
88 | that everybody has a chance to apply for doing contract work. |
||
89 | |||
90 | If the work is not done when the 50000E run out, and if we cannot |
||
91 | make sure that it will be completed by volunteers in a reasonable |
||
92 | timeframe, the Replicant project will most probably use its existing |
||
93 | funds to pay for contract work to make sure that this task is completed. |
||
94 | |||
95 | The Replicant project will also take care of ensuring that the |
||
96 | people that will work on this task have the necessary hardware to |
||
97 | do it, for instance by shipping or reimbursing the purchase of a |
||
98 | compatible smartphone with the Replicant project money. |
||
99 | |||
100 | Once we have the Samsung Galaxy SIII fully working with |
||
101 | Replicant 9, we will add support for most smartphones |
||
102 | and tablets we currently support in Replicant, and add support |
||
103 | for more recent smartphones (the most recent one we currently |
||
104 | support has been released in 2013). |
||
105 | |||
106 | We also have a very basic documentation on the Android 9 port here: |
||
107 | https://redmine.replicant.us/projects/replicant/wiki/Porting_Replicant_to_Android_9 |
||
108 | </pre> |
||
109 | |||
110 | Compare your own project with existing or historical efforts. |
||
111 | <pre> |
||
112 | Upgrading Replicant to a new Android version usually took about 2 or 3 |
||
113 | months of full-time equivalent work for one person. |
||
114 | Here, we already have a device (The Galaxy SIII 4G) booting under Android 9 |
||
115 | master before the release, with a kernel that is closely based on upstream |
||
116 | Linux, but a lot still needs to be done (modem, audio, sensors, etc) and |
||
117 | validated. The Android architecture also changed a lot more between Android |
||
118 | 6.0.1 and Android 9 than it did when we ported Replicant to newer Android |
||
119 | versions. |
||
120 | </pre> |
||
121 | |||
122 | What are significant technical challenges you expect to solve during the project, if any? |
||
123 | <pre> |
||
124 | We will also need to make sure that Replicant 9 can be built with a |
||
125 | GNU/Linux distribution that is approved by the FSF. This could be |
||
126 | challenging if they lack some of the packages required to build Android. |
||
127 | </pre> |
||
128 | |||
129 | Describe the ecosystem of the project, and how you will engage with relevant actors and promote the outcomes? |
||
130 | <pre> |
||
131 | This project will re-use code from several projects such as Android, |
||
132 | drm-hwcomposer, Mesa and Lima driver. Whenever possible we will foster |
||
133 | collaboration with these projects and submit our changes upstream. |
||
134 | |||
135 | The Replicant project contributors and the FSF will supervise |
||
136 | contractors to do the work. |
||
137 | |||
138 | A blog post will announce that the Replicant project |
||
139 | has got some funding for this specific task, and that it is |
||
140 | looking for a contractor to work on it. This is to make sure |
||
141 | that everyone has equal chances in the application process. |
||
142 | |||
143 | Then the most suited contractor will be selected. Only contractors |
||
144 | that already have worked on similar tasks as part of free and open |
||
145 | source software projects will be chosen. This way we can look at |
||
146 | their existing contributions and make sure that they are able to |
||
147 | do the task before engaging with them. |
||
148 | |||
149 | The Replicant project will also make sure that the contractor has |
||
150 | or gets the hardware required to work on the task, before starting |
||
151 | to work on it.</pre> |
||
152 | |||
153 | |_. Attachments | None | |
||
154 | |||
155 | h3. How may we handle your information |
||
156 | |||
157 | |_. What should we do in the other case, |
||
158 | e.g. when your project is not immediately selected? | I allow NLnet Foundation to keep the information I submit on record, should future funding opportunities arise | |
||
159 | |_. Send me a copy of this application. | check-box checked | |
||
160 | |_. PGP pubkey | None (if we use Replicant contact address, we can't encrypt to it) | |