all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
To: Julien Lepiller <julien@lepiller.eu>
Cc: "Maxime Devos" <maximedevos@telenet.be>,
	"Ludovic Courtès" <ludo@gnu.org>,
	"51737@debbugs.gnu.org" <51737@debbugs.gnu.org>,
	phodina <phodina@protonmail.com>,
	"Liliana Marie Prikler" <liliana.prikler@gmail.com>
Subject: [bug#51737] [PATCH v3 1/8] gnu: Add linux-libre-waydroid.
Date: Thu, 15 Dec 2022 17:38:36 +0100	[thread overview]
Message-ID: <20221215173836.49271218@primary_laptop> (raw)
In-Reply-To: <3294542A-ABDB-4C8A-A2C8-C8A55EDECC57@lepiller.eu>

[-- Attachment #1: Type: text/plain, Size: 4100 bytes --]

On Tue, 13 Dec 2022 19:23:06 +0100
Julien Lepiller <julien@lepiller.eu> wrote:

> I managed to build bionic in the time frame I envisionned, but I have
> some issues with recursive module imports when trying to define the
> base inputs for the gnu-build-system (and ultimately the
> blueprint-build-system).
> 
> One concern I have is that Lineage OS includes some non free
> components, though I'm not sure what exactly (at least non-free
> firmware in the kernel, probably drivers too).
Part of the work of making an FSDG compliant LineageOS derivative can
be really easy:
- The kernel can be removed as it's not needed here. I'm not sure where
  the kernel headers are but they are most likely separate.
- Most of the device repositories (in device/<vendor>/<product>) contain
  scripts whose only goal is to download (from the device) the required
  nonfree software.
- All hardware related HAL that depends on these nonfree software can
  be removed.

Here in practice it means forking the LineageOS manifest and removing
the offending repositories.

The hard part is with the rest of the code: With Android, knowing the
license of the repositories is not easy because you don't have package
definitions and you probably don't have very strict copyright
requirements (like in Debian). 

There are empty files like LICENSE_APACHE2 in some repositories, and 
that is used to indicate the license (it's the closest we have to a
license field in a package definition), but I've no idea how precise
they are. These are used by code that generate the list of licenses
displayed in the phone settings, but I didn't look yet how it works.

So if we want to do it right we'd probably need to review at least the
usual suspect ourselves (like libraries with fat code, AAC related
code, try to look if there are nonfree binaries left, etc).

If people want to use LineageOS as a base, they need to check the
DivestOS project as they have a script that can partially deblob more
recent versions of LineageOS (they also informed Replicant of some of
the blobs Replicant missed). They don't remove all the blobs though, so
it might be a good idea to check with them what blobs still need to be
removed.

Replicant 6.0 is based on LineageOS 13.0 which is based on Android
6.0.1, and over time we found and/or were notified of freedom and
privacy issues (that both conflicted with the FSDG). And none of these
issues were present in AOSP. At least some of these issues came from
CyanogenMod, so maybe they are not present anymore.

Another option is to use AOSP instead of LineageOS. This could make
FSDG compliance easier as there won't be any potential issues with
LineageOS additions.

It will also enable to share more work because several Android
distributions using AOSP and kernels based on upstream Linux started to
create a community[1] to share work. So for instance the vibrator HAL
of Waydroid could be replaced by the "Force Feedback haptic hal" that
is generic. Replicant has applied for funding through NLnet to improve
the sharing of work through that community. So for the long term
maintenance of such a project, using AOSP might be a better bet,
especially if distributions like Guix start packaging more and more
AOSP components (this way we'd share more and more work on reviewing
licensing information).

As for linux-libre-waydroid itself, if the only change is to enable
Android drivers, maybe the kernel could be renamed to something more
generic like linux-libre-android.

And if for instance we package for instance userspace tools to test the
binder driver, and with that we might already have a use case and be
able to test this kernel anyway. And I've not reviewed the patch but
the maintenance here could be completely automatized (so when somebody
updates linux-libre, linux-libre-android gets updated automatically).

PS: To all readers: I'm not a Guix maintainer, so I can't decide if
    patches get in or not.

References:
-----------
[1]https://aosp-developers-community.github.io

Denis.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2022-12-15 16:40 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-10  1:33 [bug#51737] Add Waydroid phodina via Guix-patches via
2021-11-10  1:37 ` [bug#51737] [PATCH 1/4] gnu: Add libglibutil phodina via Guix-patches via
2021-11-10  1:38 ` [bug#51737] [PATCH 2/4] gnu: Add libgbinder phodina via Guix-patches via
2021-11-10  1:38 ` [bug#51737] [PATCH 3/4] gnu: Add python-gbinder phodina via Guix-patches via
2021-11-10  1:39 ` [bug#51737] [PATCH 4/4] gnu: Add waydroid phodina via Guix-patches via
2021-11-15 20:03   ` Liliana Marie Prikler
2021-11-15 22:30     ` phodina via Guix-patches via
2021-12-03 15:00     ` phodina via Guix-patches via
2022-06-25 13:08 ` [bug#51737] [PATCH v2 1/7] gnu: Add linux-libre-waydroid phodina via Guix-patches via
2022-06-25 16:46   ` Maxime Devos
2022-06-27  7:07     ` phodina via Guix-patches via
2022-07-19 14:56       ` Maxime Devos
2022-07-19 14:57       ` Maxime Devos
2022-10-29 19:28         ` [bug#51737] [PATCH v3 1/8] " phodina via Guix-patches via
2022-10-31 19:30           ` phodina via Guix-patches via
2022-11-01  6:51             ` Liliana Marie Prikler
2022-11-01  7:04               ` Julien Lepiller
2022-11-04  3:03                 ` Denis 'GNUtoo' Carikli
2022-11-04 11:38                   ` Denis 'GNUtoo' Carikli
2022-11-04 11:51                   ` Denis 'GNUtoo' Carikli
2022-11-04 12:26                   ` Denis 'GNUtoo' Carikli
2022-11-12 15:54                   ` Denis 'GNUtoo' Carikli
2022-12-13 17:48                   ` phodina via Guix-patches via
2022-12-15 17:02                     ` Denis 'GNUtoo' Carikli
2022-12-13 17:10                 ` phodina via Guix-patches via
2022-12-13 18:23                   ` Julien Lepiller
2022-12-15 16:38                     ` Denis 'GNUtoo' Carikli [this message]
2022-12-13 16:49               ` phodina via Guix-patches via
2022-12-15 16:44                 ` Denis 'GNUtoo' Carikli
2022-10-18  9:32 ` [bug#51737] Add Waydroid dan
2024-03-20 13:56 ` outlook user

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221215173836.49271218@primary_laptop \
    --to=gnutoo@cyberdimension.org \
    --cc=51737@debbugs.gnu.org \
    --cc=julien@lepiller.eu \
    --cc=liliana.prikler@gmail.com \
    --cc=ludo@gnu.org \
    --cc=maximedevos@telenet.be \
    --cc=phodina@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.