[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GNU-linux-libre] developing fully free mobile operating systems
From: |
Denis 'GNUtoo' Carikli |
Subject: |
Re: [GNU-linux-libre] developing fully free mobile operating systems |
Date: |
Mon, 11 Oct 2021 17:17:48 +0200 |
On Sat, 9 Oct 2021 22:23:26 -0700
Theodore Somers <knowledgeofnations@outlook.com> wrote:
> Long term, would it be more beneficial to develop distributions of
> GNU/Linux for mobile devices (phones, tablets, smartwatches, pdas,
> e-readers) or to work on a 100% free fork of android (potentially a
> new rom, or giving replicant wider hardware support)?
While Android and most Android applications are well adapted to
smartphones[1], Android has too much systemic issues to be a good long
term solution.
While some could be fixed, for instance by mixing Android and GNU/Linux
somehow, the fact that Android is a huge body of code that is mostly
unknown to the people already contributing to GNU/Linux is an issue
that is probably too hard to fix.
The fact that the Free software community isn't much involved in
designing Android is also a big issue. This can be seen with the
Android security model that is tailored for nonfree applications[2].
But making a specific GNU/Linux distribution is probably not a good long
term solution either as the main advantage of doing that is to be able
to modify the software in a way that isn't sustainable. For instance if
you do that you can add many smartphone specific patches in applications.
I think that the right approach for the longer term is to work with
existing upstream projects and/or write applications that work fine on
smartphones:
- Desktop environments need to be adapted (or written) to work well on
smartphones. Gnome probably works fine on tablets for instance.
- Applications also need to be adapted or written to work well on
smartphones. For instance I don't think that claws-mail would work
well with a small screen and no precise input.
- For distributions we could work within the existing ones. We at least
need to have documentation to install the distributions on
smartphones, and/or to releases images for smartphones and/or to
write some installers (like the Rockbox installer for
instance). If for some reasons things need to be somehow separate,
we could follow the Freedom box project footsteps by making images
and having separate documentation, but still relying on stock
upstream distributions.
- Ideally we should also find ways to make supporting several
distribution scale well by finding ways to share work as much as
possible. For instance for the installers or for documentation there
will probably be a lot of duplicated work. A way to do that would be
to make installers that are reusable by several distributions, and to
find ways to share the documentation. For instance we already have
common resources like Wikidata, the Free Software Directory that can
act as distribution neutral source of data, which could be reused in
documentation. For FSDG compliant distribution, the Libreplanet wiki
also looks like a resource that could be used for that.
And one of the reasons (but not the only one) behind making Replicant
use as much as possible the GNU/Linux stack to make the hardware work
while still being an Android distribution is also to share work with
GNU/Linux and avoid too much duplication of work.
For a long term solution in both GNU/Linux and Android distributions we
also need to think about scale for hardware support: GNU/Linux has most
of the infrastructure to be able to support many different x86 computers
within the same distribution with the same installer or images: you
could have an image/installer for i686 and one for x86_64 that runs on
most x86 laptops, desktop and servers.
The fact that the boot software like the BIOS, UEFI or Libreboot are on
completely separate storage devices help here.
With ARM, even if things improved a lot the last decades, many devices
have device specific bootloaders on the same storage devices than the
distribution. The advantage is that you often have more practical
freedoms with that, but it also stands in the way of making generic
images. So in the long run that will also need to be handled in one way
or another. Making software like the Rockbox installer would help for
that for instance, as it could add a device specific bootloader
to the installer for instance.
The more generic code we have the more testing we will need to have
though[3]. For hardware specific code we now have distributed hardware
testing infrastructure emerging. For instance Coreboot, Xorg,
Osmocom, Linux, Red Hat, and so on have infrastructure that is more or
less distributed to help test more and more devices.
References:
-----------
[1]The smartphones have a small screen with a huge number of pixels per
inch, and the fingers aren't as precise as mices, and most
smartphones lack a keyboard.
[2]https://redmine.replicant.us/projects/replicant/wiki/ApplicationsSecurityModel
[3]If you modify some code, and that this code handles hardware, and
that it is used by many different devices, it might affect these
devices differently.
Denis.
pgpSej017cjxj.pgp
Description: OpenPGP digital signature