In tech, we tend to get angriest when companies take free things away from us. For example, we shake our fist at Google for removing services they once offered for free. And in open source land, we cry out for justice when our free, drop-in replacement for Red Hat Enterprise Linux (namely CentOS) becomes less useful as a way to avoid paying for RHEL.

I don’t know why Red Hat chose to pull the plug on the traditional fixed-point CentOS release, leaving only the CentOS Stream rolling release in its wake. Steven J. Vaughan-Nichols walks through a few possible reasons, and Red Hat CTO Chris Wright gives the company’s rationale. But many CentOS users are furious (just ask Hacker News).

Maybe Wright is being sincere when he writes that “Red Hat believes that shifting our full investment to CentOS Stream is the best way to further drive Linux innovation by giving the broader ecosystem community a closer connection to the development of RHEL.” Or maybe Red Hat is simply looking for ways to drive greater paid adoption of RHEL.

But given how solid a steward Red Hat has been for open source communities for so long, it seems churlish and shortsighted to harangue the company for doing what it feels is best for its business. After all, hasn’t its business interest always been closely aligned with community interest?

Free things and one-way doors

But first, let’s talk about one-way doors. My colleague and friend, Spot Callaway, recently commented on the concept of one-way and two-way doors:

[A one-way door] is an action that, once taken, cannot be reversed (either at all or without causing major disruption). That’s not to say you never go through one, but you never do it without conscious forethought.

Pressed for examples, Callaway suggested two: “unlimited quotas for free Google services, unlimited access to free containers in Docker Hub.” The idea isn’t that you should never walk through these one-way doors, as Callaway pointed out, but rather that you need to be very careful before you do. Open sourcing code, for example, is a one-way door: Once the source is open, you can’t take it back.

So, too, is providing CentOS as a free replacement for RHEL.

You can see this becomes a big deal for some in those Hacker News comments. Here’s one:

Imagine if you were running a business, and deployed CentOS 8 based on the 10 year lifespan promise. You’re totally screwed now, and Red Hat knows it. Why on earth didn’t they make this switch starting with CentOS 9???? Let’s not sugar coat this. They’ve betrayed their users.

Really? When I look at the CentOS FAQ I see this: “CentOS Linux is NOT supported in any way by Red Hat, Inc.” Or this on Red Hat’s support site: “You cannot get support for CentOS or CentOS packages from Red Hat.”

Of course, some (many?) of those complaining most vociferously don’t really want support. They simply want RHEL-like stability without paying for RHEL. Like this person: “I and many other people used [CentOS] because it was a way to get the benefits of Red Hat without paying for it.” In other words, they want the benefit of the work Red Hat does to improve and package Linux but not have to pay for it.

It’s a bit like me with Google Search: I just want the search functionality without paying anything for it. In fact, I use an ad blocker so that I don’t even indirectly pay them by clicking on ads. I am 100% a free rider on Google’s investments in Chrome, Search, etc.

But back to one-way doors. Can Red Hat recover its ability to more effectively charge for the value it delivers with RHEL? If the history of RHEL itself is any indicator, the answer should be “yes.”

People pay for products

Red Hat didn’t start out with RHEL. It started out as many open source companies do: praying that people will decide to pay for support. I can tell you from years of personal experience with this pray-for-pay model that it doesn’t work. It’s a terrible business model.

Which is why in March 2002 Red Hat announced Red Hat Linux Advanced Server, which in 2003 was rechristened Red Hat Enterprise Linux. A few years later I described Red Hat’s model, noting,

Red Hat makes it hard to impossible to get the compiled, binary version of its tested/supported/enterprise-ready software without paying [for] it. (A recognition that while source is free, few actually want source, and even fewer pay for it.)

In this way, Red Hat conditioned users to pay for RHEL. The industry had expected to get Linux, including Red Hat Linux, for free. But no one expected to get RHEL for free.

Or didn’t, until CentOS came along.

A few years after RHEL was born, CentOS joined the Linux party, tracking RHEL closely without overt blessing from Red Hat. That changed in 2014 when the CentOS team joined Red Hat through an acqui-hire. This may have conditioned people to think they could get all the benefits of RHEL (minus support) without paying for it, from the same source as RHEL. After all, it was still Red Hat, right?

Now Red Hat seems to be trying to put some distance between RHEL and CentOS again, which is reasonable. Red Hat is a business, not a charity, and its ability to fund Linux development depends on its ability to monetize RHEL.

Yes, Red Hat has work to do to sell the value of building on RHEL, but consider one example of how they might do this. Here’s someone who is annoyed that they opted for CentOS over Windows and now will have to pay for RHEL:

What’s ironic is that I sort of went out on a limb with my team by forcing us to go with Linux over Windows and the way I allayed concerns was to ask them to just “wait and see” in hopes that the performance differential would make it a moot point.

edit: after a little thought it seems that moving to RHEL might cost us the least amount of money and downtime.

Catch that? They wanted “free” but they’re discovering that RHEL won’t be overly expensive for them.

More importantly, they’re clearly depending on this operating system for their business, so it seems a bit short-sighted to be looking for ways to eliminate costs that simultaneously could be increasing risk, as a follow-up comment captures:

Why would you accept additional risk on the OS if you can easily reduce the risk, and ultimate cost, by going with an OS that has vendor support written into the actual contract? RHEL is 11-13 years total…. CentOS is and always was a community “best effort,” with some serious delays occasionally (not often, but it happened).

A RHEL server license starts at $349. I have to assume that’s at least an order of magnitude (or two or three) less than the cost of your software based on the technologies involved (sounds enterprise-solutiony). In other words a rounding error overall.

Yes, some people will bolt for Debian, steadfastly against the idea of paying for their operating system. Fine. Others will realize that the cost of paying for RHEL is relatively low compared to the software they might be running on top (Oracle?). Everything will sort itself out. The fact that it even needs sorting may well be Red Hat’s own fault, creating a one-way door by acquiring CentOS. But Red Hat has done this once before, with the creation of RHEL. It should be able to manage the transition again.

While it does, CentOS users might want to remember Red Hat’s well-earned reputation for being open source friendly. There were many reasons for outrage in 2020. This isn’t one of them.

Read more about open source: