The flaws of distro hopping and asking other people about their OS of choice
unixsheikh.com
unixsheikh.com
This is terrible advice. Fiddling with system files in an OS is not their core business, so why would you ever recommend they waste precious business time & effort doing so?
The most important questions to consider when installing an operating system for a business are: Does it run the software I need stably, how much work is it to set up & maintain, and what kind of support can I get/buy?
As for the rest of the article, distro hopping is a great way to "shake out" various operating systems to discover what you like and what you don't like about each. Reading the brochure is not enough; you want to get opinions and advice from various sources (even Reddit) to build a narrowed down list of promising avenues, and then test drive a few until you find one that you can be overall comfortable with. It's a lot like buying a car.
Maybe a distro won't work with the hardware you need to use. Maybe a feature you need is broken or unavailable with no estimated fix date. Maybe it's too bleeding edge and suffers more breakage than you're comfortable with. Maybe the distributed software is too old and updates too slow. Maybe it's too much work to maintain. Maybe it won't let you customize the things you care about.
Now, what I mean is; I made a commitment.
As Linux strains under complexity I am wondering whether to make a full-commitment life switch to BSD. But it's been 20 years with Debian and it's like a relationship I almost feel afraid to leave.
Operating systems are something I know a little bit about. After going through the whole build Minix for 68000 from AT's book, then Linux From Scratch and compiling kernels thing, and building Slackware over a whole weekend, once I matured into needing a practical operating system in my 30s I was attracted to Debian by its social contract and "wholesome family atmosphere of Debbie and Ian."
I ended up building distros myself, learning the ropes of Debian development (though I never actually joined the DD community). It's been a rodeo ride. I loathe systemd and the whole "mother knows best" Poettering schism. The CoC dramas and virtue parades in front of the neighbours are just embarrasing. And then there's Uncle Ubuntu who sometimes touches us inappropriately.
But in the end I keep coming back "to the family", because in the end all families are dysfunctional and weird, so may as well pick one and try to work with it.
So I agree with the OP's admonition of distro hopping. It feels like restless promiscuity. Whenever I need to install a new OS I pick the latest minimal Debian and go from there.
I tried NetBSD for a small project a while ago and was very pleasantly surprised. The documentation was great and everything worked as advertised. I've spent more time trying to figure out a single package on Linux than I did getting up and running on NetBSD for the first time.
I was shipping Debian 1.2 CDs by the hundreds in the nineties!
I'm using Debian or derivaties/forks everywhere (desktop / laptop / server / Raspberry Pi (raspbian).
> It's been a rodeo ride. I loathe systemd and the whole "mother knows best" Poettering schism.
A few months ago I switched my main desktop to "Devuan" (a Debian fork without systemd) and I do really dig it.
I'm still running Debian on servers, on the laptop, on the other desktop, etc.
But honestly: Devuan, for my use case on my dev machine, is really just Debian without the Poettering stuff and it works fine. YMMV.
Presumably like void Linux this has been done for you.
Yes. A fair and balanced technical analysis of systemd would have to concede it does a lot of good things, and well - if you subscribe to its paradigm [1].
My beef was with the disruption and bonfire of social capital caused by a heavy-handed, undemocratic, vocal group imposing upon others. It was an ugly episode and seemed to go against all the values I believed Debian stood for. And it came from all sides. The personal attacks on Poettering were inexcusable.
[1] I don't. I believe it's a solution that trades away system security and reliability to get userspace convenience.
Anyway, that question was mostly rhetorical. You don't want to get into the midst of "yet another systemd flamewar" thread (and I don't blame you, neither do I).
Just pointing out that non-systemd alternatives provided the abovementioned interface, long before systemd existed.
Imagine if Windows 8 came out and people rightly dunked on its many foibles and proponents said it was clearly superior to DOS and people really ought to just learn to love the charms bar and modern UI instead of sticking with their familiar command line interface.
The other thing to keep in mind is that the systems are brutally minimalist. As in, Bash is considered a "fun bonus" rather than the core part of the system that is installed in /usr/local. That can be a substantial turn-off for some who see it as archaic or old-fashioned, but there's something to be said for the "stability" not deprecating such an old piece of software :)
Something you will probably appreciate is the consistency and documentation, even with little things like manpages. Every detail is ironed-out and perfected in a way that we're not really used to as Linux users.
There are some good guides out there for installing & configuring OpenBSD on an old laptop, and it's absolutely worth a try. It's without a doubt simpler and lighter than any mainstream Linux distro, and frankly just really fun to play with!
I mention this as lots of devs happily use Mac and Windows as Docker dev boxes.
Running something like Alpine or RancherOS on bhyve ( FreeBSD hypervisor ) and running Docker on top of that is pretty much the same as using Docker on a Mac.
No real reason to avoid FreeBSD as a dev platform just because you want to run Docker.
If you can live with everything OpenBSD+ports can't offer in comparison, then switch, you won't regret it.
If you don't have the right hardware for OpenBSD then aspire to change it in the future, you won't regret that either.
It might be like rumspringa which might be a stepping stone before you choose your level of commitment.
> Using popularity as a determining factor is a flawed strategy
Is it tho? I think it depends on what the context is.
If you have really specialist needs then yes, you should spend time working out the best solution. Totally agree.
But if you have bog standard needs that everyone else has maybe just use what everyone else uses? Every time you run into a problem you will probably find someone else has run into it and fixed it already.
eg Linux desktop? Maybe just use Ubuntu? Every time you want to install a Linux app from someone you will probably find they provide a Ubuntu package these days.
I'd recommend people check out wardley mapping for a good tool for thinking about this type of issues.
At the same time, if you find yourself fighting it continually it may be worth looking again.
A lot of engineering decisions are based on what can be considered 'good enough' option to progress to the next stage on time because you don't often have the leisure to study and consider all the options available.
Making unsupported declarations is an equally flawed strategy.
A big problem for any business decision maker is the inability to fully define the problem. The future is an unknown that can never be fully quantified. Requirements can and do change over time --- in ways that are difficult to predict. Businesses must adapt to such change in order to grow and survive.
What core product offers a business the best chance of being able to aquire the tools and talent needed to adapt to changing and unforseen requirements? One with the most marketplace presence and economic momentum --- aka the most popular.
Going with the flow may well be the option that provides the highest probability of long term success. Proving this is virtually impossible due to the unknowns involved. But so is proving otherwise.
This is the proverbial "judgment call" --- and business is full of these types of decisions.
Years later, I stick with the same setup for exactly the opposite reasons. I don't have as much time to tinker about with my setup and in those intervening years I have gotten Arch + Awesome running just the way I like them.
Distro hopping can be fun if treated as an end in itself, but as a means to an enjoyable and stable OS experience, it is self-defeating. Chances are you can probably achieve roughly the same user experience with any of the major distros, if you try. Package managers are different, but all ultimately adequate. It might be the case that some distros are more or less compatible with certain hardware, but I feel like that problem has become less significant over time. The main thing to differentiate distros these days is probably where they lie on the spectrum between highly stable and bleeding edge.
Don't agree here. People can give valuable experience on their chosen solution. Even if they chose it for different reasons or even incorrect reasons, they can still share their experience.
Of course they make sense. Even with all the fraud, and all the idiots, you can still learn a lot about a product from people who have actually used it, rather than just listening to the manufacturer and their happy path narrative.
Is this not just distro hopping? I can kind of understand avoiding it for business/work contexts but for home computing who cares? Trying out different distros and OSs is a bit like a hobby.
Popular distros are often popular for a reason and if you use something like Ubuntu it's very easy to find guide how to do something vs. a more obscure exotic distro like GoboLinux.
Not really, it's product research, especially important if you're going to rely on a distro that's a long term critical part of your business. This is not a hobby activity and can apply to any process in deciding which software is the right fit for your organisation.
Distro hopping is different. I've worked with a couple of folks who endlessly distro hopped to the extent that they seemed to spend more time installing their distros than actually using them in any productive way.
Anything "production" is going to be in some sort of reproducible environment anyway.
The kernel has all of the drivers unless you use weird AF hardware.
It's like cars. They all get you from A to B, beyond a few basics there's not even anything to optimize unless you choose to care about that.
The only proper qualifying example of OS uniformity other than Windows or macOS is ChromeOS, which is going to be replaced by Fuchsia in the future anyway. There is only one of that, like there is only one Windows or macOS.
That's just the tip of the iceberg of issues with the Linux Desktop and also without getting to the discussion of 'defining' Linux support.
Downvoters: You know it is true. Perhaps that is why this very long time veteran Linux user got fed up and moved to macOS: [0] After realising that they were spending more time fixing their computer, OS and apps in order to get things done.
I think you're overblowing this point. Many administrations, non-profits and companies actively use GNU/Linux or BSD desktops and are quite happy with it. Red Hat, Ubuntu and Suse are famous example providing good levels of support and customization if you can afford it. Mandriva in its time was very user-friendly and popular (at least here in France) but unfortunately they were shut down for business reasons if i remember.
But i agree with your critique that switching distro just because you want to switch desktop environment is the wrong answer because it introduces so many layers of complexity you know your tiny distro is gonna fall behind in terms of features/security.
I wish more distros exposed higher-level knobs to customize everything without learning the specifics of every piece in the stack. That's for me the strongest selling point in nix/guix even though i feel it's not as user-friendly as it could be.
Probably the worst thing about it is that any time you have a problem someone will tell you that you chose the wrong distro and you'll be pushed to switch to another one, where you will of course encounter a different problem and repeat the cycle.
Personally I think the proliferation of distros is itself a symptom of a greater problem with the Linux Desktop software ecosystem. If there were more stable ABIs, no such thing as library conflicts, less interaction complexity, etc. then one could mix and match software to fit their needs with little effort and a distro would be unnecessary.
I mean, I've had lots of problems with Linux, but none of them could be solved by moving to macOS, AFAICT it could only be worse.
It's unfortunate Linux is not for you, but I don't think that's Linux's fault, or anyone's fault.
I think this needs to be qualified. There are many reasons to not want to use Windows, and if the want to use something other than Windows outweighs the cost, then Linux still may be a better choice.
Linux can run games now, even those developed for Windows [0], and even having anti-cheat isn't an absolute blocker anymore [1].
While I understand the sentiment Mr Sheikh is trying to express, this kind of unqualified sweeping statement is helping to keep misconceptions spreading even though much progress has been made.
None of the games I like rely on anti-cheat. I think Linux is leaps and bounds closer to being capable of being used as a gaming desktop than it was just 10 years ago, but it's still very much true that game developers (and hardware engineers) focus on Windows first, and make sure it works there, while Linux is largely an afterthought.
If I had chosen to run exclusively Linux, there would be countless times I'm left in the dark while my friends and family were playing games without me. Obviously this might not apply to certain classes of game players, but for me, that's way too high a cost to give up Windows.
There are games that are... halfway there. For example, Grounded[0] is a really cool game my wife and I play together. Works great on our Windows PCs. It looks like it'll work in Linux, mostly. But there are issues reported, so you may get lucky, you may not, you may have to spend time experimenting to get it to work.
We just installed it and played it. So you're still paying a "price" to choose a different OS that is less of a focus for game developers. (Don't mistake my observations for a preference; it scares me a bit to be tied to Windows after witnessing the train wreck that is Windows 11. I'm on 10 and hope to stay on it as long as I can, with my fingers crossed that Linux approaches parity with Windows in time for me to bail.)
This is changing, but we're not there yet. When Linux gamers can expect an experience on par with Windows, rather than a degraded one involving glitches and arcane tweaking, it'll be safe to recommend in good faith.
[0] Linux is such a terrible target for games because of its fragmentation and tendency to break library ABIs frequently. Valve tries to deal with those but if it weren't for the hard work of the WINE community re-implementing the Windows ABIs then gaming on Linux would still basically be limited to emulators, tech demos, and Nethack.
Linux ABI itself is pretty stable. That unfortunately can't be said of anything that depends on anything not-strictly-kernel, non-strictly-glibc library.
> Valve tries to deal with those.
Valve attempt to handle those issues is pretty interesting, it's a kinda of "linux standard base" / "python manylinux" hybrid where they strictly freeze portions of the userland.
Because of that, you will have some fronzen, kinda buggy years-old libraries, but the resulting binaries works, on several computers, over a reasonably long time, without recompiling anything, most of the time.
Some of them have decided to go with Ubuntu LTS. A few are moving to CentOS stream. Some are stuck on the last version of CentOS and won't support stream. Rocky? Alma? Sounds good but you don't hear a peep from the vendor about them. Some of them are going to SuSE. It's irritating because CentOS 7 is very old and there's just no clear path to go right now.
I will admit I had a lot of fun trying out a lot of different distros in the old days!
To me, Crunchbang was the last of the fun distros.
But then tiny systems disappeared, the mainstream distros got all of those localization options, the optimizations got generic enough for everybody to adopt, and the all the crappy enumerable compatibility hardware converged on Red Hat. That's why the distro diversity disappeared. Nowadays we can get one distro to cover all use cases.
Eventually just gave up and am now using Ubuntu LTS on all my servers and either Ubuntu or something like Linux Mint on my personal devices - things mostly just work, documentation is abundant and breakages aren't too often. My personal advice would be to just pick whatever most other people are using, the best documented and supported option.
For when i actually want to get things done in a passable manner, it's good enough. The longer EOL is also great, far less churn to deal with, as long as you don't need the latest packages.
Actually, it's why i recently moved all of my container images from Alpine Linux as a base to Ubuntu as a base, about which i wrote on my blog: https://blog.kronis.dev/articles/using-ubuntu-as-the-base-fo...
Kind of sad that CentOS died the way it did (as a LTS distro, at least) and having to use Oracle Linux in its stead in certain enterprise settings doesn't feel great either, though most RPM distros are also vaguely passable. May Rocky Linux fill that niche properly some day and be as abundant as CentOS was.
CentOS Stream is still an LTS distro. Releases get 5 years of active support, the same as Ubuntu LTS, Debian and OpenSUSE Leap.
See "Q: Why was CentOS Stream created?", it is no longer rebranded RHEL with the same stability, but something akin to regular Ubuntu releases vs Ubuntu LTS.
CentOS Stream is no more than "roughly what RHEL will look like when the next maintenance release comes out 0-to-6 months from now". That is not remotely true of the regular Ubuntu releases.
Regular Ubuntu releases (like 20.10, 21.04) have no compatibility guarantees with each other or with Ubuntu LTS. They have major version upgrades for kernel, systemd, glibc and other major packages, they change APIs, they change ABIs, etc.
CentOS Stream, like RHEL and Ubuntu LTS, does not do this, because it's the upstream for RHEL X.Y+1, and RHEL X.Y+1 is intended to be ABI-identical and functionally compatible with RHEL X.Y. Therefore nothing lands in CentOS Stream which would break the stability promises of RHEL maintenance updates, at least not intentionally.
The stability promises are the exact same. The part that caused so much frustration in the community was not this, it was that CentOS is no longer attempting to be "bug-for-bug compatible" with RHEL. And that is because instead of bugfixes going through QA and then landing on an internal nightly RHEL tree, instead they go through the exact same QA processes and then land in a public CentOS Stream tree.
So CentOS Stream gets bugfixes (except for embargo-d security patches) and the occasional feature prior to RHEL, but the QA is the same, and the stability promises are the same.
> See "Q: Why was CentOS Stream created?"
This does not say anything which backs up the statement you made.
Full disclosure: I work for Red Hat
But that's my point (albeit perhaps not made as well as it could be): previously you'd tell your clients that they need RHEL version X.Y, or CentOS version X.Y or Oracle Linux version X.Y (or whatever) for the software that you want to deliver, against which version it has been tested, they'd install it in their VM/bare metal server and you'd have very few issues until EOL would roll around (admittedly i've run into a few issues like xrdp randomly breaking after an update, but that's not as important here).
Having support for roughly 10 years was pretty much a life saver in an enterprise setting that wouldn't update major releases too often and would rather focus on shipping features, CentOS 7 is supported from 2014 to 2024, CentOS 8 should have been supported for a similar amount of time, were it not for the project being "changed" like it was thanks to Stream. I am yet to see people talk of Stream in a positive context or offer it in most (regional) cloud platforms, some have switched to Oracle Linux instead, some are looking into Rocky Linux, the people who paid for RHEL simply keep paying for RHEL. Of course, that's just my subjective experience so far, i personally prefer DEB or just run containers, so i don't care too much.
For many Stream won't be an issue, but for others its akin to running their software on JDK 18, 19, ... instead of JDK 17 which is the current LTS offering. Ubuntu remains similarly boring as it previously has, you can run your software on 20.04 for the years to come with few surprises. CentOS Stream sitting between RHEL and Fedora is a non-starter for many.
Of course, Red Hat can do whatever they feel is good for the project long term or what makes sense financially, the people who are not okay with it will simply look elsewhere. Thankfully, containers let you lessen the headache by quite a lot.
The advice to stick with independent distros is a good one, in most situations. But the only way I can confidently agree with the author is through experience with the alternatives. That was not time lost.
If I'd recommend a daily driver for a very non-technical friend who wants to keep using their laptop that's effectively EOL under Windows? A non-independent distro makes sense. And how would I be able to make an informed recommendation? I could try it out myself. Maybe on an isolated mediaplayer, a use-case specific VM, or an embedded dev project, where stability and security don't matter that much. When the stakes are low and I enjoy trying new things to get a feel for the community and ecosystem, distro-hopping can be nice.
Many when I got new hardware in the past, I installed a new distro either on that or whatever it was replacing. Most of them didn't stick but some did - this is how you can learn.
You also get to know about the ways of the other independent distros. If you're mostly an Arch+Fedora person, for example, maintaining a Debian installation is great to widen your experience and understand where each makes sense and fits.
I've installed more derivatives than I can remember and I can tell through experience why I wouldn't recommend most of them. When Mint had zero issues during the same timespan that system upgrades completely broke the vanilla Manjaro desktop for the third time, I can now make more informed decisions. I would have no idea about the difference in quality, testing and maintenance if I hadn't actually been running them for a significant time myself.
Asking someone about their dist of choice can absolutely be useful - if you understand where they're coming from and/or they understand your situation and needs. It all depends on context.
It can make sense to outsource some of the bootstrapping and user configuration. Just be aware of the tradeoffs. And do it because it's fun, not (just) because you believe the grass is greener.
If you are constantly distro-hopping you probably have some specific needs than no distro fulfills, and your time is probably better spent picking one (preferably of the minimal kind) and actually solving your specific problems than trying to find a perfect match when there is none.
I use Debian (minimal) BTW.
If one felt they had to understand the managerial structures, maintenance schedules, and just a smattering of aeronautical engineering in order to pick which flight you were going to take to Hawaii you would experience the same thing.
The author is correct that listening to 100 expert beginners on Reddit is a poor way to pick a distro or learn anything about anything but wrong I think in his dismissal of distro hopping. One doesn't need to drive every make and model of car but its actually expected to read some reviews then drive several. Learning how to use your distro beyond clicking the icon for your web browser and reading your distros docs will actually give you the background to understand the different tools at your disposal.
If one spends 6 months using Ubuntu before discovering that Debian Arch or Mint would be a better choice instead of starting with Mint Arch or Debian off the bat is this really a huge loss?
When I started to switch from Windows to Linux, I've constantly changed distros picking whatever I saw "cool" people in my online circle use. I switched between Ubuntu, Debian, Arch and it's 100% FLOSS siblings all the time, sometimes using a distro just for one or two days.
It is a stupid Endeavour as you have no time getting used to your environment and so you lack the skills required to solve any problems that occur.
What fixed my habit was actually having to use my laptop for university, where I ran Ubuntu, and later at work, where we used Fedora. It helped me get used to it and tailor it to my needs.
Recently, I've switched at home and work to MacOS ( couldn’t resist the new M1 chips). It fulfills my requirements and works like a charm.
This decision makes sense for me and for the laptop that I use daily as a developer. It doesn't make a lot of sense for a regular user, and even less for a server environment.
Is it really so complicated? If you have very specific needs, you'll know what to look for. If you're not that special - why not just go with something common until you see what limitations you can live with and which ones are deal-breakers?
I think a lot of "distro hopping" is also just being interested in the OS itself. I don't see the problem.
Installing and switching between a half dozen distros (plus a couple of BDSs and Open Solaris) when first learning to use *nix really taught me a lot about all kinds of different aspects and philosophies of the *nix world and getting all those distros to actually install and run gave me lots problem solving skills.
Now I've settled on Ubuntu, been using it basically exclusively for the past 10+ years (minus a short affair with Arch a few years ago) and have no plans on switching. But having that initial experience with lots of different OSs was very educational.
I also think it really depends on what your end goal for doing it is. Do you just want to get to the point where you have a working dev environment as quickly as possible or do you want to learn about Operating Systems and hardware for its own sake. For me, at the time, getting NetBSD working on a 'no name' PowerPC dev board I bought off of eBay was a fun goal in it self.
It ultimately comes down to workload, I suppose. If you're a creative professional or build iPhone apps for a living, I doubt you'll enjoy your time on Linux very much. As someone who does neither of those things very often, Linux feels like home to me.
This IS about understanding the inevitable compromises every distribution makes (e.g. security vs performance) and choosing what fits your needs.
This is NOT about trying them all until you like something.
Aren't there hundreds to choose from?
I wager there are a lot of us “just getting work done” with desktop Linux, it’s really great imo.
Also nowadays with containers its quite hard not to get some software running.