> 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)
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.
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 was actually debating Devuan, but I am kinda afraid of jumping ( maybe I will put it in VM first ). How difficult(long it took to) was it to create a good working environment for you?
I tried. Maybe too close to the debacle when Devuan was newborn. Ran
just like a regular Debian, without init-hijack as advertised. But I
soon ran into maintenance problems. The box I put it on soon couldn't
be upgraded and (through my own fault of pulling in dubious backports
and fsking my apt-sources file) I ended up back in the ninth circle of
systemd. Probably due for a fresh try.
Most software is below the level of systemd and agnostic to what you are running. Even services are only systemd specific insofar as they provide a systemd unit file which amounts to calling an executable with certain arguments which is convertible to a different system in about 10 seconds.
Presumably like void Linux this has been done for you.
The systemd haters are right about their complaints, but there's a ton that systemd does right, like making the interface expected of a daemon "Run forever and send output to stdin and stdout" rather than "Double fork and rotate your own logfiles" while also having support for the latter.
> The systemd haters are right about their complaints, but there's a
ton that systemd does right
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.
Isn't that the "interface" which djb's daemontools, runit, and later s6 also promotes?
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.
It usually paints a better narrative to compare systemd vs sysvinit and ignore the fact that runit predates systemd by 6 years. It makes it substantially easier to dismiss detractors as Luddites scared of new things.
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.
BSDs are very interesting, I highly recommend checking some of them out. I think the most compelling case for them is the very tightly integrated kernel & OS which is largely decoupled from the user-space packages. I have completely hosed my Linux installs to the point of being unbootable a few times (to be clear, it was my fault every time!) by making mistakes with the package manager, but this isn't really possible with BSDs since the core operating system uses a completely separate method of updating and patching.
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!
Given the divide you describe under BSDs, I just did a search for "nix on bsd". There doesn't seem to be very much of a nix/bsd story out there, based on my search. In principle it sounds like an interesting combination.
My file server is running FreeBSD. The biggest sticking point for using it on my dev machine is lack of docker support on BSD. These days, my dev box is running Arch.
Do you know that, on Windows and Mac, Docker runs Linux in a VM? It uses Hyper-V on Windows and HyperKit on Mac. The Linux “distribution” is created with LinuxKit. It is this VM Linux kernel that gets shared across containers.
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.
>I am wondering whether to make a full-commitment life switch to BSD.
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 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
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.
I feel like there is a lot of condescending tone in the article that's really not helpful to many people who are not as versed in the topic. Maybe like a wine connoisseur who can't give a simple answer to what wine he might recommend for a dinner without spending an hour explaining all the things I need to consider to make the right choice.
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.
Yes, the article is chastising people for research and getting opinions from others, and suggesting that the solution is to do research and to get advice from others.
Using popularity as a determining factor is a flawed strategy, still it's not so obvious.
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 ago, I started using ArchLinux because I wanted to spend a lot of time tinkering with it. I was a student so had plenty of free time, and Arch's installation process and lack of any assumptions about what DE/WM you might want to use was a great opportunity to get to know Linux a bit better. And using AwesomeWM was even better; now I had to learn a new programming language just to configure my desktop!
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.
> 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?
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.
Exactly. This is like saying that customer reviews make no sense.
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.
>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
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.
After a decade or more of using Linux honestly I don't think it matters. After a while you get your environment, it's set up, as long as you can update and install compilers and shit you're good.
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.
Yet another reason why Linux and BSD distros, were never taken seriously on the Desktop. Alternatives of alternatives of a similar but tweaked distros further confuses the user into thinking their desktop will (just work) but will start to be quickly unsatisfied that a single tweak or issue in something in that desktop, will make them migrate and distro hop constantly only to waste time fiddling with their computer.
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.
> Yet another reason why Linux and BSD distros, were never taken seriously on the Desktop
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.
It's true, the rather ludicrous number of distros out there causes many issues for people used to more homogeneous OSs.
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.
Also that the things change like every other year or at least every few years. And something might or might not break when updating. Windows did stay pretty consistent for long time. Windows 8 broke this, but after that it hasn't been too bad again.
>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.
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.
I'd like to qualify his statement. I like the idea of moving away from Windows, but playing certain kinds of games with close friends and family is a big part of my leisure time. And as much as I want Linux to be ready, some of the games I like to play simply don't work on Linux. At all. All of the games I like work on Windows. (MacOS is, of course, much worse. Of the games I've spent most of my time on over the past 2 years, only about 20% even run at all, let alone with decent quality settings and frame rates.)
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.
Call me surprised if most game studios still develop Windows first those days. Console pays better in general, and mobile platforms have a much larger market base, so games get developed for those other platforms first. Whatever "PC release" we get is often now a bunch of half-assed scraps, that barely work "on Windows" in the first place, it's a miracle they work on Wine/Proton (and even a better miracle when Proton manages to undo said brain-damaged port bugs).
No, I agree. That's a good clarification. The thing is, most Xbox exclusives end up available on Windows... but still not Linux (unless Wine/Proton gets them working right.)
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.)
It's still unreasonable to suggest Linux as a mainstream gaming OS when more than half of the top ten per [1] (so, statistically, the games you likely want to play) are either totally unplayable or have moderate-to-severe problems, with precisely zero having a platinum (perfect) rating.
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.
While Linux has made a lot of progress in terms of being able to run games[0], the article is correct that it is still quite lackluster for a lot of the latest and greatest. In particular, the VR support is terrible according to everything I've read, with only the Index and some models of Vive being supported at all and Steam VR being a bit of a shitshow on Linux. So if you care about VR, it isn't a good option. I don't play many new demanding games at all, but a friend is trying to get me into DCS and is thus far partially successful. DCS is a fiddly enough bitch on Windows, but apparently it's that much worse in Wine.
[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 is such a terrible target for games because of its fragmentation and tendency to break library ABIs frequently.
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.
In the real world (HPC) I don't get to choose my distro. The software vendors do. Which, really throws a wrench into things.
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.
Maybe I'm more set in my ways now, but I feel like distro hopping is largely a thing of the past. There used to be a ton of small distros with their own communities but they've pretty much disappeared. I don't know if it's the decline of the web forums as they used to be (which killed the small communities), or if people realized these were mostly just Debian/Fedora derivatives with a cool Openbox theme and some preinstalled packages, or if everyone just migrated to Arch.
To me, Crunchbang was the last of the fun distros.
There used to be all kinds of distros runnable in tiny systems, localized to your wishes, optimized for speed, and with specialized compatibility.
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.
Used Debian for a while, but the relatively short life cycle is sub-optimal, as is the situation with drivers sometimes.
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.
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.
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.
No, it isn't. It's far more similar to Ubuntu LTS than to regular Ubuntu releases. All it is is an LTS distro without explicit .Y or .Y.Z releases
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.
> 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.
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.
While there are several useful insights here, I think the absolutist stance misses the mark and is overgeneralizing. While yes, you could (in theory) research the sources, the policies, the procedures, the contributors, the organization... It can save a lot of time (and be a lot more fun) to try things out in practice. Just be ready to wipe and start from scratch when you realize it's time to cut your losses.
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.
I think the problem with distro hopping is that you are not really solving a problem. For example, you are going to try out distros until you find one where you Nvidia card or wifi works, or the one with your preferred desktop environment, the one with this or that tool etc... But in most cases, these are things you can change, Linux is open, distros are essentially just the set of defaults the maintainers like. There are some oddballs, like Gentoo, but most are just variation on the same base. In fact, a minimal Ubuntu and a minimal Debian are almost identical.
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.
Agreed. "My nvidia doesn't work" "Switch to Mint/Arch/Fedora/Void" is a common sequence in online discussions. And it persists because it sometimes solves the problem by forcing the user to re-tread the steps again and again until they get it right.
Paralysis by analysis is what happens not when there are a wide variety of choices. It is what happens when one feels one has to do a deeper and broader analysis than they have time, energy, know how, or mental fortitude to undertake.
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?
I think the article encapsulates the problem perfectly.
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.
I went with Ubuntu when I switched from Windows some time around "Dapper". Stuck with it until "Karmic" or something like that. I only switched to Arch because I was getting tired of the big upgrades, and not having the latest versions of things I needed for work.
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.
Quite interesting to see how our experiences differentiate as I never got the chance to really understand what I was doing or what is going on but maybe that depends on our different approaches when switching distros
It really is a matter of perspective. I ended up doing the same thing as the parent comment, switching to Linux after being fed up with Windows and MacOS. It took me a few tries to find a package manager that worked for me (and I certainly borked my fair share of systems in the first few months), but Linux just worked in ways that MacOS and Windows never really did for me. Software installed quickly and flawlessly. Dev tools like git, docker and make were no longer second-class experiences. My coreutils were up-to-date, out-of-the-box. I could test and compile stuff on my own system and reliably deploy it to the cloud without needing to account for different architectures, kernel breakage or ABI incongruity. Virtual machines and containers executed faster than any other system I had tried. Microsoft Edge wasn't begging me to leave it as default. I didn't get notifications about The New Safari.
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.
I think it also depends on which distros you choose. Installing 6 different Debian/Ubuntu flavours, might not teach you much. Installing Debian, Gentoo and OpenBSD will at least open you up to several different ways of solving the same problem.
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.
As a long-time user of Ubuntu (and derivative distros) who has always wanted to checkout Arch, what made you get back to Ubuntu from your fling with Arch?
By compromises every distribution makes, I am referring to cases where one choice precludes another, and any distribution can choose just one. Security costs performance. It's hard to support 3d hardware with pure open-source drivers. Most distributions are fairly up-front about their project values so you can understand which way they will make these compromises.
One benefit of distro hopping is that to do it you must have all your data and projects available externally somewhere, so that’s a great starting point in general. Me, I found vanilla xubuntu fit my needs perfectly so I just reinstall every couple of years, and keep working.
I wager there are a lot of us “just getting work done” with desktop Linux, it’s really great imo.
I chose debian, because it is mostly boring and "outdated", but quite secure. My focus is to solve problems, not bother with new distribution software.
Also nowadays with containers its quite hard not to get some software running.
`stable` is not the only release, I wouldn't consider any of my Debian workstations outdated because they're not. `testing` and `unstable` are oftentimes more dependable than other distro's idea of stable.
I was lucky enough to realize early that all UN*X software is bad and no distro will overcome this bottleneck. For instance, even if you use the only few GUI toolkits that work reasonably fast, like Motif, these programs will still be broken on another axis.
I've been using Linux since I was 10 (so almost 20 years now) and there still isn't a distro that I can say I like (although Alpine is closest.) If you want to be picky then learn to do it from scratch, otherwise find a distro with a good group of people behind it and stick with it.
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.