On Sat, 9 Oct 2021 22:23:26 -0700 Theodore Somers <knowledgeofnati...@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.
pgptj0Isb5tm0.pgp
Description: OpenPGP digital signature