OpenStack - Why democracy beats dictatorship in the cloud
By giving control to experts in particular fields, the OpenStack Foundation hopes to get the best out of its community
It is two and a half years since Rackspace and NASA launched the OpenStack infrastructure-as-a-service (IaaS) cloud computing project, and since then the community has grown from 20 developers and 15,000 lines of software to 600 developers and 600,000 lines of software.
One might think that having so many developers working on one project would be a recipe for chaos, but when Techworld met up with OpenStack Foundation executive director Jonathan Bryce and COO Mark Collier in London this week, they insisted that democracy in the cloud is better than dictatorship.
“Dictatorships are almost always better for the dictator, and almost never better for anyone else. In a democracy, the people have a lot of power and they tend to be happier and it leads to a better society – it's a better model for the users,” said Collier.
Related Articles on Techworld
Leadership vs tyranny
The OpenStack Foundation launched earlier this year as a stand-alone nonprofit organisation, freeing its namesake stack of open source cloud hosting software from the management of hosting provider Rackspace.
Rackspace loosely oversaw the community development for the first two years of the project, though last year the project leaders decided that the open source software would be better managed in a vendor neutral setting – much like the Linux Foundation oversees the Linux OS kernel.
Bryce said that the lack of a dictator does not mean lack of leadership, and moving the project forward is about leadership not tyranny.
“At a very basic level there's a division between technical decisions and non-technical decisions,” he said. “Technical decisions are driven by the development community – by the people who are contributing to the software. The software's broken up into specific projects and teams, and each of those teams has a leader who gets to make hard decisions.”
Bryce said that the scope of OpenStack is quite a bit larger than any of the other cloud computing projects out there, as it is not focused on just a virtualisation compute engine, but also includes multiple types of storage and networking as well as identity management.
“By breaking it down like that, rather than just a dictator who is supposed to be responsible for all of this, we have these teams where leaders emerge who are experts in that specific area.”
For example, Bryce said that the Project Technical Lead (PTL) for OpenStack's 'Quantum' networking project is Dan Wendlandt – one of the early engineering leaders at Nicira (the network virtualisation company that was recently acquired by VMware).
“He is one of the guys who basically invented the concept of software defined networks – that's a pretty good guy to have leading your networking project,” said Bryce.
Although the PTL is a volunteer position, Bryce said that there is a great deal of prestige attached to it. PTLs are all part of the Technical Committee, which provides the top level of governance for all of the technical decisions and projects associated with OpenStack.
OpenStack in the wild
OpenStack's free open source software is released under the terms of the Apache License. The most recent iteration of OpenStack, known as Folsom, was released in September. The aim of the project is to enable any organisation to create and offer cloud computing services running on standard hardware.
Bryce said that there is a very defined process for how code actually makes it into the central repository. While most open source projects have five or six people who contribute, OpenStack has hundreds every month, so it is essential to spend a lot of time on the review process and automated testing.
“If I submit a patch, there will probably be five or six different people who will look at it and make comments on it, and two of the core developers will have to approve every code submission that comes in,” he said.
“One of the things that's pretty neat is when code submissions come in, we take the new code and combine it with the existing code and stand up an OpenStack cloud running that new version of the code, and run a whole suite of tests against it. So everything gets tested very extensively with all the related software before it goes in.”
Bryce said that testing is one of the areas where open source projects that rely on a single leader or “benevolent dictator” fall behind – because that one person cannot review all of the code themselves, and it can be difficult to build enough trust with other people to delegate quickly.
“That's why we try to break things into focused pieces, get the experts that are out there working on those pieces and grow like that,” he said.