Google’s DeWitt Clinton, in a comment on my Get In the Cloud piece, asserts that both Google App Engine and Amazon EC2/S3 are already lockin-free by my definition. That’s not quite consistent with the word I’m hearing on the street. I’d appreciate testimony and pointers from others, because this is a really important issue.
Reproducing DeWitt for convenience:
...you can already do that in both the case of Amazon’s services and App Engine. Sure, in the case of EC2 and S3 you'll need to find a new place to host the image and a new backend for the data, but Amazon isn't trying to stop you from doing that. (Actually not sure about the AMI format licensing, but I assumed it was supposed to be open.)
In App Engine’s case people can run the open source userland stack (which exposes the API you code to) on other providers any time they want, and there are plenty of open source bigtable implementations to chose from. Granted, bulk export of data is still a bit of a manual process, but it is doable even today and we’re working to make it even easier.
Are you saying that lock-in is avoided only once the alternative hosts exist?
But how does Amazon or Google facilitate that, beyond getting licensing correct and open sourcing as much code as they can? Obviously we can't be the ones setting up the alternative instances. (Though we can cheer for them, like we did when we saw the App Engine API implemented on top of EC2 and S3.)
To address one of his points: Yes, I think that being lockin-free in theory is much less interesting than having actual concrete commercial alternatives.
But in principle, is DeWitt correct? Would either of Google or Amazon like to say so, officially?