Should Linux distros be more specialised?

Just a disclaimer - this is a very opinionated post, I tried to be as objective as possible, but my conclusions must be subjective, it’s just the nature of this topic.

When I started using Linux, back in 2012, the state of Linux distro “market” wasn’t very different: the old behemoths such as Debian, Ubuntu and Fedora were super popular, leading distros, and now, dispite some changes, that’s still (arguably) the case. I think that the only distro that got to that level in those six years is Arch (especially Manjaro, Antergos).

However, we won’t talk about Arch. The most popular Linux distribution is Ubuntu, which is based on Debian, another popular distro. Then there are many other popular distros based on Debian as well as Ubuntu - all the *buntus, Linux Mint, Elementary OS, PureOS, KDE Neon, Zorin, MX Linux, Linux Lite, AntiX, Endless… and that’s only from the top 20 on distrowatch.

This causes us a very large problem - Debian is a truly awful base for desktop distros. I will focus on Debian and distros based on it, since most of my Linux time was on Debian-based distros, but this idea should also apply to Fedora, and probably some other distros, even though the problems might be different.

Ubuntu, Debian and Fedora - they all have one very important similarity, which is visible right when you go on their respective websites. You can download desktop, server or cloud/IoT versions of that distro (Debian does it during install, which is even worse). Is it a bad idea for one distro to do many things at once? No, it’s a terrible idea.

Debian has outdated software, and does everything for “stability”. Yes, in server rooms, this really matters of course, but does it matter for desktop use? I don’t think I have ever met someone who said “damn, I hate that my distro has this much faster version of Firefox with two extra bugs”. The answer is no. Desktop users want to use new, functional software. Distros that provide new software didn’t prove less stable in day-to-day desktop use for me, actually quite the contrary - I had crashes and weird issues on Ubuntu, way more often than on distros with new software like Fedora or Solus.

Ubuntu (instead of mentioning Debian, I don’t have a Debian VM at the moment, so I will use Ubuntu as an example here, but it’s probably the same) has old packages, and very strange packages. For example, in the repo, you can find Ruby on Rails. An old version of Rails, 4.2, which was released on August 20, 2014. It’s unbelievable, who uses that? In modern web development, you install Symfony with composer for PHP, Rails with gem for Ruby or Express with npm for Node.js. I would never host or develop an app with a framework from the repo - this is just a terrible practice. Furthermore, this makes stuff more difficult for new developers. They might try to install a framework they want to learn, which is almost as old as the initial release of React.js and has some weird issues, since it wasn’t installed like it was supposed to be. I remember, when I tried to learn Rails, I did that - I installed it from the repo. Then I had to do some weird reconfiguration somewhere, either becuase of it being old, or from the repo, I can’t remember. Another, similar issue is with PHP, although it’s not that major, just an inconvenience: on Debian based distros, PHP is split into many small packages. You have the “core” PHP, and then you have a package for each PHP extension; php-zip, php-mbstring etc, many of which are a complete must. Again, an inconvenience, but so many stupid inconveniences make the desktop experience is way worse. I don’t really think there is a reason why it’s split into so many packages, since you can disable those extensions in php.ini if you really want to - perhaps a more experienced developer can enlighten me if there is a reason. For a comparison - on Solus, you have php and php-devel - those are the only packages you’ll ever need. It’s way better instead of cases lik “oh, which one of many extensions do I need to install for this project?”. Plus again, it also introduces issues to beginners that will discourage them from learning: “hey, there is that great thing called composer, which is a bit tricky to install for a total beginner, you should use it, it’s worth it. However, first I will discourage you by not working because you did not install the php-zip package.” I don’t think there is a good reason to do it that way, if there is - you still got php.ini.

However, this was actually quite advantageous in the past. People liked writing PHP on Linux, because it was the exact same environment as their deployment, which eliminated some cross-platform issues. Now, what should you do if you use a non-server distro? First of all, I do not think that there could be any differences between a Linux desktop and a Linux server with the same PHP versions - if there are, please let me know. Second of all, our computers don’t have 1GB of RAM anymore, and we can run VMs to test with actual server distros. Third of all, it’s 2018 and developers implement automated testing into larger projects. Fourth of all, it’s 2018 again, and we have Docker.

Enough about the devs, what about the regular users? If we have outdated software, something that we’ll hear often is stuff like “just enable this PPA”. Okay, I know what is a PPA, I can enable it, but why should I? Because someone thought that making a desktop distro on top of a server one is a good idea? Why should I bother spending lots of time searching for PPAs if I could have the software I want, only if someone knew how to properly design a distro? Of course the design of PPAs is a security nightmare. However, people who are just getting their toes wet in Linux and don’t know a lot of stuff are scared of the terminal and don’t even know what a PPA is. Even worse, people might not know that their software is outdated. “OMG guys don’t install Linux, game performance is terrible!” - said a beginner, who’s using outdated nvidia drivers, because someone didn’t upload the new version to the repo. What’s your argument? Unstable driver? We have multiple versions to choose from anyway.

So, I think this is the end of my rant, I hope it had proven useful. After using Solus for a little bit, which a true desktop-first distro, I can’t imagine using anything else. The level of comfort and satisfaction from using the OS is just way superior. I recommend you check it out, and I hope that more distros will take a similar approach.

Having used Solus for the past two years, I wholeheartedly agree with your last paragraph. The rest, not so much. There is enough variety in the Linux ecosystem, that you can use a great pre-built distro, like Solus, or your can build something from the ground up, with Linux From Scratch. In the middle, there is a huge swath of different options. Folks with mission critical applications are going to naturally gravitate towards Debian, or Red Hat, or CentOS. I would suggest that a Debian desktop would be perfectly applicable in a nuclear power plant, whereas Arch in that same application would likely make me cringe. Old versions of software packages are sometimes needed, in order to update old applications. If you aren’t running bleeding edge hardware, you don’t necessarily need bleeding edge kernels. I simply don’t see the “problems” to which you refer, when there are perfectly good alternatives to those “problem” distros which may not be your personal bag of donuts.

Let’s not forget that under the hood, there is little difference between most distros. Where the distros typically diverge is the pace of development and the frequency and method of updates. Variety is good, vive la différence!

I think you didn’t really understand my point. I’m not really saying that on all desktops it doesn’t make sense - yeah in a nuclear power plant I would also use Debian. Here, I’m talking about people who are using Linux as their primary home OS, rely on it to provide good user experience. Beginners, or developers, and my emphasis is on the former. Beginners are usually getting started with Ubuntu, Linux Mint - everything based on Debian, perhaps Ubuntu. For the reasons mentioned above, they are not good home desktop distros, especially for beginners. In the old days, when Linux was used by enthusiasts and developers, it wasn’t such a problem, because we know how to handle those problems, but now Linux is going more mainstream. Ubuntu shouldn’t be recommended as a home desktop distro, just like Arch shouldn’t be recommended to be a server distro - they are just not unfit for it.

Ubuntu is BASED on debian. but they do ALOT to differentiate it. They do alot to make it more user friendly. And they used that as their base for their server software. Ubuntu if i remember correctly wasn’t started as a server based distro, it was started as a user base distro. Server came shortly after. If I remember correctly. I could be completely wrong.

Ubuntu and Linux Mint especially have been developing their distro for the beginner in mind. For stability, and ease of use.

Most distros are going that route.

Most people don’t talk about arch because it’s community is fucking toxic, and a bunch of assholes. with the occaisional exception to the rule that ends up on forums like ours and such. And Arch for the most part is a pain to install unless you’re already very familiar with Linux and how it works.

Some people like to be on bleeding edge, most don’t. Bleeding edge distros tend to have updates that break some functionality. The average user doesn’t want that. They want something stable, and that will be supported with security updates for an extended period of time.

Most people by now are USED to having to upgrade their OS every few years. That’s nothing new. And those that aren’t will keep running their xp machines until they no longer work on the internet, and will just buy the cheapest working thing that will get them their internets. Sad to say, but after 22 or more years of dealing with computers, and being IT for practically my whole family I’ve seen them all.

Most people want easy, and quick to use. Without too much jargon to remember. And they want it like Windows, without all the crap that microsoft does with windows these days.

Distros like Ubuntu who have older packages have the package that is the most stable for their distro. And they have thuroughly tested them. If you want something newer, there’s ways to get your software on your distro of choice.

But people want reliable. So they will choose a version of the programs in their repos that they KNOW are secure, and will definitely work. Unless using the newest version has a definite reason to be.

You want new? Go to bleeding edge, you don’t and you want stable? Stay with LTS distros. Linux is all about choice, and having the options available to you, to make those choices.

Nobody is right or wrong. Cause if they feel that passionate about it, just fork it.

2 Likes

I’d say that Ubuntu and Mint are great beginner distros, but not for the reasons that you may think. The primary reason that they are great for beginners, is that those communities are quite large and they are very tolerant of noob questions … and beginners invariably have lots of noob questions. Therefore, support is relatively easily acquired, without being verbally abused.

Arch (actual Arch, not Manjaro, or Antergos) would be fine for any beginner, who is patient and is willing to read all of the documentation. The primary reason that it is not recommended for beginners, is that the community can go from zero to toxic in a few milliseconds, when someone asks a noob question. No beginner wants to see RTFM! in all capps, when they may not even have a firm grasp of what is causing their problem.

The second reason that Debian-based distros are great for beginners, is precisely that they tend to be very stable. This is an added benefit to the beginner, since an unstable desktop would be far too frustrating for noobs to deal with, on top of trying to learn a new OS from scratch.

Obviously, as we learn and get some Linux experience under our belts, our distro selection criteria will invariably change. For instance, unless I am a Debian administrator as part of my day job, I doubt that a Debian-based desktop would be my first choice. Then again, if I am building a machine for my grand parents, am I going to put Linux Mint on that machine, or ArchBang? I think that I am going to err on the side of stable and stogy, and give them a desktop that is somewhat familiar and Windows-like.

@Smerrills What are they doing exactly to make it more user friendly? The whole point of the post is to point out that you cannot build a good desktop distro that’s based on a server distro, and they cannot be one distro, since they must be built very differently to accomodate their targets. I do agree that they are easy to use. I don’t think that Arch is a good distro for desktop use for beginners nor for developers, it’s out of the spectrum of my initial post, I just brought it up as an example for some other stuff. Well, depends how you define bleeding edge. Beta stuff? Hell no, but a lot of people want to take advantage of an up to date version of GPU drivers or their favourite browser.
You said that people want easy to use. Do you think that adding PPAs qualifies as easy to use and beginner friendly? I think that system components like the DE should be tested a lot, and they don’t need to be all that up to date. However, people want their “apps” to be as functional as possible, and outdated software doesn’t add much value to the distro. I do agree that it’s about choice, and I’m more pro-software-choice than most people in the community. However, I do not think that Ubuntu is a good distro for an average person’s home use.

@BarkingMad I totally agree about the community stuff. However, if we stayed with what most people used, we would still be using Windows XP and wouldn’t progress.
On the second reason, like I said, I didn’t have a stable experience with Ubuntu, and a lot of people I talk to feel the same. Ubuntu is outdated, but because of how mismanaged it is, you can often find strange bugs, crash raports popping up etc. It doesn’t spike any confidence.

I haven’t used Ubuntu, since they shitcanned Ubuntu Netbook remix, so I’ll take your word on their current state of affairs. Sorry to hear that you had problems with it. I ran Ubuntu Budgie for a few days recently, because I needed some tools in the repository, but I found that in addition to clearing out the cruft, they’ve also tossed some good software, as well. : ( For the brief time that I used it, it did seem to behave itself, but it felt very sluggish, like my laptop had a couple of cores tied behind its back.

Yes, but who is staying with what most people use? You didn’t, nor did I; that’s my point. If DistroWatch is any kind of a reliable indicator, most Linux people are currently using Manjaro. I tried Manjaro about a year ago and right out of the box, it wouldn’t update. I figured that problem out and fixed it, but between that problem and the GNOME 3 desktop, that distro pissed me off within a few days and I moved on. Anywho, perhaps we’re just rebels? Before Linux, I had a VERY serious fling with OS/2. I positively loved OS/2, it was a much better Windows, than Windows could ever hope to be. I then moved on to Red Hat 5, back in the mid 90’s and I’ve used countless other Linux distros, as well as BSD and even Haiku, since. Thanks to Virtual Box, many of us are chronic distro-hoppers. I certainly fell into this category, until I bumped into Solus two years ago. I think there is a place for stable, boring distros where noobs can get a foot hold, before moving on to get their Distro-Hopper merit badge. I had my parents on Mint for years, but I recently put them on Solus. I didn’t switch them due to bugs and mismanagement, but because Solus flies on their older machine. Solus performs so well, in fact, that it helped them to defray an equipment purchase, at a time when they had other, more pressing priorities. And, they couldn’t be happier with the reliability, speed and responsiveness of Solus, so it was a win/win.

The only difference between a server distro and a desktop distro is what packages are installed by default. It’s Linux, you can make it whatever you want it to be. Their is nothing wrong with a distro having Server versions and desktop versions.

Ubuntu should always be one of the distros recommended for beginners. It’s the “default” distro that is officially supported by Steam and vendors that support Linux.

3 Likes

I don’t think that outdated software is as big of a deal to end users as you make it out to be. I get the feeling that most people, those with a lack of enthusiasm for their computing, would do just fine on Ubuntu 14.04 today. There are actually two things that I think you’ve missed here, though some of your arguments will adapt well.

  1. Software availability. Congruent with your bemoaning the use of PPAs, it’s best that a distribution has high software availability in the primary repo. This is becoming much less of a problem with the rise of things like snap and flatpak, but it still exists.
  1. Sane Defaults. This, in my opinion, is the real place that most distributions actually distinguish themselves. Debian for example, has relatively vanilla defaults, which can be a problem if you don’t want to spend time tweaking things to work. Ubuntu and Solus get this right, where their defaults are more end-user oriented; this makes them among the best desktop distributions.

Now I’ve said that I think Ubuntu is a great desktop distribution. Despite this, many of my systems at work run Ubuntu Server. The two aren’t mutually exclusive. Stability benefits both desktop and server workloads. How new packages are doesn’t really translate to how fit for desktop use a system is, if that were true Debian Sid would the best goddamn Desktop distro ever. I think that the distributions themselves are already well differentiated from eachother by usecase. Debian isn’t used or recommended for desktop use, just like Arch isn’t used or recommended for server use; that’s not to say that you couldn’t if it was your hearts only desire.

2 Likes

Adding a PPA isn’t that hard. The first thing I DID with Linux was add a PPA for a program that I REALLY was interested. Using the terminal ISN’T that hard. And isn’t as dangerous as people think. After all, a PPA is just a software repository.

I started linux as a noob. Yeah, I come from the days of DOS, but even my kids, who have never used a computer, figured things out by just exploring.

Adding PPA’s aren’t a necessity either. Most software people are gonna want to use on linux, are usually in the default repositories, and are usually represented in the Software Center. Which is EASY TO FIND.

I think us computer nerds are out of touch with what people can or can’t do. We don’t have the correct perspective that new users could have. And there’s TONS of stuff on the net for someone to look up and learn. Linux will always be an OS that people have to learn. It’s vastly different from Windows. But companies like Canonical, and so forth, or distros like Linux Mint and the like have the right Idea to make it easier for people pick up.

Back when I was younger, more poeple were computer savvy than today. Learning computers was HEAVILY preached when I was a kid. Hell, my school had several computer related classes when I was in Elemantary. This needs to happen again.

They still are to some extent. Redhat seems to pride itself on nobody being allowed to do anything easily with Fedora. Ubuntu goes out of its way to be a Windows replacement. Some distributions claim to do certain things in special ways.

If you want to feel like you’re using a specialized desktop distribution, just read into the descriptions on Distro Watch and hype yourself up while you’re using it.

A lot of embedded distributions (like network hardware operating systems) are actually specialized in certain hardware-specific tasks, but they have a trimmed down kernel with the bare minimum necessities installed.

Diet Pi has its own community built around the mini computers like the Odroid N1, so they’re focused on efficiency due to hardware limitation.

I am sure you can find a distribution which does something in a more special way than the others if you look hard enough.