cdop.pt

RedHat's Goose

(published: 2023-07-07)

When tech leaders don't read the classics, this is what you get.

If you were anywhere around Linux's sphere these last couple of weeks it would have been hard to avoid this one particular story: RHEL sources will be available to paying customers only.

When CentOS1 was neutralized after a small interregnum of RedHat's "protection", I and others speculated that such a move could only be explained by RedHat's desire to coerce CentOS users into paying subscriptions, corporate blog-speak notwithstanding.

Such speculations and opinions were, at the time, just that. In particular, one problem with those theories was that, at any moment, a group of highly motivated individuals could exercise their GPL rights over RHEL source code, replace branding, rebuild, rename, and be back in business, effectively nullifying RH's move.

Which, if you recall, is basically what happened. We could question RH's strategy, but at the end of the day its not like it mattered much for non-subscribers, safe for the wait for the new derivatives to arrive. It took a few months, but eventually all former CentOS users who were not able (or willing) to buy RHEL subscriptions and could not tolerate CentOS Stream in their workloads had not one, but two, mainstream continuity paths to choose from: Alma and Rocky.

Keep in mind that, while maintaining a separate CentOS repo is extra work for RH, this is work they didn't have to do and in fact didn't do before the acquisition. So even if RH only saw this as a business decision, the community, expectedly, saw it as bait-and-switch.

It is obvious now that RH's original strategy was devoid of any palpable effects, unless you want to count as palpable granting CentOS hydra powers or essentially reverting everything back to it's pre-acquisition state. For those who speculated that getting rid of CentOS had more RHEL subscriptions as it's primary objective, it is not surprising that a new attempt on the same objective would follow.

Which leads us to the goose and its golden eggs. Terminating CentOS while still providing RHEL's source code had, at least, plausible deniability regarding RH's intentions towards that project. Forbidding paying customers from sharing RHEL's source with an additional agreement on top of the GPL however, could only be understood as a means to starve the surviving derivatives of the source code which would allow them to achieve binary compatibility with RHEL. An intention quickly confirmed, by RH themselves:

The generally accepted position that these free rebuilds are just funnels churning out RHEL experts and turning into sales just isn’t reality. I wish we lived in that world, but it’s not how it actually plays out. Instead, we’ve found a group of users, [...] that want the stability, lifecycle and hardware ecosystem of RHEL without having to actually support the maintainers, engineers, writers, and many more roles that create it.

[...]

Ultimately, we do not find value in a RHEL rebuild and we are not under any obligation to make things easier for rebuilders; this is our call to make.

-- Mike McGrath, VP of Core Platforms Engineering at Red Hat

My understanding of this is: RH got tired of waiting for the users of derivatives to slowly grow to the point were they could afford and justify RHEL subscriptions, and wants them all subscribed, now.

In the fable, there were no golden eggs inside the dead goose. In reality, at least from what I've seen and read, people are switching to other distributions or waiting it out to see what happens.

These "freeloaders" weren't buying RHEL before, and they're not doing it now either. But its not like they were creating any additional work for RH. They were using derivatives, after all. Rather than keep the optimistic "customer tomorrow, maybe" approach they had until they were unfortunately acquired by IBM, they decided to go full Hollywood and start perceiving all Alma/Rocky/whatever users as "infringers" and "losses", destroying the three decades of good standing they had with the community for nickels and dimes.

I am curious to see if this will result in lawsuits. According to these guys, who seem to know a thing or two, adding contractual clauses on top of the GPL is a no-go, as the license clearly states that no further restrictions may be imposed on the recipient of the software. It has to be tested in court of course, but the general consensus, and most of the kerfuffle, lies in the fact that the spirit of the GPL is always "you can't take away rights you have received".

RH seems to be experiencing a form of cognitive dissonance, as evidenced in the following statement:

I feel that much of the anger from our recent decision around the downstream sources comes from either those who do not want to pay for the time, effort and resources going into RHEL or those who want to repackage it for their own profit. This demand for RHEL code is disingenuous.

-- Mike McGrath, VP of Core Platforms Engineering at Red Hat

Not really. The anger drawn by RH's decision around downstream sources comes from those who accepted the GPL contract, like RH did. It matters very little whether they are producers or consumers, paying or not, paid or not. We read the license, we know what's in there.

Doesn't RH repackage code made by others for their own profit? Does RH pay or otherwise compensate every single contributor of all the code that RH does not produce internally? Do we need to start splitting hairs about what constitutes an acceptable repackaging of software? Is a one line patch to an otherwise unmodified source sufficient? This train of thought derails very quickly, as you can see.

What's really disingenuous is to state that the demand for code is disingenuous, when the sole reason for GPL-style licenses to ever have come into existence is legitimizing that very demand.

RH has rights and obligations. And pushing out the source code to paying customers in a way that, per RH's own admission, is not that easy to rebuild, or worse, directly causes RH to terminate the business relationship should the customer choose to share the source code they obtained from RH is against the spirit of the GPL, even if RH's grade-A legal team finds a squirrelly way to follow it just enough for the courts to side with them in case of a dispute.

In other words: it is possible to be legally right and an unlikeable jerk simultaneously. Happens all the time.

As for me, having been firmly stationed in the anti-systemd2 camp for years, and having grown distrustful of RH's stance on software development as a result of that and other decisions, it looks like everything came to it's logical conclusion: that RH has strayed from it's former ways and it's time remove it and its products and services from the list of viable options.

Going forward I will consider all RH's core and peripheral projects, including derivatives, to be high risk. I won't be able to recommend RHEL, Fedora, CentOS Stream or any spins or derivatives, in good conscience, to anyone, personally or professionally, due to the fact that it is unclear whether or not they'll be here, in the same terms, tomorrow. For this level of excitement we can just install Arch everywhere and accept all updates automatically directly in production. At least we'll know what to expect.

Good luck to Alma, Rocky and the rest of the bunch, but I'm steering clear of this part of the jungle. There's just too much good stuff happening at and downstream from Arch and Debian, not to mention the smaller independent distros, to give these subjects any more mental room.

Time to rewrite the Ansible playbooks for pyinfra.


  1. CentOS proper, not the identity-crisis-over-release-cadence version. ↩︎

  2. And anti-pulseaudio, but this isn't technically a RedHat project. A topic for another moon... ↩︎