Free and open source software is a great ecosystem. The method of creating software out in the open has enabled many users and vendors alike to expand their influence in a world typically dominated by closed platforms. We see many new projects pop up each day and others fizzle out. This is natural in the world as in technology. Nobody is too big or entrenched to disappear.
Recently the Antergos Linux distro announced they were closing their doors on development. As was expected, the community came along to pick up the ashes and keep the torch lit. So, the real question that I ask myself is, “Should we insist on keeping these fringe distros going?”
Linux has no shortage of diversity of software. (Diversity of thought, gender, and race are totally different issues.) We thrive in a way due to the multitude of options available to us, but can this vast collection of platforms, apps, and communities be harmful to desktop Linux adoption overall? I think it just might be.
If we look at the enterprise Linux world we find that there are many different independent software vendors (ISVs) that support their products on a limited number of platforms. We see that there are only a few distros that dominate the enterprise Linux landscape: Ubuntu, Debian, Red Hat, SUSE, with a few others like Amazon Linux and CoreOS (also owned by Red Hat). When we look at these ISVs and the communities they create around their products, we don’t see a fragmentation overall. Many of these vendors support multiple distros for their applications. However, they only stretch themselves across a few of the aforementioned distros. So, can we see the same amount of success and software diversity in desktop Linux with only a few distros? Of course we can.
The issue isn’t diversity of software, it’s diversity of platform.
My list is a short one but the following are my candidates for the post-apocalypse distro list: Debian, Ubuntu, Fedora, OpenSUSE, and Arch. I know there are a lot of projects, even ones that I truly believe in like Elementary, missing from this list. It’s not a personal attack on the work that these other distros put into their work. It’s simply a list of distros that, given an open source nuclear war, I think should survive.
Debian brings a very stable base to the show. Despite the older packages, the distro maintainers and developers have done a great job crafting something that spans many architectures and computing platforms. It’s one of the widely deployed server distros and would provide a good base for desktop and server development alike. Debian has a legacy and it’s one I’d like to see continued and honed.
Ubuntu is what most new users start with. The team over at Canonical have created a product that has managed to connect the desktop user, developer, sysadmin, and other endeavors. Ubuntu is a great server distro, certainly. It has almost become the de-facto choice for releasing software on Linux. Many devs opt to just target Ubuntu for their software due to the large market share that it enjoys. Ubuntu’s ease of use, corporate support structure, popularity in development and cloud shops, and diversity of software certainly put it on the list for me.
Fedora offers a path for any developer or sysadmin who wants to work with a Red Hat shop but want something newer than what they find on RHEL. Fedora provides a normal cadence of releases but provides newer packages over the life of the release. This is sometimes considered a “semi-rolling” model. I think that’s a fitting name for it. Including Fedora in the list starts to build the more cutting- or bleeding-edge package repository. This is a must have in any distro list.
OpenSUSE offers both a stable and rolling model for its users. Leap is a fine product for users who want stable or those who want to be as close to their SLES deployments. As a long time Linux vendor, their products have been robust for years and have had quite a long time to mature. Their Tumbleweed release offers a rolling release model with a more sane, well-tested update model. These are both great options, but if I had to leave one behind for the zombies, it’d be Leap. Tumbleweed must live on.
The last distro to round out our survivors must be Arch. Arch, despite what many might think about it, provides a very unique experience for its users. Being one of two rolling releases on this list, I think it provides the most up-to-date packages and the AUR fills in the gaps nicely. I think those who find the molasses pace of Debian and Ubuntu too agonizing can find a home here.
Why We Must Limit Ourselves
From my perspective, I believe one of the major reasons for the vast array of solutions on enterprise Linux systems is the limited platforms available. I believe this to allow developers to hone their apps to work as well as they can and not have to divert too many resources into supporting a large variety of environments. The distro list above represents a fairly varied group of platforms, but they can all be connected together via a universal package format.
I know there is a large debate over which we should go with, but I honestly think that Canonical has created a great product in Snaps. I do enjoy a good Flatpak every now and again, but what we’ve seen from the Snapcraft team is a full solution for many desktop toolkits and frameworks. Each distro should still maintain its own repositories of base packages and plumbing, but I feel app development should be focused on building Snaps for each distro. If you want something that’s not packaged as a Snap, you are more than welcome to package it for your distro of choice.
What Do We Do With The Ones Left Behind?
Those distros that will be left behind in the Linux apocalypse still have many things to offer for the ones who survive. I think that projects like MATE and Budgie should live on in the newer limited landscape. The issue here isn’t diversity in software, it’s diversity in platform. We should encourage current distro developers to contribute to the succeeding platforms to make them even better than they are. Or even eschew the distro route and focus on their favorite desktop environment, app, utility, or whatever project needs help. For this to be successful, we as an open source desktop community need to band together to create a more open and inviting path for new developers to join and learn existing projects. Some projects are very open to new thoughts while others are less so. (Looking at you GNOME)
What’s the Ultimate Goal Here?
If we are too spread thin, we fall. If we can create a more focused experience while still offering some choice, we can entice ISVs the world over to release their products on our platform. This will limit support costs for the ISVs and reduce unsolvable tickets and bug reports as the underlying base will be a known quantity. This also ties into a need for standard desktop infrastructure, but that comes later. When organizations look at something like a Chromebook or a Mac they see a product with focus and direction that can provide a solution for them. Most users view computers in a similar way. It’s a tool to solve a problem they have. How can an ISV hope to provide a solution to their problems via Linux if there is no focus in the platform as a whole?
Providing a direction that desktop Linux can move in will go a long way towards having an overall acceptance of desktop Linux in OEMs, ISVs, and ultimately users beyond hobbyists. I know that all of this is a simplistic view of an overall problem with Linux adoption, but fragmentation and divisiveness through a multitude of distros that often result in duplicated effort is only holding us back. None of these changes are easy from a technical or political perspective. However, as I’ve learned in life: In looking for a solution to a problem the worst thing you can do is nothing at all.