The customer is always right, so says the old adage. And when the customer is a commercially successful Linux distribution vendor that's participating in your open source project, that customer may be even more right.

That's the situation between OpenStack and Canonical, after Canonical founder Mark Shuttleworth posted a public entreaty for OpenStack to keep the cloud computing project's APIs based on the de facto standards of Amazon Web Services (AWS), rather than OpenStack trying to differentiate itself by putting together its own API secret sauce.

The blog entry uses a powerful historical example to get the point across: the development of the Hypertext Transport Protocol (HTTP) as the true standard for web communication. Just as HTTP has become the only standard for the web, so too will AWS APIs and specifications become the standard for cloud computing development, Shuttleworth argues. Because of this, he adds, there is no reason to make the API the big differentiator for cloud services.

"I think that standard already exists in de facto form today at AWS, with EC2, S3 and some of the credential mechanisms being essentially the core primitives of cloud infrastructure management. There is enormous room for innovation in cloud infrastructure implementations, even within the constraints of that minimalist API," Shuttleworth wrote. "The hackers and funders and leaders and advocates of OpenStack, and any number of other cloud infrastructure projects both open source and proprietary, would be better off figuring out how to leverage that standardisation than trying to compete with it, simply because no other API is likely to gain the sort of ecosystem we see around AWS today."

This is a good point, and though Shuttleworth makes pains to not assume he knows better, as an OpenStack participant since February, his words should carry a lot of weight.

Right now, there are more than a few APIs running arond in cloud space, just as there were competing web protocols before HTTP emerged as the single standard. And while HTTP can be improved upon, it's pretty much the accepted standard, and innovation has instead moved to the levels that wrap around HTTP. Sticking with purely AWS-compatible APIs would enable OpenStack to avoid creating migration problems for OpenStack users, but also connect to a wide range of AWS-related vendors, such as RightScale and ElasticFox, Shuttleworth points out.

By focusing on other API implementations, Shuttleworth argues, OpenStack could be putting itself at great risk:

"There will be many implementations of those core APIs. One or [another] will be the Apache, the 'just start here' option. But it doesn't matter so much which one that is, frankly. I think OpenStack has the best possible chance to be that, but only if they stick to this crisp mission and don't allow themselves to be drawn into front-end differentiation for the sake of it. Should that happen, OpenStack will be vulnerable to another open source project which credibly aims to achieve the goals outlined here. Very vulnerable. Witness the ways in which Eucalyptus is rightly pointing out its superior AWS compatibility in comparison with OpenStack."

The standard Shuttleworth envisions would not be a "true" standard like HTTP, which is maintained by the W3C. Instead, it would be created by vendors who know AWS, such as Eucalyptus and OpenStack, with vendors like HP and IBM joining Rackspace as well. Indeed, Shuttleworth even offers resources to make such a confab happen.

Conspicuously, Red Hat and VMware are not mentioned, something I am sure is no accident. Red Hat, for instance, has long pushed Deltacloud, its REST-based API that is also EC2 compliant, as a differentiating technology for Red Hat's cloud-based services. By essentially declaring all AWS products the go-to cloud architecture, Shuttleworth is not only giving OpenStack advice, but also negating any advantage the Deltacloud API might have.

From a business and technology perspective, a lot of what Shuttleworth writes makes sense, though it's a little hard for me to swallow all AWS as the undisputed winner in the cloud field. It's rather uncomfortable to point to a single commercial entity and say okay, we'll do it your way. That Shuttleworth seems to Microsoft's desktop history to illustrate a precedent for such a commercial standard makes me even more edgy:

"There were lots of technical reasons why alternatives to Windows were better, they just failed to become de facto standards."

I wasn't entirely aware that Windows or Windows development was regarded as a de facto standard. Certainly, it's very much in the majority on the desktop, and has a significant server presence, but is that really put Windows in anywhere like a standards category? Perhaps Adobe's PDF might be a better example to illustrate a commercially based standard.

More specifically, I have to wonder about Amazon getting the nod for standards here. While you cannot argue that their presence is huge in public and hybrid cloud space, this is Jeff Bezos we're talking about here. As one commenter on Shuttleworth's blog already pointed out, this is the same guy that thought it would be okay to patent one-click shopping. What's to prevent Bezos or someone else as Amazon from someday enforcing the copyrights on the AWS APIs? This seems highly unlikely, but with all the litigious stupidity going on right now, nothing's impossible.

Ultimately, this is a good argument for pragmatism, but we'll have to see how it matches up against the idealism of noncommercial and open standards.