By, Gordon Haff, Cloud Evangelist, Red Hat
January 27, 2014
In spite of its considerable momentum, there are still skeptics about whether OpenStack will ultimately succeed. My colleague Bryan Che tackled some of that skepticism in a blog post late last year and I'm not going to rehash his arguments here. Rather, I'm going to make some observations about how OpenStack is paralleling and will likely continue to parallel the adoption of another open source project that I think we can all agree has become popular and successful—namely Linux.
1. Part and parcel of a new approach to computing
Linux came about at a time when computing was changing. It had become distributed and the rise of the Web was leading to new functions and new requirements. Much of Linux' early-on growth came from powering new Internet infrastructure. It was from that beachhead that Linux branched out into more traditional enterprise operating system roles. Similarly, OpenStack is part of the cloud computing wave which is characterized by new levels of standardization and automation combined with an on-demand and self-service approach to delivering computing resources to users.
2. Adoption rates won't be uniform
Linux early adopters were often Internet hosting providers and other technically savvy technology consumers. Early OpenStack adopters fit a similar profile. In fact, the OpenStack project was originally founded by NASA and Rackspace, a hosting provider. Other early users of the technology include organizations such as financial services firms seeking to bring public cloud computing benefits into their own datacenters for a more flexible infrastructure that remains fully under their control. Mainstream enterprise adoption, especially for workloads that aren't cloud enabled, will follow over time.
3. It takes time
And, in general, adoption of new technologies always takes place over years. Depending upon how you count, significant Linux adoption by mainstream enterprises took up to a decade from its inception. Many considered the Linux 2.4 kernel to be the first one that was “enterprise ready” (whether or not they were able to define what they meant by that term) and that didn't appear in commercial Linux distributions until about 2001—well after Linux was already in widespread use for Internet infrastructure. That's not to say OpenStack's timeline will be so extended. Today, open source software is widely accepted within enterprises in a way that wasn't the case c. 2001. But no technology gets adopted overnight. (Even x86 virtualization took perhaps five years to become truly widespread.)
4. About community as much as technology
Early Linux success didn't come about because it was better technology than Unix. For the most part it wasn't. Rather it often won because it was less expensive than proprietary Unix running on proprietary hardware. It also gave users a choice of both distributions and hardware vendors as well as the ability to customize the code should they so choose. However, what has truly distinguished Linux and open source broadly over time is the power of the open source development models and the innovation that comes from communities around projects. Today, across major areas of the market such as infrastructures for handling high volume data, open source technologies are behind most of the ongoing rapid change. That's the case with OpenStack as well. There are other cloud infrastructure projects—some of which arguably have a head-start in commercial deployments. But it's OpenStack that's garnering the most industry attention because OpenStack has the biggest and most diverse community.
5. Open source development is an incremental process
One of the knocks one hears about OpenStack is that it's not mature. It's not. And indeed this is a common refrain about many early-stage open source projects. Of course, early versions of proprietary products aren't necessarily mature either. But, usually, the company developing proprietary software has at least made an effort to release something that's complete and functional. Open source, on the other hand, is a much more iterative process beginning with early code that is not only immature but which has clear functional gaps. This was the case with Linux that began life as essentially a hobbyist operating system before evolving into something appropriate for Internet infrastructure and finally into an operating system capable of handling the most demanding enterprise workloads. OpenStack will follow a similar trajectory.
6. Commercial distributions make consumption by businesses possible
One of the important steps that needed to happen in order for Linux to be accepted into mainstream enterprises was that it had to be made available as a commercial product. Most enterprises aren't interested in consuming open source projects—especially for production workloads. They want products, which is to say bits that are thoroughly hardened, tested, documented, and supported. They want ecosystems around those products including whatever certifications are required. Likewise with OpenStack, some early adopters are working directly with and even contributing to the OpenStack project but most enterprises are looking for a OpenStack product such as our Red Hat Enterprise Linux OpenStack Platform. (RDO is the community for people using and deploying OpenStack on Red Hat Enterprise Linux, Fedora, and distributions derived from these such as CentOS.)
7. Need for complementary components and integration
Customers don't buy infrastructure for the sake of buying infrastructure. An obvious statement perhaps but one that nonetheless sometimes seems to be forgotten. Linux succeeded because it became a great platform on which to run everything from networking services to line-of-business applications. Linux distributions include many of the open source components needed to build highly functional infrastructure; the Apache Web Server was an important early-on component. But the availability over time of additional software needed by enterprises, including proprietary software, is what made Linux an integral part of the software stack at so many organizations. Similarly, OpenStack will increasingly include many of the components needed to build IaaS infrastructure. However, complementary products such as cloud management platforms (e.g. Red Hat CloudForms), application lifecycle management (e.g. Red Hat Satellite), and PaaS (e.g. OpenShift by Red Hat) are needed to build and manage a complete hybrid cloud. And, of course, that cloud also needs an operating system to support the applications running in the cloud—a role for which Red Hat Enterprise Linux is ideally suited.
One thing is much different from the early days of Linux adoption and today's OpenStack. The environment is much changed. Then, open source was still a new concept to many. Major proprietary software vendors did their best to convince customers that open source was somehow riskier than their own products. Good open source project governance, licensing, and development practices were being learned, often by trial and error. Today, as can be seen in the pace of OpenStack's advance, the milieu is vastly different. Open source software is ubiquitous and it's widely recognized that open, collaborative approaches are often just a better way to develop software. One need only look at the membership of the OpenStack Foundation to see just how many major IT vendors and how many individuals recognize this to be the case.
 In this context, by Linux I'm referring to the entire distribution/operating system as opposed to just the Linux kernel because, this is the more appropriate comparison given that OpenStack is made up of a number of sub-projects.