Skip to content

MassOS and Free Software

Daniel Massey edited this page Feb 26, 2025 · 4 revisions

MassOS and Free Software

This article explains what free software is, how free software is related to MassOS, and the potential issues with free software and MassOS.

What is free software?

"Free software" is software which aims to guarantee the freedom of its users, by ensuring they have the ability obtain, use, study, change, redistribute and sell copies of the software. Any software which doesn't allow this is known as proprietary software.

Free software does not necessarily mean that the software is free of charge. While the majority of free software is free of charge (including all the software included in MassOS), the term "free software" explicitly refers to the users' freedom. There are also many proprietary programs which are free of charge, but are not free software.

Another term, "open source", is often used interchangeably with (or instead of) "free software", however it does not have the same meaning. Open source generally agrees with the practical benefits of free software, such as allowing users to fix bugs or change the program to suit their needs, however it disregards the ethical issues surrounding proprietary software and the importance of ensuring users have freedom. These two phrases are backed by different organizations - the former being the Free Software Foundation, and the latter being the Open Source Initiative. The two organizations also have different requirements for software to be officially classified as either "free software" or "open source". In general, the MassOS developers prefer to use the term "free software", however recognize both terms, as well as terms like "F(L)OSS".

An example of open source software which is not free software is the Nmap program. This is a command-line utility used for discovery and auditing of networks. It is licensed under the Nmap Public Source License, which is derived from the GNU General Public License, however adds numerous restrictions on top of the GPL which would impede on the freedoms that should be guaranteed by free software, even though it's source code is still technically publicly available.

The distinction between "open source" and "free software" is explained in greater detail in this article by the GNU project.

Free Software in MassOS

MassOS is a collection of many different pieces of software, which all come together to form a working operating system.

All the scripts and utilities found in the MassOS repositories are licensed under the GNU General Public License version 3 or later (GPLv3+). More information can be found in the LICENSE file in the MassOS repo, or in the /usr/share/massos/LICENSE file on a MassOS system.

The vast majority of the software included in the MassOS system is free software - either in the public domain or protected by a free software license, and we make efforts to ensure this remains the case as much as possible. The license(s) for each individual piece of software can be found within the /usr/share/licenses/ directory on a MassOS system. We reject the addition of non-free software in many cases, especially when it's either unnecessary to the core MassOS system, or there is a functional alternative which is free software (for example, we include FAAC and FAAD2 instead of FDK-AAC, and cdrkit instead of cdrtools). That being said, we also understand that it is not always possible or convenient to avoid non-free software entirely. As such, there are some exceptions where we (the MassOS developers) have decided it is in the best interest of our users to include some pieces of software which are not free. While these are not common, the exceptions we do allow are listed and described in detail below.

NOTE: The GNU project maintains a list of known "fully free" distributions. The requirements to be included in this list can reach the extent of not just what the operating system contains, but also what its developers say and recommend. As such, and irrespective of the exceptions listed below, we do NOT desire or plan to request to be featured in this list under any circumstance.

Exceptions

Firmware

Many pieces of hardware, particularly modern wireless, sound and graphics cards, require proprietary firmware "blobs" in order to function. Without these "blobs", it will not be possible to operate these devices, which could render a computer system partially or completely unusable in some cases. This firmware includes the packages linux-firmware, intel-microcode and sof-firmware.

Contrary to popular belief, firmware is not actually run directly on your computer. Instead of being executed by your CPU like normal programs, firmware is loaded directly into the device it is operating. For example, a piece of firmware for a wireless card will be loaded directly into that wireless card, to allow it to operate internally. In fact, the reason many hardware devices don't appear to depend on firmware provided by the system, is not because they are strictly "free", but rather because the firmware is already built-in to the device itself. However, it is impractical for every device to have firmware built-in directly, particularly because it would require producing flash memory chips on the device to store the firmware, which would increase production costs. As a result, the manufacturers provide the firmware to be loaded at runtime, which is why we have firmware packages.

In any case, the MassOS developers firmly take the stance that excluding firmware is actually more harmful to the free software movement than including it. This is because, by excluding firmware, particularly those required to get a working display output or a network connection, you are directly taking away people's physical ability to be able to run the free software you are trying to promote in the first place. One counter-argument often made against this point is that users should be encouraged to just buy hardware that doesn't require non-free firmware. But this is completely impractical in the real world. If a user already owns a machine that works, why would they replace that? How could normal people working low-paying 9-to-5 jobs sensibly afford to? Furthermore, if you're going to dump a perfectly functional machine, this would only cause harm to our environment. Not to mention that this would also demonstrate a blatant disrespect towards people who are not fortunate enough to be able to afford technology at all.

In any case, older versions of MassOS offered both builds containing firmware, and builds without firmware. However, since development was picked up in late 2024 / early 2025, the MassOS developers have made the decision to stop providing or supporting builds without firmware. This is due to practical constraints regarding hosting and storage space, and the general viewpoint that they are not really necessary, because, in most cases, individuals who oppose using any non-free software will likely find some other imperfection with MassOS or a reason to avoid using it. And it is not in our best interest to deal with every possible flaw regarding non-free software, or our attitudes/recommendations surrounding it, which could be found.

Multimedia codecs

Some software is included in MassOS for the purpose of supporting multimedia codecs. Unfortunately, some of these codecs are patented, which means that there could be theoretical limitations on creating/modifying this software, at least until the patents expire. Some of the common codecs which are/were patented, include the following:

  • H.264: Also known as AVC, this is a widely used and recognised video codec. As well as being commonly used in MP4 video files, it is also the predominant video codec used by many video streaming sites/platforms on the internet. This is due to it's high efficiency, allowing it to store higher quality video in a smaller file size, which is crucial for streaming over the internet, due to bandwidth limitations. Additionally, nearly all semi-modern GPUs, including integrated graphics processors, have the ability to hardware-decode H.264, which can reduce system load. Most of the patents on this codec have already expired, and virtually all the rest are expected to expire by approximately 2030. The current status of the patents can be checked here. The software on MassOS used to support this codec includes FFmpeg, OpenH264 and x264.
  • AAC: This is the audio codec that most commonly accompanies the H.264 video codec, in both MP4 files and for internet streaming. Like H.264, it is desirable due to its efficiency, but it is still potentially partially encumbered by patents. There are many different variants of AAC, including ones which are commonly believed to have expired, including AAC-LC and HE-AACv1, as well as newer variants which are likely still encumbered, including HE-AACv2 and xHE-AAC. The software on MassOS used to support this codec includes FFmpeg, FAAC and FAAD2.
  • HEVC: Also known as H.265, this is a newer video codec which is not used on the internet. However, due to its superior efficiency cpmpared to H.264, it has seen wide adoption for encoding and distributing high-quality and high-resolution video content, including 4K movies and TV shows. Like H.264, it can also be hardware-decoded, however only with newer GPUs, due to being a newer codec. Unfortunately, it is still encumbered by patents which are not expected to expire in the near future. The software on MassOS used to support this codec includes FFmpeg, kvazzar, libde265 and x265.

If possible, switching to a patent-free codec is strongly recommended. Some of the widely recognised free codecs include the following:

  • AV1: Developed by the Alliance for Open Media, this is a new codec designed to replace both H.264 and HEVC, with superior efficiency. Like H.264, it is also designed to be used for video streaming on the internet, though since it is still very new at this time, it is still yet to be widely adopted. Hardware-decoding is also only available on the newest GPUs, including Intel Arc A-series, AMD Radeon RX 7000 series and NVIDIA GeForce RTX 4000 series. However, unlike H.264 and HEVC, this codec is completely royalty-free; the AOM Patent License explicitly prevents any patent restrictions from being placed on software which implements the codec. The software on MassOS used to support this codec includes libaom, SVT-AV1, dav1d and rav1e.
  • VP9: Developed by Google, and used as the default by YouTube, VP9 is a free video codec. It has reasonable efficiency, however does not support hardware-decoding, and as such, may be problematic to playback on lower-end systems with weaker CPUs. VP9 is commonly used in the WebM container as opposed to MP4. The software on MassOS used to support this codec includes libvpx.
  • Opus: Developed by the Xiph.Org foundation, Opus is a free audio codec originally designed for speech, but is now commonly used as a general-purpose audio codec. It has also been known to potentially beat AAC in terms of quality in public tests. The software on MassOS used to support this codec includes Opus.

Mozilla Firefox trademark issue

The Firefox web browser, developed and published by the Mozilla corporation, is free software, released under version 2 of the Mozilla Public License (MPL). Although the software is free, Mozilla enforces a separate trademark license, which outlines conditions on how the branding of "Firefox" and its logo can/cannot be used with regards to the four freedoms defined by the Free Software Foundation.

The license states that official binaries provided by Mozilla (which are the ones used in MassOS), may be freely redistributed. However, unofficial binaries compiled from the Firefox sources may not contain any Mozilla or "Firefox" branding. Normally, this would not be a problem, as the build system of Firefox by default doesn't include branding - it will generate generic/unbranded builds unless you explicitly add the --enable-official-branding option. However, it does, in practise, result in a dilemma in MassOS. If we compiled Firefox ourselves, we would only be permitted to use --enable-official-branding if we obtained written permission from the Mozilla corporation. Which would be unlikely to happen in the current state of MassOS (unless MassOS grew bigger in the future). However, distributing unbranded binaries would very likely confuse users. Even though the unbranded builds are functionally identical to the officially branded ones, many users may question why they believe they are not using the "real" Mozilla Firefox. As such, we have made the decision to simply distribute the official Mozilla binaries.

We could, alternatively, distribute the version of Mozilla Firefox from Flatpak (Flathub), but, from testing, this is undesirable. Flatpak packages generally depend on significantly large "runtimes", which would result in a substantial increase in the size of MassOS builds, which is not worth it from our viewpoint.

Given that, if you want to modify the source code of Mozilla Firefox, you still have full ability to, and unbranded binaries (which, again, are the default in the Firefox build system) are fully free software compliant, we have made the decision that it is OK to include Mozilla Firefox in MassOS, even though we are personally affected by the trademark issues, and would obviously prefer to be in the alternative universe where Mozilla isn't so stingy with their trademarks.

Proprietary software in Flatpak/Flathub repository

Flathub, the default repository for Flatpak, includes some non-free programs which are installable through the flatpak command-line utility and display in the graphical software center. However, this software is clearly marked as such, and none of it is installed by default, nor suggested/recommended by MassOS, and therefore we don't feel the need to remove it. You can also disable the listing of non-free software from the settings of the graphical GNOME-Software utility.

Final notes

We hope that, now you've read this article, you will be more able to understand the viewpoint of the MassOS developers with regards to free software. MassOS is already closer to freedom than many other distributions, however we understand that, in a modern world, it is simply not practical to avoid touching anything proprietary, even though we would obviously dream of such a reality to exist, whereby embracing freedom wouldn't need to hinder functionality, intuitiveness and convenience. After all, we want MassOS to be usable by as many people as possible, which is already a challenging goal, given that MassOS is completely independent and not based on any existing distribution. It would therefore only make that goal even harder than it already is to achieve if we placed numerous hurdles that our user base would have to jump over to be able to meaningfully use MassOS.