OpenStack is an open source Cloud platform effort that brings together hundreds of contributors, primarily from large and small software vendors. Founded by Rackspace and NASA, OpenStack is now starting to reach a useful level of maturity, as the OpenStack community hammers out compute, network, and storage capabilities that any Cloud provider could implement.
In fact, the OpenStack community goes beyond describing its platform simply as the OpenStack Cloud platform — they typically consider it a Cloud operating system. From its Web site: “OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.”
From that description it appears that OpenStack is an operating system in the sense that it’s a system for operating pools of Cloud-based resources. That’s true enough — but the phrase operating system comes with plenty of baggage that indicates a different meaning altogether. However, instead of differentiating Cloud operating system from the CPU operating system we recognize as the common meaning for an OS, many members of the OpenStack community actually describe OpenStack as the Linux of Cloud.
Great marketing slogan to be sure. After all, what Cloud product wouldn’t want to be the Linux of Cloud? But let’s take a closer look to see just how well deserved this moniker actually is.
How OpenStack is like Linux:
- It’s open source
- It follows Eric Raymond’s “Bazaar” approach to development, with a broad, diverse community of developers
- It “runs” Cloud resources kind of like how Linux “runs” applications
- It handles underlying support technologies similar to how the Linux kernel deals with networking, device drivers, etc.
How OpenStack is not like Linux:
- For many years, a single individual drove Linux development. Vendors began to contribute only after it was mature. With OpenStack, vendors jumped in much earlier.
- Linux is licensed under the GNU General Public License while OpenStack follows the Apache license. This distinction means that anybody can build proprietary commercial products on top of OpenStack, while Linux variants must all remain open source.
Perhaps the final bullet is the most telling: if OpenStack were really like an operating system, then there would be little commercial motivation to build proprietary products on its codebase. After all, what Linux user wants a proprietary operating system? But from the perspective of the vendors in the OpenStack community, they are perfectly happy to support a team effort in building the nuts and bolts, because they all know they can build a proprietary offering on top of it.