The thing I have discovered over the years of being a Linux user and then being a professional working with Linux is that the differences between Linux distributions are negligible on a technical level. There is, basically, nothing that I cannot do in Redhat or CentOS that I cannot do in Debian or Ubuntu or Slackware.
The common advice that people provide to fix problems that revolve around 'Oh, ZYX sucks, try using XYZ instead' is just about the worst and most inappropriate advice possible the majority of times it's used. (not every time, but just the majority of times)
That the idea that you have all these different approaches will yield a superior result in the long run is overrated. It was probably true at some point in the past when the whole concept of 'what is a Linux OS' was still up in the air, but nowadays there is actually very little difference in approaches. Instead the different value that distro offers is based on the level of support, social environment, and other policies that that distro offers.
My favorite example is the RPM file format vs the Deb file format. The RPM format, while it has it's warts, is technically superior to the Deb format as far as I can tell. Yet if you were to ask a typical end user that has used Redhat/Fedora in the past and uses Ubuntu now which is better or more easy to use they will, generally, tell you that the Deb format is better.
Why is this so?
It's because the technical features and advantages that RPM has at the lowest level is completely and totally overshadowed by just the massive amount of effort, time, and dedication that the Debian folks put into making their package management work. There is nothing magical about how Deb or apt-get works, it's just a huge amount of work that makes it work.
And I think this applies to pretty much most of what makes up a Linux OS. There is some value to introducing new approaches and being different... but nowadays all new stuff that is successful or showing high levels of promise (like PulseAudio, Upstart, Dbus, KVM, etc) needs to fit into existing systems in a way that is minimally disruptive and needs to be applied across all major Linux distributions before their true value is realized.
Anybody (like Ubuntu or Redhat) introducing changes to just their system without first putting huge amounts of effort into making sure those changes are not only available for other distros to use, but _actually_integrated_ into those other distros will see a much diminished benefit to those changes. Very few application developers and few end users will be able to take full advantage of the improvements because they cannot depend on those improvements being available elsewhere; unless they are first willing to completely abandon their ability to choose (or end users to choose) a different distro (which is what you see in enterprise-ish environments)
So for a Linux-based OS to be most successful it has less to do with different approaches, but much more with it's ability to efficiently use 'human capital'. Developer's time and resources need to be as efficiently used as possible. Duplicate work is extremely inefficient... creating technical differences between systems with almost no benefit to end users or application developers is inefficient.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds