negative zero

A Better Distro Freedom Scoring System

2020 December 3

[free-software] [opinion] [tech]


Let's talk about getting started with free software. Suppose you're a Windows user who's been learning about free software, and you want to get started using GNU/Linux and free software. How do you know which one to try?

The GNU Project maintains a list of recommended distros which meet their high standards for a free distro. This is a nice starting place (although about half the distros on the list are not actively maintained...)

The problem is that most new users will be unable to use one of these distributions. A fully free distro contains no nonfree firmware or drivers, which many devices need to work properly. Consequently, a new user looking at the GNU website may be unable to use a distro like Trisquel or PureOS. What should they do then?

One answer is, buy new hardware. If your computer boots Trisquel, but without Wi-Fi, you can buy an adapter. If your computer doesn't boot Trisquel, you can replace it with one that does. Problem solved, right? The FSF even has a site for hardware certified to respect your freedom.

This is a (somewhat) ideal but not a reasonable solution. RYF devices are expensive and underpowered. Expecting people to be able to pay for new things is classist. Expecting people to choose to pay for things is unrealistic for people who are just getting started. Buying a new computer when you already have a working one is wasteful.

I think we should prioritize hardware that works with free software. When your computer breaks, and you need a new one, for example, consider software freedom as one of your priorities in choosing a device.

But users who already have working computers and are interested in running GNU/Linux on those computers should be able to run GNU/Linux on their computers, and they should be able to prioritize software freedom to the degree that they can while doing so.

If you want your distribution to be as free as possible, but you can't run a GNU/FSF certified fully free distro, there aren't a lot of guidelines to help, from what I can tell. There's basically the GNU camp which makes all distros that aren't "fully free" seem equally worthless, and there's the rest of the "Linux" world, which generally doesn't talk about how much nonfree software is in a distro (or generically labels a distro as "open source" without acknowledging nonfree bits).

To this end, I'm proposing a better system for rating distro freedom. Rather than a binary "fully free or nonfree" system, we need a system that acknowledges the practical necessity of making nonfree firmware available to users so their computers can boot, without putting Fedora (which contains by default only nonfree firmware) with SteamOS (which is specifically designed to run nonfree applications and DRM).

Freedom Scoring System

Here's my proposal:


This distribution by default contains no nonfree software.


This distribution by default contains nonfree firmware to help the device run properly, but no other nonfree software.


This distribution by default contains nonfree firmware and drivers, but no nonfree applications.


This distribution by default includes nonfree applications.

We should consider defaults first. Of course, nonfree software can be installed on any system, but what's installed by default and available from the official distribution's repositories?

We should also include a secondary score for software that is not part of the distribution itself, but is recommended by the distribution. For example, Fedora would earn a B because by default, it contains only free software and nonfree firmware. However, on a default Fedora Workstation install, the GNOME Software program suggests the user enable third-party repositories which allow them to install the nonfree NVIDIA driver and the Google Chrome and Steam applications. (There's an easy, GUI-driven path to third-party nonfree software recommended by the distribution.) A Fedora install with these third-party repos enabled would earn a score of F. So, Fedora's score would be B (F): a B for an out-of-the-box installation, that can fall as low as F with third-party-but-officially-recommended changes.

On the other side of this, this secondary score can also indicate that while a distribution's default state contains nonfree software, it can be modified (through means officially recommended by the distribution) to be fully free. While the GNU Project would argue that this is insufficient for distributions recommended to others, I think it's valuable information to have.

In this system, we'll use the lowest and highest possible values. Suppose, for example, that a distribution by default includes nonfree firmware but not drivers, and there is an officially supported way to remove this firmware. Suppose also that this distribution has an officially supported way to add nonfree drivers and nonfree applications. I would then score this system as B (F/A). It has a default score of B, but it can be converted to C or F (so we use the lower of the two), and it can also be converted to A.

A plus or minus might be applied in some cases, but I currently don't have a consistent rule for these. If I'm scoring something B+ or C-, there will be some subjectivity there.

Of course, this system isn't exclusive to GNU/Linux. Any operating system could be scored based on this system. For example, Windows, macOS, iOS, and (as far as I know) all versions of Android that are actually shipped on consumer devices all get an F score with no secondary score.

I don't know if anyone else is using a system like this. I did a quick search, and I didn't find any examples, but that doesn't mean they don't exist. For now, I will use this system as laid out here when talking about software freedom with regards to a specific operating system.