Last month, I wrote a post discussing the parallels between OpenStack and Linux. Briefly, these are the following:
- Part and parcel of a new approach to computing
- Adoption rates won’t be uniform
- It takes time
- About community as much as technology
- Open source development is an incremental process
- Commercial distributions make consumption by businesses possible
- Need for complementary components and integration
A number of folks have pointed out that there are differences too. To which I say "I agree!" From my perspective, here are five of the most salient deltas.
1. Open source is now ubiquitous and part of the landscape. In 2001, Microsoft CEO Steve Ballmer was giving interviews like the one he gave to the Chicago Sun Times in which he said "Linux is a cancer that attaches itself in an intellectual property sense to everything it touches." In 2001, Gartner analyst George Weiss was writing that between 2003 and 2005, "enthusiasm for Linux will increase selectively... However, their enthusiasm will be tempered by the entrenched position of Unix, which has already achieved mission-critical scalability and availability, by the strong Windows 2000 upgrades in the pipeline, and by the potentially heavy cost of migrating to Linux." My point here isn't to pick on anyone in particular (well, maybe Steve Ballmer) but to highlight that, circa 2001, Linux and open source generally faced an environment that ranged from skeptical to unremittingly hostile outside of (mostly) leading-edge technology adopters like Wall Street. Today, by contrast, open source is used widely--ubiquitously even--and companies like Google and Facebook would not even be feasible in open source's absence. In short, OpenStack's birth and maturation is taking place in a much more welcoming environment than did Linux'.
2. Open source is in the enterprise. And not just some enterprises in some industries. According to Red Hat's data, "more than 90% of Fortune 500 companies use Red Hat products and services." That's just Red Hat. (And, one suspects, there are open source pockets at most, if not all, of the remaining 10 percent.) Here's what Gartner is now writing about open source software in their Hype Cycle for Open-Source Software, 2013:
Continuing a trend over the past 10 years, the open-source software (OSS) model continues to expand and affect market segments across nearly the entire IT industry spectrum. For example, Linux was the first widely acknowledged success of open source in many IT organizations, and it remains the flagship of OSS success; however, the list of "industry-changing" OSS solution continues to grow year after year as well. Today, projects like the Apache Web Server, the JBoss Application Server, MySQL RDBMS, Eclipse IDE, MongoDB, and many more show the broad influence that OSS continues to have on the industry as a whole.
3. Open source is driving innovation. Historically, open source was more about commoditizing and democratizing technology approaches that already existed and were proven in the world of proprietary software. BSD and then Linux did so to proprietary Unix but they are hardly the only example. OpenOffice, the Apache web server, and MySQL database all didn't initially drive the state of the art forward so much as they drove price points dramatically downwards--and thereby greatly increased the number of people and organizations that had access. This dynamic remains true for some open source software, but the collaboration that the open source development model makes possible is now driving industry innovation in so many areas. In data storage and analytics, almost all of the interesting new approaches are in open source. And that's true also with building IaaS clouds where OpenStack is gaining so much attention. OpenStack isn't about mimicking a proprietary IaaS. There isn't such a thing outside of a few big public cloud providers (and, with the exception of Microsoft, they all make extensive use of open source as well).
4. OpenStack is for the datacenter. So far, I've mostly discussed how the milieu in which OpenStack plays is different from the one in which Linux operated at first. There are some differences in the projects themselves too. Linux has probably had its greatest impact as a server operating system, but there's nothing inherent to Linux that limits it to that role. Indeed, the fact that someone could spin up Linux on an old PC and tinker with it arguably had a great deal to do with its grassroots encroachment into the server room. In the modern era, variants of Linux appear in everything from mobile devices to Mars Rovers. OpenStack, designed as it is for datacenter infrastructure, is more expressly tailored to run on a (moderately large) pool of servers. It's also more likely to enter the datacenter by the front door as a result.
5. The OpenStack community is different from the Linux kernel one. Finally, it's worth observing that the OpenStack project's organization differs significantly from that of the Linux kernel. There are some similarities in that large commercial organizations (not least of all Red Hat) make significant contributions to both projects. But the Linux kernel runs as a sort of "benevolent dictatorship" (reflecting its roots) while OpenStack is governed by a foundation established for the project (reflecting its establishment primarily by a number of companies coming together). The difference also reflects how the Linux kernel has a singular identity and purpose while OpenStack is more of a framework for a number of sub-projects and includes more rapidly changing technology. In some ways, OpenStack looks more like a distribution than a single open source project--although that comparison fails in a number of respects as well.
Different doesn't mean better or worse. It means different. I always favor looking for historical parallels because they can be instructive and offer a window to the future. It's equally important though to understand the differences in the environment between yesterday and today, as well as between the things being compared themselves. In the case of Linux and OpenStack, there are lessons to be drawn for OpenStack by looking at Linux adoption so long as they're not slavishly drawn.