Group: Hardware/Software/Operating Systems
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 |
|
? |
| GNU/BSD |
|
? |
| GNU/Hurd |
|
? |
| GNU/Linux | Several, see free-distros on gnu.org |
|
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:
It can also run under GNU/Linux. |
|
| NuttX | Apache | ? |
|