gnu-linux-libre
[Top][All Lists]
Advanced

[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.

Attachment: pgpSej017cjxj.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]