Project

General

Profile

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) |