Today I spoke at OpenTech. Overall, it went quite well.
However I did find myself on the receiving end of a rant from one of the attendees about how open standards won't allow someone to switch from Amazon's EC2 to Google App Engine.
I must admit I was somewhat perplexed at why this person ever thought they would and why they were talking to me about it. I explained my view but I also thought that I'd reiterate the same points here.
From the ideas of componentisation, the software stack contains three main stable layers of subsystems from the application to the framework to hardware. This entire software stack is shifting from a product to a service based economy (due to commoditisation of IT) and this will eventually lead to numerous competitive utility computing markets based upon open sourced standards at the various layers of this stack.
These markets will depend upon substitutability (which includes portability and interoperability) between providers. For example you might have multiple providers offering services which match the open SDK of Google App Engine or another market with providers matching Eucalyptus. What you won't get is substitutability from one layer of the stack (e.g. the hardware level where EC2 resides) to another (e.g. the framework level where GAE resides). They are totally different things: apples and pears.
On a related note, open standards and open sourced standards are also completely different things. Open standards are specifications including open APIs and open data formats. On the other hand an open sourced standard is an operational piece of code. The code is the standard not any specification.
In my view it is open sourced standards and not "open standards" which will create substitutability. Furthermore these standards will emerge through competition and adoption rather than committee.
My apologies for repeating myself in the last few posts, but I've increasingly found myself being challenged over my views and hence I thought it was best to reinforce these ideas.