History Never Repeats. But Sometimes It Rhymes.
Red Hat recently announced that they were restricting access to the source code of Red Hat Enterprise Linux (RHEL) to their customers under contract (there’s much more complexity and nuance in the situation than that simple statement, but I think it captures the essence of the change). I’m not a lawyer, and I’m not going to speculate on the legality or otherwise of their decision.
I have a long history with both Red Hat and open source (my work on Free Software pre-dates the invention of the “open source” term itself, back then it was just “Free Software”).
Red Hat once thought highly enough of my contributions to open source that they asked me to record a section on open source for their new hire orientation video. As of a few years ago (confirmed by a Red Hat hire to me), I was still in it. Early boxed versions of Red Hat used to advertise “Contains Samba Version XXX” on the side, which I still find highly complementary.
I have many good friends at Red Hat, mostly engineers. I have written external reviews for them to help them get promoted inside Red Hat, and collaborate with them every day on open source software (Samba, specifically). They are all, without exception, highly talented and very principled people, and I’m proud to know and work with them.
The current Red Hat management I don’t know so well, I’m afraid, but they have made it clear in public posts that they are attempting to prevent what they call “rebuilders” of their enterprise operating system.
But I have seen a situation in the past that bears some similarities, and it’s worth reviewing some history.
Cue the harp music…
The past
Enterprise (business) computing was once dominated by a titan of operating systems. Except for the mainframe market, it ran almost all business applications. There were many companies selling versions of it. All of them were fighting for dominance, but there was one in particular who was the most successful, and defined the gold standard for business operations.
Back in these days of proprietary software dominance, all of the enterprise operating systems vendors licensed the original code from the manufacturer (which, strangely enough, wasn’t the most popular version), and all of them made changes to it. Some were subtle changes, some were large new components. But all the versions were similar enough that with minor porting efforts, business applications could be run on them. They were compatible, which was considered the greatest of values.
I’m talking about UNIX, of course. UNIX was an enterprise computing standard, and the base of that standard was a published document called POSIX (Portable Operating System Interface—with an X tagged on at the urging of Richard Stallman). It wasn’t owned by anyone, and many companies created a version of it, usually based on the original code from AT&T, and sometimes with the addition of code developed at the University of California, Berkeley.
The most popular version, which was the one sold by Sun Microsystems, was SunOS, (later Solaris). Sun felt they owned the UNIX standard, or at least were the leading developers of it.
Then in the mid 1990s, a new upstart code base was developed. This was the Linux kernel. It leveraged the existing alternate library and application code, the GNU libraries, compilers, and utilities created by the Free Software Foundation (FSF), and provided the missing kernel piece that the FSF had long struggled with creating.
But it was a clone of UNIX, and particularly SunOS and Solaris. It was specifically written to make moving applications from SunOS to Linux trivial and easy, providing many of the same interfaces and extra features that were previously available only in SunOS. I myself ported Samba to Linux easily during this time.
Sun hated Linux. They complained that it was destroying the value of UNIX. Why buy an official UNIX when you could get the same thing for free via Linux distributions. Who would maintain this “free” product? If everyone was working on a “free” product, who would pay developers to maintain it ?
They claimed their UNIX was superior. They claimed their UNIX had fewer bugs. They claimed their UNIX was better supported. They claimed their UNIX had better performance. In the beginning, all of these things were true, of course.
It didn’t matter. Linux ended up crushing Solaris and “official” UNIX. The reason was that free and open source Linux distributions provided one great value to customers that “official” UNIXes could not.
That was freedom for the users. Linux was free to use. Linux was free to deploy. Linux was open to all users to modify and develop. Eventually, Sun realized this value and released Solaris under an open source license (although deliberately incompatible with Linux so no code could be shared). It was too late. A once-great company, Sun was picked up by Oracle. Not even for its operating system business, but mostly for the Java language. Solaris is now a footnote in history, along with all the other proprietary UNIXes—except for IBM’s AIX. IBM knows a thing or two about maintaining legacy operating systems. That might stand them in good stead in the future; who knows ?
In killing the legacy UNIX market, Linux opened up the entire UNIX ecosystem in a way that simply wasn’t thought possible in the mid-to-late 1990s. At that time, legacy UNIX was going to be killed by Microsoft Windows. All the popular magazines (yes—print on paper!) said so. Of course, now there are more Linux engineers employed writing more software, both open source and proprietary, than Sun or other UNIX vendors could possibly have dreamed of. Hosts on Azure, the Microsoft cloud, are more than fifty percent Linux, not Windows.
Crank up the Delorean, we’re going…
Back to the present…
Red Hat Enterprise Linux (RHEL) is considered the gold standard of business operating systems. Being compatible with RHEL is essential to running many business applications. Many business software vendors only test and support their applications on RHEL, or some version of RHEL.
RHEL was never free to use, but clones of it were. If you wanted an official Red Hat supported version, you purchased an official Red Hat Enterprise subscription. If not, then users could choose Oracle Enterprise Linux, CentOS—or later after Red Hat discontinued CentOS—Rocky Linux, Alma Linux, and others. All of them are based on the same source code as RHEL, made freely available via open source licensing terms.
This whole set of compatible versions of Linux creates the ecosystem for Enterprise Linux. The whole value of it for the users is that it isn’t owned by any one company, even though all the commercial players would love to be in that position (that’s just the nature of business). Indeed, if any one company did own it all and exclude all the others, the value for users would be significantly less.
Users who deploy Enterprise Linux can migrate between versions at will, keeping their costs low and choosing the support models that work best for them. Cygnus Solutions, which created the original Free Software business model for support, understood this. I worked there, too, before Red Hat acquired them. As the software is under an open source license, the value is in the maintenance and long-term support for code that can be shipped and worked on by anyone with the skills to do so. Sometimes that’s the users themselves, in which case they don’t need a support contact, only the freely available open source itself.
In their recent move to restrict the source code, Red Hat is trying to eliminate any clones of RHEL, and make it only available from Red Hat. My advice to Red Hat management is to be careful what you wish for.
Let’s screw our crystal and marble control lever back into our time machine and go into…
The cloudy future
Imagine Red Hat succeeds in eliminating all vendors it calls “rebuilders” from Enterprise Linux. Congratulations, Red Hat! You’re now king of the hill, and all users who want a “true” Enterprise Linux will be purchasing Red Hat subscriptions! What will this do for the Enterprise Linux ecosystem?
According to Mike McGrath, Red Hat’s Vice President of Core Platforms, this will allow Red Hat to invest all that extra subscription money into creating new and innovative open source software and employing lots of new open source developers. Maybe. But having been in the industry for a long time, my suspicions are that IBM shareholders might have other uses for that money.
More likely, in my opinion, is that users, who value freedom and control over their own computing destiny more than anything else, will swiftly migrate off the RHEL platform. Where will they go? That’s where my crystal ball isn’t so good. Maybe some will go to Debian and derivatives. Some will go to SuSE Enterprise Linux. The short-sighted ones will migrate workloads back to the welcoming arms of Microsoft Windows, or, being more charitable about Microsoft (who really are quite an open source company these days), an Enterprise Linux distribution running on top of Microsoft Azure. I also don’t imagine that Oracle Enterprise Linux, which right now is another “rebuilder” of RHEL, will go quietly into that good night. Not really their style.
I hope Red Hat will reconsider trying to squeeze out the “rebuilders” of RHEL, and not just because I work for one (CIQ). I understand that Red Hat feels that rebuilding the exact source code they feel they have worked so hard to create and test feels to them like freeloading and cheating. They claim to have the metrics that show that an enlarged Enterprise Linux ecosystem provides little benefit to them financially, as users are just wanting free “stuff.” Competition is hard, especially with your own product.
Even if this is true, restricting access to source code goes against everything all the engineers I know in the open source community believe in. Ultimately, it just doesn’t work. Customers want flexibility and control in how they consume and deploy Enterprise Linux systems. If they can’t get it from Red Hat or any of the rebuilders, they will go somewhere else. Maybe not immediately, but eventually RHEL will fade as the gold standard.
The question is does Red Hat want to continue to be the leader in Enterprise Linux, or do they want to be king of a walled garden? Enterprise Linux is bigger than any one company. Users deserve better choices than being asked to forgo the freedoms guaranteed to them by open source.