|
Not knowing much about Linux distros, can anyone explain the popularity of CentOS to me? I mean, having used it only a few times, my impression of CentOS is "a Linux with lots of horribly outdated software, in the name of compatibility and well-testedness". Eg when I used it last, the PHP version it shipped with was 8 years old. Now, I understand the appeal of that to certain super risk averse enterprises who value stability over any kind of developer or user happiness (including the ability to run latests versions of userland software that happens to require somewhat recent php/python/etc versions). But aren't those exactly the kinds of enterprises that would want normal RHEL licenses anyway? If you scratch those out, what audience is left? Why would I run such ancient software for any technical reason? I know this sounds dismissive, but I don't know how else to formulate this and I'd like to understand this. I think I understand RHEL and I think I understand Fedora, but I never got the appeal of CentOS. |
RHEL / CentOS also has a lot of commercial software packaged and sold for it. You'll find plenty of niche market software shops that don't want to bother targeting more than one distribution, and that being the case they target RHEL. If you're writing and selling some niche business software, do you really want to dedicate your limited support resources (which, let's be honest, are probably your developers!) to supporting other distros?
At the end of the day, what do you need from the distribution itself? It's a tool to run the software you care about. Some distributions take pride in providing that software as a part of the distribution, but not RHEL. RHEL is stable, it's a known entity. You want a newer version of PHP? Go for it, but you're building and packaging your own on RHEL. And for many shops - not just enterprises - the "you" here is not actually anybody at the company, but some external vendor or some OSS project maintainer who packages everything (including dependencies) for RHEL.
And by the way, this is why Docker containers are so popular now - you can incorporate whatever system libs you want directly in your deployment bundle, and know that if the base system can run Docker you don't have to think about it. Something old and crufty like RHEL, as long as it has good Docker support (yes, arguable...) - you never need to care how old and crufty it is (they DO backport major kernel improvements to their custom kernels).