9

The flaws of distro hopping and asking other people about their OS of choice

 3 years ago
source link: https://unixsheikh.com/articles/the-flaws-of-distro-hopping-and-asking-other-people-about-their-os-of-choice.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

The flaws of distro hopping and asking other people about their OS of choice

Published on 2022-04-11. Modified on 2022-04-11.

Distro hopping is a term that refers to the activity of computer users constantly installing and trying out different Linux distributions and/or BSD variants, either on bare metal or in a virtual environment, having a real difficult time choosing what to use. Some people believe that distro hopping is a result of boredom, or because of a lack of satisfaction with current choice, or that it's simply a matter of trying out multiple options, but that is not the case. Rather, it's a kind of psychological problem that arise because of a wrong approach being used in the process of determination.

Table of content

What is the problem?

Often when I am doing consulting work and I ask a client why they are running the OS they have chosen, surprisingly the answer is that their choice was made based upon popularity in the industry.

Using popularity as a determining factor is a flawed strategy, still it's not so obvious.

At other times, and this is mainly what is happening on an individual basis, people simply feel overwhelmed because of choice overload, a cognitive impairment in which people have a difficult time making a decision when faced with many options.

I personally know of people who find the process of distro hopping debilitating and even depressing, because it can be almost paralyzing. The more you ask other people about their choice, the more you seem to research, the more difficult it seems to get.

The reason for all of this is because the approach is all wrong.

As with every kind of solution, you need to determine and understand the problem first. You cannot make the right choice if you don't understand the problem. What is the problem you're trying to solve?

For the specific use case (you might have multiple use cases), are you going to use the operating system:

  • On a server?
  • On a desktop?
  • On a laptop?

And what is the specific use case? Gaming, server usage, or workstation usage?

Once you have determined the problem, you have limited the amount of choices considerably.

Specific hardware requirements, such as a specific WiFi driver, can leave you without any choice what so ever, but I am not dealing with this here because then there's no distro hopping, you have been locked in by vendor.

If e.g. you're mainly using the computer for gaming, playing the latest and most demanding games, then you can easily eliminate any other operating system than Microsoft Windows from the list, because almost nothing will work as well on any other operating system. You maybe don't like it, but the mainstream gaming industry is developing PC games for Microsoft Windows and everything from graphic card drivers to hardware utilization is optimized for Microsoft Windows only.

Now you can add other requirements, if you need to. If e.g. you have decided that you don't want to run a closed source operating system on your computer, or you just don't want to run Microsoft Windows because it is more susceptible to virus infections, or something else, then you move one step down the ladder choice and choose the second best thing, which will be a Linux distribution (more about those in a moment).

If on the other hand, you're dealing with a server or a workstation problem, then unless you have a very specific requirement, like some hardware that only works on Microsoft Windows, or some tailor made software, you can easily eliminate Microsoft Windows from the list of choices and move on to something more open and more secure.

Don't ask other people about their choice of operating system!

Asking other people about their choice of operating system makes no sense. You have a specific problem to solve, so in what way do you think asking other people about their choice is going to help you solve your specific problem?

Not only that, but many people have made their choice based on a flawed strategy. Often they have been affected by myths and rumors, and they themselves are undetermined, and you're now seeking advice from such people?

Stop wasting your time on Reddit and elsewhere with these questions. The majority will provide you with misinformation.

I cannot count the amount of times I have seen someone determine that this or that operating system is "unstable" because of some problem they have experienced with something like their window manager, like the window manager has anything to do with the operating system.

The process of elimination

Once you have determined the problem and you have decided on the main type of operating system, you need to enter the process of elimination based upon secondary options.

Secondary options need to be listed in the order of importance to you. Secondary options are options like e.g.:

  • Security.
  • Performance (can be impacted by anything from driver quality to security mitigations).
  • System administration control. E.g. do you consider it torture to manually configure things even though it provides you with a greater amount of control?
  • Ability to easily compile anything from the kernel to third party software from source if you need to manually fiddle with compile time options.
  • Binary package managers ability to automatically handle dependencies and/or possible conflicts (mainly caused by you).
  • Availability of third party software.
  • Availability of very specific third party software.
  • Timely updates.

All of these options, which we can classify as secondary problems, need to be determined before you can make a qualified decision.

High levels of security and speed are often contradictory. The more secure the system is, typically, the slower it will become. This is because security requires extra "checking" in code during runtime, it requires higher levels of randomization, which again requires more computing power, etc.

You cannot choose security based upon a general understanding. We all want our systems to be secure, but nothing is truly secure. Again you need to determine what your specific problem is. What kind of security problems might you be facing? Are you running a server with a service facing the public Internet? Is the main risk you browsing the Internet with a web browser? Are you going to download and read PDF files? Are you going to harden your OS? Generally, Microsoft Windows and Linux are much more exploitable than FreeBSD and OpenBSD, but what if you simply cannot run your service on any of those operating systems? Etc.

Reading Reddit posts about what operating system is more secure than the other is a waste of time. It all depends on your very specific requirements.

Anyone can make a Linux distribution, especially if it is based upon one of the major independent distributions. But just because you can, doesn't mean you should! Many people do so as a hobby, for fun, etc., and they have absolutely no idea about the responsibility that follows if you make your product public and furthermore promote your product (perhaps by no other reason than to feel good about yourself).

I have always, in all my years as a system administration, advised against non-independent distributions or BSD variants, with the only exception being truly professional projects in which maybe a specific project or company is utilizing an independent Linux distribution or BSD variant in their resulting product, and in which they are providing some really useful and helpful tools for the customers or users.

The reason for my general advice against non-independent solutions is because often these "secondary" projects are not improving the original project in any useful way. Whatever they are doing, you can do so yourself by simply using the original independent product and you will not only get much more control, but you will also become more knowledgeable about your system and setup.

However, sometimes you just want to get work done quickly, and you "pay" (in case of a company) someone else to do the hard work. Still, there is always a price to pay besides money.

When a friend of mine started his first business a couple of years or so ago, and he asked me for advice regarding the choice of operating system for the company service and product, I recommended a specific Linux distribution with a very high level of control, i.e. you need to set everything up yourself (no gui click-click solution). I recommended that they took the time to study the documentation, understand the requirements, and spend some time getting to know their setup. As I said, "it will benefit you greatly in the long run". But the idea of studying documentation and spending time fiddling with configuration was (understandably) not very appealing, so they went with a non-independent distribution with all the bells and whistles pre-installed and pre-setup.

About a year or so after they started using the distribution, they began experiencing problems with package management and they struggled with the restrictions in the setup provided by the specific Linux distribution. Eventually they decided to change the distribution to something else. Again I provided the same recommendation as the first time, yet again they decided to go for another popular pre-configured Linux distribution. This time only about a week after the change, they ran into serious problems with the main desktop that was tightly integrated into the distribution.

I fully understand the resistance towards my recommendation because few people enjoy spending time studying technical documentation, fiddling with settings, and taking notes about the customizations they make. However, that is only a short term price. You pay that up front, in the beginning, rather than later down the road when everything is much more difficult to change and you eventually end up wasting much more time.

There is always a price to pay, you need to determine whether the short term price truly is more expensive than the long term price. Very rarely is that the case. However, if messing with configuration feels like torture to you, simply pick one of the major general purpose Linux distributions or BSD variants, and use that. They are the most stable for daily usage.

Make a list of all your requirements and determine the important factors. By doing so, you will eliminate most of the available choices, leaving you with about a handful of valid choices.

Is the project actually active?

All the major BSD variants and the major Linux distributions are actively developed. Still, there is a big difference between the projects. OpenBSD is perhaps one of the smaller projects, compared to both FreeBSD and the major Linux distributions, yet both the developers and the community are extremely active.

Try to locate the source code repository of your project candidates, the project bug tracker, and the project documentation and compare (with other relevant projects) the level of activity by the number of individuals and the amount of work that goes into solving problems.

Join the main IRC channel for the project (not all projects has an official IRC channel, but then often the community usually has one), and compare the number of people listed, the activity, and the helpfulness of the community. Do the same with mailing lists, etc.

Locate the binary package repository (if the project provides binary packages) and compare the version of the software you need to use to other projects. Is the project running with hopelessly outdated packages? Do these packages still get security and bug fixes? Do they have many unfixed issues? If so, what if upstream abandons such software? Do the project still promise LTS (long term support) even though nobody will be able to actually fulfill that promise? See my article Linux distribution long term support might not be what you think it is for further information about that.

Personal preference

When you have eliminated all the irrelevant and less relevant choices, you're down to an issue of personal preference if more than one choice still exist.

As an example, let's assume that you just want a general purpose operating system for basic workstation usage (browsing the Internet, watching the occasional video, reading email, etc.), and you have to decide between a couple of independent Linux distributions because you're running with a NVIDIA graphics card, and you don't want to use NVIDIA closed source drivers, and you also don't want a closed source operating system such as Microsoft Windows, leaving you only with Linux. Then it basically comes down to personal preference.

Just like if you're about to buy a car and you have determined what type of vehicle you need (sporty, spacious, four wheeler for snowy terrain, etc.) and it's down to just a few different brands and models. You typically take each for a spin, get a feel for how the vehicle behaves and feels, and determine how much you like the design and usability of the interior, etc.

Test out each of the distributions for a couple of weeks or months with your regular usage cases. I recommend taking notes if you run into any kind of problem, no matter how small it is, and then compare later with another distribution.

Maybe the first distribution you choose doesn't work out of the box with the desktop and window manager you have decided to use, yet another works flawlessly. Maybe getting WiFi working is much easier on one distribution than the other.

Distro hopping will never help

In any case, distro hopping will never help you. It will only make the decision more difficult because you're not comparing anything based upon the problems you're trying to solve.

It's like you're trying to make a choice about which car to buy by driving all of them. Not only will it be extremely time consuming, but it also doesn't matter whether you really like the sporty Porsche if what you truly need is a four wheeler for snowy terrain.

The more clearly you understand your problem, the more clearly you can determine the proper solution. Occasionally, you're still left with more than one choice, but if you have truly weeded out all the obvious wrong solutions, what you're left with will most likely work equally well.


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK