The open-source community is beating up Red Hat for deciding to make OpenStack more enterprise-ready. Is this a replay of Red Hat's "enterprise Linux" decision in 2003?
We've seen this Red Hat movie before. Last week, news broke that Red Hat was allegedly playing hardball with rival OpenStack distributions, refusing to support such competitors on Red Hat Enterprise Linux. Since that time, the open-source leader has spent a week under siege.
But for those of us who have been in open source for a decade, this isn't new.
Back in the early 2000s, the open-source community turned on Red Hat when it decided to exclusively focus on its enterprise product, no longer providing Red Hat Linux as a freely downloadable, consumer-oriented product. It was an ugly time, with people both inside and outside Red Hat arguing it had sold its open-source loving soul for corporate goals.
It was also the day that Red Hat put itself on a trajectory to be a billion-dollar open-source software company. Will its decision on OpenStack prove to be a similar moment?
Red Hat: Balancing enterprise with community
Red Hat today is generally considered the world's leading open-source company. But getting to this point has not been without serious hurdles and hiccups.
Initially, Red Hat looked more like Canonical, the Ubuntu Linux company that provides both enterprise and consumer builds for its popular Linux distribution. Bob Young, Red Hat's co-founder, started the company in 1995 by selling Red Hat Linux CDs out of the trunk of his car. By 2002, however, Red Hat was a public company with serious responsibilities to both the open-source community and shareholders.
This forced it to make an excruciatingly hard, but wise, decision.
As Paul Cormier, Red Hat's executive vice president of Products and Technologies, told Ars Tecnica a few years ago, Red Hat had to "make a bet the farm decision," dropping its support for freely downloadable, consumer-oriented Red Hat Linux to focus exclusively on an enterprise product. The response was swift and negative from within the Red Hat engineering ranks:
"A lot of [Red Hat] engineers at the time didn't care about a business model. They wanted to work on Red Hat Linux. We had some level of turmoil inside the company with going to this new model. Some engineers left, but more stayed."
Born in May 2002 as "Red Hat Linux Advanced Server," then rechristened as Red Hat Enterprise Linux in March 2003, Red Hat has focused its efforts on the enterprise market for over a decade. As such, it's easy to forget just how painful this initial transition was. I was there. I actually worked for two different rival Linux distributors during this time period (Lineo and then Novell) and can attest to just how unpopular this move was.
Except for customers, who loved it.
Within just two quarters, Red Hat was profitable and has remained so ever since. The key was to make the initial, brutally painful decision to approach the market with one product and one message. As Cormier told me years later, "We found that our split personality on Linux — shipping Linux distributions for both enterprise and personal use — didn't 'make Linux safe for the enterprise.'"
The OpenStack debacle
Fast forward to 2014, and Red Hat is again on the ropes for doing largely the same thing it did back in 2003: get serious about making software safe for enterprise use. As Red Hat has publicly stated, "users are free to deploy Red Hat Enterprise Linux with any OpenStack offering." What they're not free to get is the blessing of Red Hat's certification of such technologies and the support that follows.
Arguably, Red Hat could have handled the PR mess a bit more cleanly. But then, it's doubtful whether its critics would have been satisfied no matter what Red Hat said or how smoothly it was articulated. Regardless of whether free software advocates like Richard Stallman insist that free (and open source) software is about "free as in freedom, not free as in beer," take away the free beer and some will always complain.
But is it? Red Hat has gone on to clarify (and again... and again) that the reason it won't support rival OpenStack distributions is that it needs to take responsibility for the product it delivers to the market. For RHEL customers, this means it needs to ensure it can effectively stand behind the software it certifies to run on RHEL. Arguably, it can't do this for rival OpenStack distributions.
As Red Hat executive Tim Yeaton commented:
"The relationship between Linux and OpenStack is... really quite simple: applications run on Linux guests, such as RHEL. Those guests in turn run on hypervisors. Hypervisors are managed by OpenStack, which is a cloud management control framework. And elements of that OpenStack framework, called nodes, happen to also run on top of Linux as well. These are two very distinct roles for Linux....
"What customers care about are applications, and the ability to run them with confidence about quality, security, performance, and meeting SLAs. That is where our certification is extremely important, and we have hundreds of engineers, hundreds of millions of dollars invested, and more than 12 years experience. When we certify, we are validating that we can test, then subsequently provide mission-critical support for the interaction between the application, the RHEL guest, and the hypervisor. This is why we certify RHEL guests to hypervisors, 'not to OpenStack, per se.' The guests simply don't interact directly with the underlying OpenStack services."
But let's say all of this is wrong. That Red Hat is, in fact, choosing not to support rival OpenStack distributions because it doesn't want to help a competitor. This may not appeal to open-source purists who want peace, love, and Linux, but it's standard operating procedure for most technology companies, and it's consistent with open source, too.
There is no requirement that an open-source project or an open-source vendor support competitive projects or companies.
This, too, shall pass
OpenStack is coming up on its fourth year, and it has roughly 500 deployments, most of them run by small companies. Adoption is still so small that IDC doesn't even have market share data for it. It can't round down that low.
Part of the problem, as cloud expert David Linthicum points out, is that OpenStack still lacks some critical infrastucture that no one in its thriving community wants to build, largely because it's "pretty boring." Well, we know how the Linux community took care of "boring" code: companies like Red Hat — and particularly Red Hat — got involved and paid developers to write the boring code.
OpenStack needs the same. It needs a dominant vendor like Red Hat to ensure that the the engineering, marketing, and sales of OpenStack get handled in a professional manner. Along the way, Red Hat or any serious OpenStack vendor will need to make some unpopular but important decisions.
This may be Red Hat's next billion-dollar moment. And it could be the best thing that could happen to OpenStack, even if it means the community becomes a bit less free-wheeling and a bit more grown up. OpenStackers won't like to hear this, but neither did the Linux community 10 years ago.