Group: Hardware/Software/Operating Systems

From LibrePlanet
Jump to: navigation, search
(Small operating systems: Add Nuttx hardware support)
(Introduction: add information about derived works for small operating systems.)
Line 17: Line 17:
 
In some situations Linux could may work with 4MiB of RAM on specific hardware, but if we take computers like the Olimex STM32-H103, this computer has 20 KiB of RAM and 128 KiB of storage. So it is no where near the hardware requirements to run GNU/Linux. However it can run the gnuk free software firmware ([https://directory.fsf.org/wiki/Gnuk which is in the free software directory]), and if we look closer, gnuk runs on a tiny operating system that is called chopstx that is also free software.
 
In some situations Linux could may work with 4MiB of RAM on specific hardware, but if we take computers like the Olimex STM32-H103, this computer has 20 KiB of RAM and 128 KiB of storage. So it is no where near the hardware requirements to run GNU/Linux. However it can run the gnuk free software firmware ([https://directory.fsf.org/wiki/Gnuk which is in the free software directory]), and if we look closer, gnuk runs on a tiny operating system that is called chopstx that is also free software.
  
So for situations like that it might be interesting to know other operating systems that have less hardware requirements. In addition the license situation is a bit different in the case of small operating systems as they typically have only one set of compatible licenses and many of them use weak free software licenses, so it is something to keep in mind when choosing one as not everybody wants to do substantial contributions to free software projects that use weak licenses. These operating systems also usually have only one distribution.
+
So for situations like that it might be interesting to know other operating systems that have less hardware requirements. In addition the license situation is a bit different in the case of small operating systems as they typically have only one set of compatible licenses and many of them use weak free software licenses, so it is something to keep in mind when choosing one as not everybody wants to do substantial contributions to free software projects that use weak licenses. What constitute a derivative work can also change here as some of these operating systems look more like libraries than regular operating systems, so extra care is needed to make things licenses do match. These operating systems also usually have only one distribution, so if that distribution contains nonfree software that might complicate things.
  
 
Apart from small operating systems with less hardware requirements, there are also other general purpose operating systems with different APIs and/or use cases if there are distributions that respect users freedom for them.
 
Apart from small operating systems with less hardware requirements, there are also other general purpose operating systems with different APIs and/or use cases if there are distributions that respect users freedom for them.

Revision as of 16:54, 23 March 2026

Introduction

GNU/Linux is a well known operating system and distributions that respect users freedom do exist.

It can be used for a wide variety of use cases, including with distributions that respect users freedom and there are many articles in this wiki that can be used to understand what use case which distribution covers.

For instance we have an article about hardware support, another about server use cases, and both take into account widely different skills or situation (for instance both mention solutions that don't require to know programming, the command line, etc).

While the same distribution often supports very different type of computers (personal computers, huge servers), etc, some hardware like some WiFi access points have very few amount of RAM (64 MiB) and storage (8MiB), and work fine under GNU/Linux but they do require specific distributions, and here too we also have distributions that respects users freedom.

And in many of the cases above, there are computers that can boot with 100% free software as well (including laptops, powerful servers, WiFi access points, etc).

So while things may not be perfect (programs have bugs, many things depend on how many people contribute, etc), the status is pretty good.

However it exists computers whose specifications are below the minimal hardware requirements for GNU/Linux. For instance the Linux kernel usually cannot work with less than 16 MiB of RAM (or something equivalent to RAM).

In some situations Linux could may work with 4MiB of RAM on specific hardware, but if we take computers like the Olimex STM32-H103, this computer has 20 KiB of RAM and 128 KiB of storage. So it is no where near the hardware requirements to run GNU/Linux. However it can run the gnuk free software firmware (which is in the free software directory), and if we look closer, gnuk runs on a tiny operating system that is called chopstx that is also free software.

So for situations like that it might be interesting to know other operating systems that have less hardware requirements. In addition the license situation is a bit different in the case of small operating systems as they typically have only one set of compatible licenses and many of them use weak free software licenses, so it is something to keep in mind when choosing one as not everybody wants to do substantial contributions to free software projects that use weak licenses. What constitute a derivative work can also change here as some of these operating systems look more like libraries than regular operating systems, so extra care is needed to make things licenses do match. These operating systems also usually have only one distribution, so if that distribution contains nonfree software that might complicate things.

Apart from small operating systems with less hardware requirements, there are also other general purpose operating systems with different APIs and/or use cases if there are distributions that respect users freedom for them.

General purpose operating systems

Operating system Distributions that respect users freedoms Minimal RAM requirements
Android
  • Replicant
?
GNU/BSD
  • Hyperbola
?
GNU/Hurd
  • GNU Guix
?
GNU/Linux Several, see free-distros on gnu.org
  • Around 16 MiB if you build it and optimize it yourself.
  • Around 32 MiB or 64 MiB for LibreCMC
  • Around 512 MiB for Parabola. Trisquel recommends 2 GiB but can probably work with less with a manual installation with debootstrap. Guix requires 2 GiB for system updates.

Small operating systems

Operating system License 100% free? Supported computers Free applications
Chopstx GPLv3 or later According to its README, it supports the following processors / microcotrollers / system on a chip:
  • STM32F103
  • GD32F103 (ARM Cortex-M3)
  • STM32F030 (ARM Cortex-M0)
  • MKL27Z (ARM Cortex-M0plus)
  • STM32L432 (ARM Cortex-M4)
  • GD32VF103 (RISC-V Bumblebee)

It can also run under GNU/Linux.

  • gnuk
  • neug
NuttX Apache ?
  • Examples provided.
  • TODO: Look if other projects reuse NuttX