Ask HN: Is the proliferation of Linux distros harming the Linux ecosystem?
I've used Windows, macOS, and GNU-Linux. Now I use Windows on desktop, but I have this temptation to try Linux again, mainly out of curiosity. But there are tens if not hundreds of Linux "flavors", and a lot of them have so much in common (e.g., Ubuntu is based on Debian), and yet, there are major differences among them, such as how they provide updates (e.g., rolling release) or the hardware that they target.
In a sense, one can't call all of them _one_ OS, whereas you would call all versions of Windows basically one OS that has been consistently updated throughout the years.
I wonder if so many Linux distros is actually Linux's Achilles' heel. IMO, it'd be better if these sparse efforts would get focused on _one_ solid, no-frets, no-hassle, Linux OS that ordinary people could trust to be stable and reliable for years to come.
33 comments
[ 3.2 ms ] story [ 84.5 ms ] threadIf you're not sure what to use, just use Ubuntu. It's a great default distro.
One big strength of open source is having source available so others can use and improve and extend it. You can never have two many clones, copies or workalikes.
Now you're suggesting this might be a weakness?
You want BSD, not linux.
On the other hand, MacOS is a BSD, is it not?
Many of us have suggested that Microsoft also 'do an Apple' and construct the Windows desktop over a BSD or Linux foundation. It would be cheaper for them, and they could concentrate all their developers on producing a really good consistent Windows instead of the rather spotty, uneven productions they have released over the years.
The problem is that we in the Linux community can't admit there are problems and then fix them. If there is a problem, chances are the best way to fix it is by forking.
The variety of choice that we have available is one of the greatest strengths of OSes built around the Linux kernel.
It is my experience that while Fedora generally works really well, if something goes wrong, it is seriously wrong and cannot be fixed until the great devs decide to do so. In my case, it was a recurring X11 glitch that returned more than once in several Fedora releases. (I reported it to their bug tracking system.)
On the other hand, Ubuntu has such a massive user base that any problem I encountered already seemed to have a working workaround.
It's just random people doing random things and making the same mistakes over and over, it's horribly inefficient but incredibly resilient as a social mechanism. Distributions are an attempt to orchestrate the resulting chaos into something coherent and usable, and since they are open source in nature, they suffer from the very same inefficiencies (and resilience)
Similarly, a lot of the time it doesn't really matter what distro something is based on, because I can just consume it in a container or VM and don't need to care.
What does matter are properties such as supportability, the availability and ease of security updates, and so on. So if you ship a container that requires something obscure that I'm not sure security updates will be readily available for, then that matters. But just the fact that it's "not my distro" doesn't really matter.
It's also self defeating to use an obscure distro if you're going to need help and the people you're going to ask for help don't know it.
Each Linux distro is an OS i n its own right and targets specific audiences. Many have and continue to try and fail to unify and create a distro that is like MacOS or Windows without thinking about what it took for those OS to be consumer ready.
Are you willing to pay hundress of dollars for a distro? If not, then see which distro comes close to meeting your specifc needs and accept it will never have mass adoption. Work to help solve bugs and improve UX in your distro of choice as well.
The incentive to develop Linux distros vary wildly but they are all needs the creators and supporters agree upon. While the incentive behind MacOS and Windows are mass adoption for the sake of profit.
Maybe one day there will be a for profit Linux distro that is will funnel profits to upstream devs and has actual adoption as a goal instead of what current users and devs think is best. Maybe that year is 2022, the year of the Linux Desktop!
[0] https://www.linuxfromscratch.org
For example, openssl [1] is a crucial piece of code with very few full-time developers, especially if you consider the total installed base thereof.
There is, of course, a XKCD for this problem as well: [2]
[0] https://en.wikipedia.org/wiki/Bus_factor
[1] https://en.wikipedia.org/wiki/OpenSSL
[2] https://xkcd.com/2347/
Surely it would be better to restrict sales to two car brands and only allow two models within those two brands.
(That's a ridiculous suggestion, isn't it? About as ridiculous as restricting the number of Linux distros. As with cars, people want things that suit THEIR needs better, not what everybody else in the world THINKS they should use.)
The beauty of Linux is that distros can be as individual (Ferrari) or as widespread (F150) as the cars on the road are. So some people like Windows (Ford) or MacOS (GM), so what? The choice of Operating systems can be as broad as the choice of cars.
I think that's conceptually a misunderstanding of how open source development works. If five people work on five different distributions, then that's generally because these people have different ideas of how they want things to behave and are motivated to work on realizing these ideas. If you would try to "focus" these "sparse efforts", you wouldn't end up with five people cooperating on one common distribution, you would end up with five people no longer contributing at all since the common system no longe represents their personal motivation for working on it in the first place. (That is if you would be able to magically stop the old distributions)
Now if this is a good or a bad thing depends on your point of view. Is it harming "mass adoption"? Probably. Is "mass adoption" actually a reasonable goal for an open source ecosystem? Probably not. After all non contributing users don't really provide much value to the projects they are using, especially if they still need support. (I'm not trying to say that open source projects are or should be hostile towards users, just that increasing adoption is not necessarily a priority.)
Personally, I entertain the theory that a large number of people agreeing what an OS should be and do also isn't necessarily a good thing, even if it happened. That's how you end up with Windows: It's the greatest common denominator, and for a large group, that's really "low".
For example: I'm very much a fan of how Nix and NixOS deal with the configuration and maintenance of a system. But I'm sure that the Nix way wouldn't have survived a more streamlined distribution landscape. In fact, Nix also works on BSD and OSX, but -- at least to my mind -- NixOS would never have happened there.
And that's understandable. It's still ever-shifting and full of rough edges. It breaks with many established conventions and old "best practices". It's not for everyone. But it still represents one of the greatest paradigm shifts in system configuration I've witnessed so far. In a landscape where you get hammered into the conventional mold, such radical approaches could never blossom and prove their upsides.
Again, look at Windows. There's still no established package manager for non-geeks. For home users, downloading and installing software from all over the internet is still the norm -- and where it isn't, it has been replaced through utilities attempting to lock you in (Microsoft Store). Conformity is a great way to enforce stagnation.
Obviously, things are better in BSD-land, but I'd argue that that's due to the smaller user base, too. Plus there are also at least very specialized BSD distros, too (pfSense, for example).
(So the real question might be "Is the proliferation of standard Linux components harming the Linux ecosystem?")
> IMO, it'd be better if these sparse efforts would get focused on _one_ solid, no-frets, no-hassle, Linux OS that ordinary people could trust to be stable and reliable for years to come
I don't think it's possible to make one Linux version that appeals to everyone. "no-frets, no-hassle" comes with tradeoffs. So does "solid".
But even if you did try to make a beginner-friendly Linux distro, you wouldn't have the support of the majority of the community, because most Linux users are perfectly happy with an existing distro. Even people who try to convert their parents and grandparents to Linux, seem perfectly fine to throw them into Ubuntu and call it a day.
The closest equivalent desktop Linux distro in terms of usability, poularity, and support might be Ubuntu, but Ubuntu's design decisions don't necessarily satisfy all use cases and users, and there is nothing preventing them from developing their own Linux-based OS distributions.
For better or for worse, Windows binaries are the de facto standard format for commercial PC games and productivity software. Fortunately many of them can run on Linux via Proton/WINE.
A minimal Linux system requires many GNU utilities and software from other projects to give you a basic command prompt with network connectivity. A Desktop system requires GNOME, KDE, etc.
Contrast this with BSD where a default install gives you a base system. There are BSD distros, but they only focus on orchestration and higher level components, not the base system.