Since people seem to be reading whatever they want into my blog post, I wrote an addendum.
I want to start this out by saying that Rackspace is primarily full of good people trying to do the right thing. I don’t see evil intentions anywhere. Even though I left, I still want Rackspace and openstack to succeed. In fact, I think the industry needs them to succeed.
I think that Rackspace needs to make some changes to ensure that success. I left because I had a great opportunity at Cisco, and because I was not able to effectively lobby for those changes from the inside. So, I will try to do so from the outside.
Here are the issues:
Influence over Control
“In my experience, attempting to retain control of a project you’re starting or hosting leads to mistrust, contention and a rules-based focus that diminishes your reputation. Relaxing control will lead to the community innovating and growing in ways you’ve not anticipated, as well as enhancing your reputation. As I’ve frequently said (although less frequently been heeded): trade control for influence, because in a meshed society control gets marginalised while influence delivers success.” —Simon Phipps
I think that Rackspace is trying to control Openstack rather than influence it. A perfect example is the recent change in governance. I responded at the time here.
Basically, Rackspace made governance changes without talking to the development community or the sitting governance board. This is extremely problematic for the health of the project. If Rackspace can make this kind of unilateral move now, what is to stop them from doing it again, if the governance does not suit them. There should be no change in governance without the current governance board approving it. This is necessary for the governance to have any validity. The sad thing here, is that the governing body would have probably approved it with only minor changes. The changes are for the most part good, but the process shows a serious flaw in Rackspace’s thinking.
Rackspace has a choice to make; they can try to control the project and eventually fail, or they choose to influence it and succeed.
At the beginning of the project I wrote a promise of openness. I promised that all project meetings would be done in the open and recorded. To use the governance changes as an example again, where are the open discussions? One can only assume that private meetings were held to discuss and decide these changes, before they were released on the community. As a project we have to live up to the promises we make. Everything that involves the community should be publicly discussed and debated.
Technology not marketing
In my opinion, one of the things that led to the poor process used for the governance changes was that they were overreacting to negative blogs about Rackspace’s purchase of Anso Labs. This is indicative of what I see as a problem of focus. Rackspace seems to view this as a marketing and PR property, when in fact, it is a technological endeavor. That the people “in charge” of the project, from the Rackspace side, are marketing and business development folks reinforces this idea.
I think that the PR effort around Openstack has had a tremendous effect on its success thus far, but it is adjunct to the project and not the meat of the project. The one actual problem that I have with the substance of the governance changes, is that I think it creates many weak technical leaders with very short terms. Unless Openstack is lead by a strong technical team, it will ultimately fail.
Community means participation
One thing that I think has been wrong from the start of Openstack is the definition of community. Community is not a list of partners. In fact, the participation of most of the companies listed on the openstack community webpage started and ended with a press release. I do hope that they will all start participating, though. If there is anything I can do to help anyone contribute, please contact me.
The community is composed of two sub-communities:
- The user community, made up of people and organizations that are implementing some part of Openstack
- The developer community, made up of developers, testers and documenters
To become part of the community it is not necessary to “partner” with anyone. You just need to participate. Participation can come in many forms, bug reports, documentation, development, even just attending an IRC meeting and voicing your opinions. There are good reasons to partner with Rackspace and their new Cloud Builders group, but it is not necessary to participate in the project.
Foundation, Foundation, Foundation
Rackspace, please put the code into a non-profit foundation. Putting the code in a foundation similar to the Linux Foundation, is good for everyone. IANAL, but I believe it protects Rackspace from some types of legal liability, spreads out the cost of running the project, it shows that Rackspace understands that it doesn’t actually own the project, and it protects the project from management changes and changes of priorities at any one company. Most important of all, it encourages an ecosystem to develop, by placing everyone on fair and equal footing. This article says it better than I can, and is written by someone that understands it more.
There has been a push to expand the project by letting other projects join. I don’t think any should yet. Until the project is a foundation, joining Openstack is akin to giving your project to Rackspace. What happens if Rackspace is under new management, say Oracle, for example? A foundation fixes that.
I’m still going to work on Openstack
I plan on sticking around and working on Openstack. My level of involvement depends on what the community wants. I have been nominated for the new governance board and the nova project lead. Whether or not I am elected to either, I will push the agenda I have outlined in here to the best of my ability.