Citrix has given up Project Olympus which was based on the Open Source OpenStack platform in favor of its own Open Source CloudStack initiative (formerly known as Cloud.com), which it is contributing to the Apache foundation and has re-licensed under the partner-friendly Apache Open Source license (rather than the GPL).
This is a fairly spectacular tectonic plate movement in the world of IaaS clouds, something that it was perhaps difficult to predict in detail, but which should be seen as an inevitable consequence of tensions which we identified some time ago.
There are two main themes running through the marketing spin around the transition, both of which we explored in detail as long ago as 2010.
- The OpenStack Governance Model (see RackSpace Hijacks OpenStack)
- The standardization of APIs (see Eucalyptus 2.0, and the stalled debate on Cloud API Standards)
If you join the dots, you get the following story:
Citrix wanted to ensure the Amazon AWS APIs were fully supported and developed in OpenStack. Through its skewed governance model, RackSpace has effective control of the project and said “no” because it doesn’t want to do anything to benefit its number one competitor.
For the uninitiated, the Open Source Governance issue turns out to be at least as important as the open/closed source distinction. To viably relicence Open Source technology that you haven’t yourself written you typically need two things
- a permissive license (otherwise you pretty-much have to open source your entire codebase)
- a governance model which allows you to effectively contribute to and influence the direction of the technology. Otherwise you may need to fork the codebase to get it to do what you want, and you end up supporting the entire codebase, not just the pieces you wrote yourself
Now, to be fair, there was always a bit of an issue with Citrix running two Open Source initiatives. Before acquisition by Citrix, Cloud.com had already joined OpenStack (a move that we likened to a Drowning Turkey voting for Thanksgiving – for which we subsequently apologized in Why Cloud.com is not a Drowning Turkey), but there is overlap in the functionality in the codebase and it didn’t really make sense for the codebases to co-exist for ever in the same company. Plus OpenStack is in Python and CloudStack is in Java, so it would be a case of fairly course-grain modules interacting.
The peculiarity of all of this is that when we looked at the OpenStack architecture there didn’t seem to be enormous technical barriers to it supporting multiple APIs, and if you are looking for governance, well it’s not as though there is any governance over the Amazon API other than Amazon publishing a new revision.
In fact, if it’s governance and API compatibility they were after, Citrix could have equally as easily thrown their weight behind an Red Hat’s existing DeltaCloud API project which is already at Apache, and already a mature project (unlike Cloudstack which will be an incubator). It’s designed to provide a neutral API that can map into multiple other APIs including AWS.
The reality is that nobody really cares about DeltaCloud because it’s yet another API. It’s a bit like asking your children to learn Esperanto – a language that people only speak to communicate with people who don’t speak their language. Far easier to persuade them to learn one or two languages properly. We are fairly clear there will always be more than one IaaS cloud API, but ultimately the choice will be made by the consumers of the API who are generally not end-users, rather they are tools vendors (and PaaS vendors) many of whom have become adept at dealing with differences between APIs in their own abstraction layers.
So, the API thing may be a bit of a red herring, or more likely an example being presented to the media as symptomatic of a more general problem. It does seem that the governance problem is at the heart of this. We fired a real broadside at RackSpace about this back in 2010 (we said it had “got the OpenStack governance model spectacularly wrong, and as a result the whole initiative is in peril“, words which seem oddly prescient today) . To be fair Rackspace did engage with us off-line about this, and subsequently things have started to change. Things may well, however, have actually been brought to a head by the recent changes to the Governance model.
My background (as many readers will know) is in Eclipse. In our 2010 post we noted
“There is no reference to IBM or to any other vendor in any of the half dozen founding documents of Eclipse.”
“RackSpace is mentioned 12 times in the OpenStack Governance Document. No other vendor is mentioned.”
The actual documents are not published yet for the new Governance model, but we don’t see a bias towards RackSpace in the same way as previously. What we do see very clearly is that Citrix had to do something or ‘get off the pot’. Basically Citrix had to commit to assign an attorney to participate in a committee to draft governance documents and in due course
- provide ongoing contributions to the OpenStack project (such as code, designs, test plans, documentation)
- pay $0.5M each year to OpenStack
- appoint an individual to serve on the Board of Directors of the Foundation
and the deadline was… April 5th 2012. What’s the date of this post, by the way?
There are perhaps some issues in the new OpenStack governance structure that we will want to concern ourselves with as the details emerge
- The balance of power of Platinum (i.e. very large company) sponsors over Silver (i.e. potentially smaller) sponsors and Individuals
- The speed of transition from existing structures which have RackSpace dominance
- There is no bonfire of the incumbents
However, there is another interesting question about Citrix’s motivation in moving CloudStack to Apache. Apache is full of great projects that I know well and use frequently, but it is also a “sink or swim” place for company-sponsored open source initiatives (like OpenOffice) where the company has moved on to other things. Maybe Citrix is looking at drowning the turkey after all.