Call me a bore, but Open Source Governance models would be my “Specialist Subject” on a quiz show. It’s not that I have studied Open Source Governance, it’s more that I have lived it. A s a member of the Board of Directors of Eclipse I worked extensively with both Skip McGaughey who originally set up Eclipse as an entity inside IBM, and with Mike Milinkovich who took it over as an independent entity, and I know the pain that the originating organization has to go through to let go of its baby, and the pain that an independent director goes through to finally wrest the baby from its parent’s grasp, and the benefits to the originating organization and to the community at large when it all happens. I also know that Rackspace has gone through none of that pain in setting up OpenStack, it has got the OpenStack governance model spectacularly wrong, and as a result the whole initiative is in peril.
The OpenStack Governance Document bears an uncanny resemblance to George Orwell’s Animal Farm. You may remember that various animals got together to throw out the humans with the slogan “All Animals are Equal”, but that over time the slogan migrated to “All Animals Are Equal, but some are More Equal than Others” as the Pigs gained control and became indistinguishable from the humans they threw out. OpenStack was created with a similar sentiment: let’s throw out Eucalyptus and create a community programme where all contributors are equal. What has emerged in the governance model is “All Contributors are Equal, but Rackspace is more equal than others”. All the key positions, and a majority on the decision-making bodies are reserved for Rackspace. Rackspace, like the Pigs in Animal Farm, has subverted the revolution.
You can see this mindset clearest by comparing the language of the Rackspace governance model to those of Eclipse.
- There is no reference to IBM or to any other vendor in any of the half dozen founding documents of Eclipse.
- Line 1 of Section 1.1 of Article 1 of the Bylaws says “The Eclipse technology is a vendor-neutral, open development platform “
- Rackspace is mentioned 12 times in the OpenStack Governance Document. No other vendor is mentioned.
- First Key Principle says “The community will be involved in the design process. The community will have representation throughout the governance structure. “ So if the Community has “Representation”, who has Control. The answer is Rackspace, who in truly Orwellian double-speak are not part of the Community.
You can see how much control-freakery is embodied in this document by counting the number of Rackspace appointees on the OpenStack Architecture Board. Not only are the Chair and the Chief Architect appointed directly by Rackspace, but 3 additional members are appointed directly by Rackspace, meaning that the 4 independently-elected Community members (even if they could agree) could never form a majority.
It should be fairly obvious that in a collaborative program of this nature, where you wish competitors to collaborate on issues of a common interest, it is incredibly stupid to bias the governance model to one competitor over any other. It simply isn’t safe for competitors to collaborate under these circumstances. These were the issues we went through at Eclipse in ensuring it was safe for IBM and HP and Oracle to sit around the table together for the benefit of the industry. That’s why you end up with vendor-neutral governance.
However, there are two other reasons why the OpenStack governance model is incredibly stupid.
1) There is actually no need to gain control explicitly. You control by contribution. Since Rackspace contributes most it will gain most control. In fact, in Eclipse we went through a whole raft of measures to ensure that IBM didn’t get the control it deserved for the level of contribution it was making. This sounds perverse, but Eclipse structures are set up to preferentially over-represent smaller contributors. Committers (i.e. active developers) are given only one vote per company in determining community representation. This means that even if IBM has 200 developers, their community representation is the same as one individual working from home on his own account. What’s more, once a company reaches a certain threshold of contribution (around 7 developers and some project leadership roles) it gets exactly the same level of corporate input to the governance process as IBM who may have those 200 developers and run a dozen projects. Despite these rules, IBM was able to exert enough control in the detailed project substructure inside Eclipse to enure its objectives were met.
2) Rackspace doesn’t actually need control to satisfy its business objectives. IBM, certainly at the time it set up Eclipse, didn’t make money out of tools. Their role was and still is to sell platforms, notably WebSphere. All IBM actually needs is for something like Eclipse to exist and to exert enough control to ensure it meets the needs of WebSphere. The same is true of Rackspace. It will never sell and make money out of OpenStack. All it needs is to make sure the project is successful and retain enough control over the project to ensure its own needs are met. If someone else wants to take the project in additional areas that should be fine. Over time there need be proportionally very few Rackspace developers left on the project.
So our suggestion to OpenStack is to take their Governance model, rip it up and start again. And this time make sure that not only the Pigs write it, but all the animals get a look in too.