I just removed myself from every OpenStack mailing list and meetup. I’m sure I’ll still use it, but I don’t see myself as part of that community any longer. When I was at DreamHost, I really felt like part of that community and that I could help make it better. However, in the three years since I’ve left DreamHost, I have made zero impact and I’m tired of pouring effort into a community that is primarily Buisness Development/Lead Generation, followed by ecosystem echo chamber development, and thus getting nothing out of it. This past summit in Vancouver had a talk entitled “OpenStack is doomed and it’s your fault”. This was not an ironic talk. I agree with 90% of everything said in that talk.
OpenStack was started by two operators: NASA and RackSpace. It was driven by operations, until about the third summit. Then the developer echo chamber took over. There were fist-fights about using git vs bzr. I’m not kidding. We should have known then that this was a problem. Operations was pushed over the wall, followed shortly by every “hard” problem.
Everyone says the great things about OpenStack is the Open APIs. But, Stefano’s recent blog post “The hard life of OpenStack developers” shows that the API is a nightmare. It’s inconsistent, poorly documented, has many subtle permutations, and is not discoverable. To those of us who have been trying to deploy or operate an OpenStack cloud, this is not news.
Speaking of operators: for a project started by operators and administrators they are at best second class citizens in the OpenStack community. The metric of your status is how much code you get commited to the so-called “Core” projects (until recently, now “core” projects have the same weight as everything else, but it’s still all about code). Operators barely get any, because our day job is to keep it running. Those sorts of fixes tend to be thrown out by the development community for stupid reasons (refactoring and “cannot duplicate on my single node laptop” being the big ones). Because of that operators have very little voice. I’ve spent four years trying to bring attention to the fact that the Operators have feedback about the OpenStack development, and that Operators have massive pain points about OpenStack. I failed completely to have any meaningful changes brought about, other than acknowledgement that operating OpenStack is hard.
Despite most operators not getting free admission to the increasingly more expensive OpenStack summits, some of us went and then discovered even deeper problems. The summit starts, and the siloing begins. Each of the key developers go off into their rooms with the other key developers from that project. There is next to zero cross-project communication. How many summits did it take for everyone to know that Keystone was implementing a 3.0 API version and deprecating the older versions, much less implementing it in all projects? (Spoiler alert: not all projects support Keystone 3.0 API to this day)
Everyone I know who is deploying OpenStack has forked. Not publicly, but they have. No one can run the mainline code, it’s a disaster, and OpenStack politics of the “Big Tent” are going to make that problem a lot worse. Because everyone has their own fork, very little code is making it back upstream. Several of my last jobs, I tried to make OpenStack upstream better. To tell you how well that went, look at my stackalytics profile (if I even have one any more). I haven’t committed code in over three years, and I wanted to help. I tried to help. I failed.
At the end of the day, participating in OpenStack was a not enjoyable. It felt more like managing a massive software project at a huge enterprise organization where every “project” was a different department, as opposed to feeling like an open source project where people could make a difference. It was a full time soul-sucking job, and today I resigned. I’m going to miss hanging out with a lot of my OpenStack friends, but the summit early next year is in my home town and I’m looking forward to sharing the joys of Austin with them while they are here. I’m also going to enjoy not having come with with a reason to attend the summit for a full week, and that sign alone meant it was time to go.