When we heard the news of today’s announcement by Citrix, that they will be contributing their CloudStack cloud orchestration software to the Apache Software Foundation, we were impressed, excited, and inspired. We were impressed by Citrix’s wisdom to see that this move could significantly further the adoption of their already successful CloudStack and by their bold decision to follow through with the idea. We were excited to see that our choice of open cloud orchestration platforms will see further growth and maturity as a result. Finally, we were inspired by Citrix’s commitment to the open source model to consider ways in which Go Daddy can also do more of the same.
Our Beginnings with CloudStack
To better explain where we are coming from, let me first give a bit of background on our history with CloudStack. We encountered CloudStack while evaluating approaches to building our new IaaS offering. While we are a fairly unique case, as one of the largest traditional hosting providers in the world, I’m sure that the logic of our decision is still illustrative of the importance of an open model to other companies looking to enter the growing cloud market or to leverage cloud technologies in-house.
We had three main options before us. We could either (a) build it entirely ourselves, (b) leverage a proprietary vendor solution, or (c) leverage an open source solution. As a large technology company with plenty of development talent, option (a) was entirely within our reach. However, cloud orchestration solutions are quite complex to build and we wanted to find a way to accelerate our entrance into the IaaS market. There were several large vendors courting on us to partner with them along the route of option (b). However, in our decade of experience building various large-scale provisioning services, this route tends to result in interminable struggles with buggy black box software that often constrains more than empowers. Assuming we could find a candidate solution that was mature enough to meet the requirements, option (c) was the most appealing choice. An open source solution could accelerate our development cycle, while still enabling our developers to get inside the code when needed to troubleshoot issues, to extend functionality, or to integrate with our existing systems.
At that time, Cloud.com had not yet been acquired by Citrix. We worked with their team to thoroughly evaluate CloudStack — inside and out — and determined that it would be an excellent fit as a foundation to our new product offering. What’s more, we were pleased to learn that CloudStack already had quite a few significant production customers and that the software had already matured through a couple of major revisions.
Relative to the other open source options on the market — which either lacked maturity, had far more hype than substance, or both — CloudStack was the clear choice.
Building a Public Cloud with CloudStack
The process of building our IaaS offering on top of CloudStack thoroughly validated that we had made the right choice. As hoped, the use of the CloudStack solution helped significantly accelerate our development cycle — and more importantly, allowed us to focus our efforts primarily on differentiating features (i.e., our gorgeous and easy to use user interface), on evaluating and selecting our particular server, storage, and network configurations to create both a market-leading customer experience and a compelling value proposition, and on integrating with our existing systems (i.e., our in-house built cloud storage system and existing billing, support, and operational management systems, etc.) Buoyed by their commitment to openness, the Cloud.com development team was very receptive to working with our developers to address any issues we found (there are always issues), or to discuss our decisions to extend or adapt any part of the system to meet our particular needs.
From Open Source to Open Community
If we saw any shortcoming to our choice of CloudStack, it was that the development community was still solely run by Cloud.com, and later, by Citrix.
While we admittedly have not historically contributed a large amount of software back to open source projects, we have more recently become increasingly convinced as to the importance of doing so — both to help ensure the continued health and maturity of the open source projects which power our business every day, and as a result of directly observing the positive effect that an open model can have on the quality of software produced, as well as the attractive business economics of working with a larger community of developers.
In recent quarters, we have been seeking ways to increase our involvement and contributions to open source initiatives. For example, we have been involved with and making contributions to WordPress, Apache Traffic Server, and to a number of other projects — with more development efforts and financial contributions on the way.
However, even though our developers may now be the team second-most familiar with the CloudStack code base (and the Cloud.com team repeatedly tells us they would love to have more contributions from our highly talented development team), we found ourselves somewhat de-motivated to contribute back to the project. Despite the fully open source model and the open attitudes from the Cloud.com team, we understood that the direction of the project was still wholly governed by Cloud.com, and that our adaptations or roadmap ideas would always have to contend with the other business forces upon Cloud.com and now Citrix. As a result, our participation in the development community of CloudStack was a bit lackluster. I’m sure that other would-be contributors probably experienced much the same thing.
However, under the meritocratic governance model of Apache Software Foundation, which has proven to be enormously effective for many highly successful projects, CloudStack is taking the important step from open source to open community. Now, any company that wants to engage in the CloudStack community process is free to do so — with full confidence that their ideas will be heard alongside everyone else’s, and that a single company’s perspective won’t dominate the vision and roadmap for the project. This move will surely encourage companies to get involved who were otherwise inclined, but de-motivated by the closed community.
Hats Off to Citrix for Open Cloud Done Right
Citrix has always been a company that has aligned itself with the open source philosophy. Their engagement with CloudStack continues to demonstrate as much.
When Citrix acquired Cloud.com for their talent and technology, this impressed us as a wise move. While other open source cloud orchestration technologies were getting the better part of the media attention, these projects regrettably had begun primarily with marketing and promise, and still lacked technology substance. By contrast, we saw that CloudStack had begun with a focused development team, working production code, and real business customers. Citrix saw this as well, and brought CloudStack into its fold to help it continue to mature.
When Citrix decided to move CloudStack from an “open core” (e.g. where most of the code is open source, but some usually important pieces are closed source and only available to paid subscribers) to a fully open source model, they further revealed their commitment to openness. This move also gave a significant boost to the adoption of CloudStack.
With this latest move, Citrix demonstrates in bold colors that they firmly believe in the wisdom of the open approach. Citrix has seen that the next logical step for CloudStack at this stage of its maturity is to cede their direct control over the project to a fully open developer community and a permissive open source license.
They have realized that by letting go at this point, they will be making CloudStack stronger and thereby will be doing a great thing for the Cloud.