- My Situation
- The Process of Elimination
To begin, I’d like to make the important distinction that I’m talking about the libre software movement, not open source. The difference lies in that libre software is much more strict, and true to the idea of granting the four essential freedoms to software users.
So then, one would expect the libre software movement to be capable of and especially prioritize providing usable alternatives to proprietary software, especially proprietary operating systems. I mean, there are already hundreds of open source operating systems, so how hard could it be to put together a libre system that one could expect to grab-and-go?
On top of this, gnu.org lists nine fully endorsed GNU/Linux operating systems for PC’s that fulfill the criteria for the Free Software Distribution Guidelines (FSDG). There’s also one non-GNU libre system that meets this criteria, and a couple more that may not follow the FSDG, but are still fully libre software operating systems. In total, these are:
- Ututo S
- Replicant (not GNU)
- ReactOS (not GNU)
With a total of twelve options, finding a fully free operating system to just grab and go should be an absolute breeze. With user freedom being a top priority for the free software movement, software users generally not wanting to worry about setting up their operating system beyond the essentials and the Free Software Foundation’s (FSF) recent overhaul of their High Priority Free Software Projects List not including anything about the creation or improvement of systems designed to fulfill this crucial and essential need, one would expect that this problem must have been solved already, right?
I work four or more days a week for eight hours a day. My commute is two hours each way. By the time I get home at midnight, my day is practically wasted. My room mate is asleep by the time I get back, and in the morning, I only have so much time to get anything done. Add depression and no form of transportation besides public transit into the mix, and it’s a disaster. Yes, I’m trying my hardest to get myself out of this situation. I need a computer to be able to manage my life. I need to be able to grab a distro and not ever have to worry about it. No one should ever have to justify to anyone that they may wish to pick an operating system that they can just grab and go, but some of us really need a system like this.
Previously, I used to just run Trisquel 8, but seeing that it’s been out of date since the start of 2021, I decided to upgrade to the brand new Trisquel 9. This was a fine decision, until it turned out that the package manager doesn’t work at all. Yikes! After that, I moved on to search for an alternative, which lead me to writing this post.
The Process of Elimination
To begin, I need a distro that I don’t have to fuss over. I also need it to be able to run LibreOffice. Right away, Trisquel can be removed as an option. Looking at the above list, ReactOS can be crossed out as it wont run on my hardware. Replicant also cannot run LibreOffice. Hyperbola and Guix can be removed as well, as they aren’t meant as grab n’ go distros. gNewSense, a distro that is actually supposedly funded by the FSF, hasn’t released in years, and doesn’t have an installation image available. At least they choose to be responsible, and not distribute potentially vulnerable outdated software like many of the other systems on this list do. Eliminating these distros cuts our list in half.
When Is Software Too Old?
The remainder of our list:
- Ututo S
The question of what age a system should be deprecated is an interesting one. I’ve decided that the single most important component of an operating system that should be taken into account is the kernel. Second, server software. Third, userspace applications that interact with the network. The kernel is most important, due to its high privilege. It has the most potential to cause the most damage. Server software like SSH is also an extremely important factor, a nasty vulnerability could allow an attacker to execute arbitrary code. The same could also be said of certain userspace applications as well. I however believe that older networked userspace software is generally reasonably secure, as one would need to connect to a malicious host in the first place to be attacked. The most vulnerable software of this category are designed to be as secure as possible from these sort of attacks. I don’t plan on running any server software besides SSH on my local network, which I feel is quite reasonable for many users who want a distro like I do, so I’ll only concern myself with SSH and the kernel.
Dragora & Debian
Lucky for us, I don’t really have to overthink this problem. Linux kernels and their support status are easy to find out. Same is true for which versions of OpenSSH should be avoided. First off, Dragora’s latest 3.0 Beta 1 release uses kernel version 4.19.79, which considering it isn’t the latest 4.19 LTS release, 168, doesn’t give me confidence that this is a distro people can trust as their daily driver. However after looking into things further, I realized that I could be jumping the gun on this, since Debian doesn’t use the latest version of this same kernel either. This gives us an interesting question, if a distro is running a kernel with an old but still maintained version branch, when should the specific given version be considered too old to be usable as a daily driver?
I dug around into cvedetails.com and generally found that so long as the kernel version in question is newer than a year, it’s probably safe from a CVE score over 7 (high to critical severity). Just to be on the safe side, I’ll rule that any kernel version over 6 months old is too old to be used as a daily driver. Thus, I’ll say that Dragora uses too old of a kernel version to be feasible as a daily driver, but Debian on the other hand uses a new enough kernel.
The website design was quite difficult to parse, but I eventually found the downloads section. I wasted my time reading through the Read-Me for a kernel version. On the right margin of the downloads section, there’s a last modified date stamp, showing that the image was last generated in 2012. No Linux kernel versions from 2012 are supported today.
I found it very easy to check the kernel version for Parabola with its handy package search feature on its website. For PureOS, it was quite a bit more difficult. For Ututo S, I downloaded the installation image and ran it so I could see its contents, and saw for myself that while it was running an LTS kernel, the specific iteration was from 2017 (4.9.4). I couldn’t find what it was running based on the website alone.
The Hard Way
Here’s a quick view of the new list:
We started this journey with twelve candidates and, without booting any of these distros, we’ve already eliminated three quarters of them by eliminating the ones that wouldn’t serve our purposes by design (nothing wrong with that), and then by eliminating the ones that ship with a kernel too old to be used as a daily driver (very bad). With three candidates remaining, there’s still a very fair shot that at least one of these could be the distro we’re looking for.
I booted up the Parabola systemd LXDE live image and found that I actually had two options. I could either install MATE with systemd or LXDE with OpenRC. I’m personally not too picky, but I feel like a systemd system is easier to manage and MATE isn’t too heavy for my machine, at least I hope not. I formatted my partitions, installed the base system, the boot loader, configured the system, installed extra applications and set up my user. However, it was all a waste of time. Once I rebooted, I was met with the lovely Grub Rescue prompt. I decided not to try the other option, since I’m fairly sure I’d have the same outcome.
Debian managed to not get picked off for being an inappropriate choice, it doesn’t ship with an old kernel and unlike Parabola, actually had a functioning installer. Our second-last distribution choice looks pretty darned close to what I’m looking for, until I fell into a grave mistake that many others have fallen into in the past.
When I installed Debian, I turned on disk encryption, and waited until all 500GiB of my hard drive were overwritten with random data. Once I reached the desktop, I changed all kinds of settings. I got my file manager and text editor set up just the way I like it. I installed and configured several browser addons. It turns out, it was all a huge waste of time. I went to update my computer. I launched a terminal and ran the old “apt-get update” followed by an “apt-get upgrade”. That’s when I saw a seemingly innocent message from apt. “Some packages were automatically installed and are no longer needed. Use ‘apt-get autoremove’ to remove them.” I thought to myself naively, “oh nice! I can free up some disk space!” It turns out, that the packages that were automatically installed and no longer needed, were half of my distribution. All of my time was wasted, as my installation gleefully decided to destroy itself.
I’d like to remind you that I’m on the hunt for a distribution that can be installed on a family computer. One that can be easily maintained and managed by people who don’t want to have to worry about their computer, because that’s one more thing that they’d have to worry about in their already worrisome lives. To be lied to by a libre software distribution which promises an escape from the shackles of big-tech, feels like betrayal. You’ve already put in so much effort, copied the family pictures and your important documents onto external media, you went through the puzzling and often scary journey into the depths of your computer that you’ve never seen before (the BIOS), went through the installer and maybe even waited a few hours to encrypt your laptop hard drive, just to receive a massive kick to where it hurts the most. I wonder how liberated a user who went through all that would feel.
This distribution is the last on the list. I appreciate that the installer begins in a live environment, which means that users can do stuff on the machine while the system is installing. It made me select a partition amungst existing ones to install to, instead of overwriting the disk with its own partition scheme, making it hard to declare fit for our purposes. Once it’s installed, it goes over a setup process, asking for a lot of the same information given during the install process. One thing that caught my eye though, was when it asked me to connect my online accounts. I personally find it to be an awfully fishy sight in a distro that’s meant to be libre.
Also, when Gnome has to show you a pop-up showing you how to use your new desktop environment, I can’t help but feel like it’s a sign that the design of Gnome is unintuitive to new users. I went to do an apt-get update and upgrade. I was greeted by Tilix showing me the default coloured text on white background. Personally, it’s not my preference for terminal emulators, so I went to switch the colours in the preferences. I was greeted with a window letting me know that there were configuration errors. In a vanilla system that hasn’t yet been touched, this isn’t a very pleasant sight.
On the upside, my setup still manages to stick around a few days later. I know that beggars cannot be choosers, but this doesn’t feel like the kind of system that should be an appropriate recommendation to my neighbours on what they should run on what is most likely older hardware that cannot handle the Gnome shell, with a user who’s completely unfamiliar with Gnome anyways. It just doesn’t feel like a universal libre software operating system that anyone can run and expect not to run into any easily preventable issues.
When it comes to the idea of a quick, libre grab n’ go distro that could be installed on the family computer, Debian and PureOS at least aren’t entirely broken. My personal recommendation is to go with Debian if anyone needs a system like this, but don’t expect the experience to be as smooth as it possibly could. I strongly believe that the FSF needs to consider adding the creation and maintenance of a libre, grab n’ go distro for the family computer or laptop to their High Priority Free Software Projects List. Considering that they’re already providing funding to the gNewSense project, I feel like this is an issue that could be undertaken.
Where To Go From Here?
I think the following technical aspects could strongly benefit a project meant to fill this role.
A lot of people will disagree, based on the idea that rolling release distributions break more easily, which simply isn’t true. This misconception comes from the misunderstanding brought about by technical jargon. Rolling release is unstable in that the software on the system is frequently updated to the latest version, unlike a ‘stable’ release, which usually means that the codebase is frozen until a new iteration. Rolling release takes far less effort for distribution maintainers to upkeep, they simply update the software found within the distribution repositories, and end users update which ever packages make sense to update, with the help of a package manager. Stable release distros like Debian have a history of patching around the source code of software packages. I feel like this approach is entirely wrong.
Not to mention how much easier it is for the end user to maintain a rolling system. All they have to do is regularly update, which can be automated. They also get the benefit of not having to reinstall the operating system every X years when a new version is released. If you don’t believe that rolling systems are easier to maintain, you might be surprised to know that if you are a Windows 10 user, you’ve been maintaining a rolling release operating system without realizing it.
One common theme I often see between distros is that they all package custom themes and configurations. In the case of Trisquel 8, this meant that adding more than one user was a nightmare. In the case of Parabola LXDE, if the installer actually worked, your LXDE session would be a massive eye-sore that’d look like it came straight from the early 2000’s. All of this is extra effort for distro developers, and doesn’t add anything besides “cosmetics”. We should keep software packages as close to their vanilla form as possible, so the end user can run the software as it was intended to be run. Let’s not spoil this with our pretentious need to insert ourselves into the lives of others. Remember, a good operating system is one that the end user doesn’t even notice.
Support For Alternative Architectures
If we want to bring libre software to the world, we need to observe the needs of the world. Not everyone has access to more than an old i686 or a cheap ARM board with more than 1GiB of RAM. These users should have libre options. I’m not saying that everything should be as lightweight as possible, just that an individual who may be down on their luck shouldn’t be barred from accessing libre software. We should keep these users in mind with every decision we make.
Accessibility & Localization
This builds further upon the previous point. I’ve heard many times before that accessibility options aren’t nearly as available on libre operating systems as they are on proprietary systems. I frankly believe that things should be the other way around. If we could prove ourselves to be more accessible than proprietary software, many users would simply liberate themselves purely out of convenience. We should also strive to consider those who speak other languages or who follow other locales. Too many users are stuck with two unfortunate choices, learn a popular language like English, or use proprietary software. This isn’t compatible with the libre world that we’re trying to create for ourselves and for future generations. Remember the saying, “if you build it, they will come.”
There’s nothing worse than diving into something you happen to know nothing about, nervous that you might actually end up breaking your computer, in the name of hopefully liberating yourself and/or your family from proprietary software, only to find yourself utterly confused about how to go about your task that you’ve set out. Having excellent, printable documentation that can walk a user with no experience with computers through to installing and maintaining their new libre operating system is essential if we want to provide the four essential freedoms to as many users as possible. For a project like this, it’s important to look at the struggles of ordinary people, and find ways to ease their difficulties. When our competition consists of proprietary operating systems that come preinstalled on computers, this is a must.
Nothing intimidates and scares off a user as much as being presented with too many options. Instead, we should provide users with a small amount of options. Two typical and widely used options, with one of them recommended for most users, and a final option for users who wish and know how to really customize their systems. This way, we can give everyone what they may need without scaring users away. Also, upon first startup, we should display as few dialogue boxes as possible, preferably zero. The typical first thought of an end user when a dialogue box appears is either that something is wrong/broken, or that something is getting in their way and that clicking the “okay” button will just deal with it. We need to keep these thoughts and behaviours in mind when designing these systems. We also shouldn’t ask a user for information twice. If a user configures something on the live image, the configuration should be automatically set up on the installed system as well.
Finally, I believe that the most important thing that needs to be worked on is ourselves. Our hostile behaviour within the community is driving people away from the libre software movement, and towards the much more welcoming arms of the open source movement, and towards proprietary software. Users have needs, like everyone else. Many users who would otherwise join our ranks if it weren’t for how we conduct ourselves often feel that open source provides them with just enough freedom to feel that they have escaped the most harmful of proprietary software, while also not having to deal with us. This is not at all what I’d personally consider to be a good look.
By choosing healthier behaviour as a whole, we gain some often overlooked benefits such as more emotional support, tech support and learning resources. We also gain friendships, new interests, new skills and through participation, an enhanced self esteem. These aren’t things that we can have when we behave in a hostile manner towards each other. These are also things that may be very attractive to new community members who may be willing to join our group. Users aren’t likely to join a group if they find alternative groups which they find more satisfactory. For example, one may be more attracted to the open source community if they find that there’s a healthier, more inclusive group dynamic than the libre software community, while still satisfying their idea that software should at least be somewhat free, since open source often still provides the four essential freedoms to an extent without being associated with the free software movement. Some people simply don’t care about software freedom, and want to use which ever applications they consider to be most pragmatic. By having an unhealthy group dynamic, we may push these users towards proprietary solutions.
A Personal Promise
I’d like to make a personal promise to try my hardest to be as mindful about what I say and type as possible, especially in situations where I may be representing the libre software movement. I will not discriminate or behave in an inappropriate manner, and I will stand up for those who are being discriminated against or are otherwise being picked on. I will do what I can to work on my social etiquette, in order to strengthen the libre software community. I will however, also promise not to reply, or engage with any user that I feel I shouldn’t. I believe that no one has any obligation to engage socially if they do not want to. If you truly believe in the values of the libre software movement, then I encourage you to take up this very same promise and put it where as many people as possible can see it.
Through libre software, we can use technology to build a brighter future for everyone. We need to take the steps necessary to construct a strong foundation that we can build upon. What we have right now simply isn’t good enough, but it doesn’t have to be this way. We have the power to change the world for the better. Let’s use what ever resources that we may have on hand to collectively build the future that we wish we could’ve had today.