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