First let me make it clear that Open Cloud Initiative (OCI) is not dead and it is going to stay for a long time advocating openness. Also, I will fight all I can to keep it going. Having said that I am writing this post to re-emphasize something which I have been saying all along. I am also going to use this post as a reference whenever a myth is promoted in the social media circles on this topic. Unlike the cathedrals of proprietary vendors, all the debates about open source and other open topics occur in the open (pun intended). In the typical open source spirit, I will vent my thoughts (once again) on this topic here. For beginners, I have already written about this in my introductory post on OCI.
On the other hand, I am neutral because open source is included as an afterthought in the requirements. There are two schools of thoughts among those who advocate openness in the cloud world. One school, spearheaded by Tim O’Reilly, emphasizes on open protocols, open formats, open architecture, etc. as the necessary conditions for openness. They claim that licensing is irrelevant in the cloud services world. The other school, slightly old fashioned and in minority, claim that open source is equally important in ensuring the openness in the cloud based world. I belong to the second group and I have argued in favor of the importance of open source in the cloud world here and in other fora. For me, open source becomes a requirement because it is the only way we can have a more federated interoperable cloud ecosystem. In the absence of open source, the barriers for participation becomes very high and we may face the prospect of monopoly of cloud providers offering services.
I also highlighted the same thing in a talk at a Cloud Bootcamp at Santa Clara in the sidelines of Cloud Expo and my slides from the talk can be found here.
Argument: When you move from software to services, open source doesn’t matter and only open standards matter
My counterargument: I do agree that open standards (open protocols, open formats, etc.) are the key to eliminate cloud lock-in. The biggest concern against large scale cloud adoption is the risk of getting locked into proprietary clouds. Open standards are key to avoid such a lock-in. There is no doubt about it and it is extremely important that we raise the awareness about open standards so that cloud users are protected. However, dismissing open source as irrelevant is shortsighted at the best. Yes, open standards might help users from getting locked into a single vendor but, in the absence of open source, they will be locked into handful of vendors. We saw what happened when only a handful of players meet the needs of an entire country with US wireless industry. They stymied innovation for a long term because they were hell bent upon protecting their existing cash cow than really letting their services to be used for further innovation. Open Source doesn’t guarantee innovation in the technology field but it lowers the barriers so much that it opens up opportunity for others to get into the market, innovate and, more importantly, ensure that the end users are not taken for a ride. Imagine if we would have seen the cloud as AWS introduced to the world in the absence of open source licenses? Do you think Microsoft would have been flexible with their licenses to let Amazon develop a service that will eventually come back to bite them? Open source is critical for cloud computing and it is now helping, in the form of OpenStack, CloudFoundry and others, to ensure that there are not handful of cloud providers who could eventually grow their market power to stymie innovation like the US wireless companies. I strongly believe in demanding open standards but it is quite possible to work around its absence if there is open source, a fact once again highlighted by this brilliant post by Brad Hedlund. No, I am nowhere close to claiming that we don’t need to focus on open standards but I am only arguing that ignoring open source and focussing only on open standards is s h o r t s i g h t e d. Period.
Argument: Why would a consumer of a service need its source code?
My counterargument: The biggest problem with opponents and some proponents of open source is that they really don’t get it. Open source is not about consumption but about its power of enablement. Whether it is the case of software or service, it is the same. Even in the software world, every single user of open source software didn’t take the source code and look at it. Only a small percentage of users who wanted to modify the source code to scratch their itch really used the code. It is clearly the case of enablement than consumption in the software world and it is going to be the same in the services world. Consumers of services are going to give a damn about source code much like the consumers of software but the availability of code is going to enable many providers to scratch the itch and offer services to meet the more diverse needs not addressed by the original set of service providers. My point is: it doesn’t matter what we are talking is software or service, open source is an enabler of openness (and innovation) and, therefore, it is equally critical as open standards.
Open standards is about not getting your data locked in but open source is needed if you want to enable the users to run their workloads after that. What is the point in having my data out of a provider if I don’t have the resources available (at a cost affordable to me) to have applications that can act on that data? A truly open cloud should allow me to not just take my data out but also give me opportunities to use the data elsewhere without being held hostage by any group (of providers). If the definition of open cloud doesn’t give me this opportunity, then it is meaningless as far as I am concerned.
Argument: But, hey, we demand that at least one implementation should be open source
My counterargument: This afterthought addition of open source in the open cloud definition is what frustrates me the most. I really really couldn’t get this argument. Why would a proprietary cloud vendor spend critical resources (including tons of money) implementing an open source implementation just to get certified as open cloud by OCI? If market pressures forced the vendor to support open protocols, they will just enable that and satisfy the needs of their market. If the market pressure doesn’t exist, they would not give a damn to open source or open standards anyhow. Microsoft is a good example of market pressures forcing them to open up than some certification agency. Instead if OCI puts open source at the center, along with open standards, for the very definition of open clouds, it will at least motivate the large open source cloud ecosystem (it is growing by leaps and bounds every day) to get certified by OCI. Believe me, I have spoken to at least 5 service providers and platform vendors on this open source cloud ecosystem and they just don’t care about OCI for the very reasons I have highlighted above. They feel that they need not get OCI certified to be seen as a player embracing openness. I am pretty sure this is the thinking with many others in that ecosystem.
Argument: What OCI has is the middle ground that will help bring proprietary cloud vendors on board
My counterargument: As I told above, what is the incentive for them to come to OCI? If a company believes in the proprietary approach (believe me, it is not a wrong approach at all and what matters is that customers should have choices and proprietary software is one such choice), why would they even worry about openness unless there is market pressure? When there is market pressure they will anyhow adopt open standards and meet the needs. They really don’t give a damn about embracing openness mantra through OCI certification. However, this approach of OCI is a big put off for companies which have openness at the heart and have open source at the core of their clouds. In today’s world, it is a big part of the cloud ecosystem and they feel OCI is not needed to showcase their openness because they have open source in their DNA. OCI can create the market pressure needed to force proprietary cloud vendors to embrace open standards ONLY if they could convince these open source cloud vendors to come on board in large numbers. Why am I not hearing any excitement about OCI in the OpenStack community? The only group that will really benefit from this “middle ground” are those proprietary vendors who are lagging behind in the marketplace but want to use openness mantra to catch up. Yes, the biggest benefactors will be those who want to open wash.
If OCI’s intention is to put pressure on proprietary cloud providers to open up, they are doing it all wrong because whatever they are doing with this so called “middle approach” is not going to add the necessary market pressure. Rather, it has the danger of making OCI irrelevant as more and more open source providers jump in and create the market pressure on their own. I really want OCI to succeed but my efforts to make them see the larger picture is not making any dent. This blog post is my attempt to get the larger community put pressure on OCI to really open up.
Tear down that wall Mr. Johnston!!