Open-source software has won the argument. Now a new threat to openness looms
economist.com
economist.com
The first step you can take is to use the Affero GPL instead of the old GPL:
"... version differs from the version of the GNU GPL on which it is based in having an additional provision addressing use of software over a computer network. The additional provision requires that the complete source code be made available to any network user of the AGPL-licensed work, typically a web application."
This doesn't solve all problems, as it doesn't cover software developed from-scratch by the big players.
Regarding data portability, I've become a fan of json - it's easy to understand and process, and it forces interfaces to be simple (compared to xml, e.g.).
On the business side though, I would be hesitant to ever advise an employer or client to make use of cloud resources for a few reasons. One of them is the lock in as mentioned in the article. Another is the risk of loss of data that is outside the businesses control. Another is the fact that the cloud service could upgrade the software in a way we didn't like with very little recourse on our part.
After all, there are times when you want to keep the older version. For instance, numerous businesses have declined to switch to Vista and I will not be leaving python 2.54 until some of the libraries I use finish their updating process.
Of course, all of the concerns I mentioned can be addressed, but it would require substantial due diligence on the IT side to verify that the cloud computing company has adequate protections in place and then on legal's side to ensure that they are contractually enforceable.
It doesn't matter how open the data formats are. If it's difficult to simultaneously use two or more vendors at a time, you are locked in.
I think if you have 20TB of data that you need to have online all the time, things are going to be hard regardless.
If you are sitting in Cloud A and Cloud B introduces some new thing... you're out of luck until Cloud A (who knows you're not going to move) decides to offer something similar.
Cloud computing as I think of it-- AWS, Mosso, etc-- is generally built on familiar and open technologies. If anything it is easier than ever to redeploy an application with a different cloud provider...and vendors like CloudKick and RightScale make switching trivial.
The Unix model presents files and folders, it is a fantastic model with a few operations. You present me with a file system and I'll manipulate it. We've spent 30-40 years building tools to manipulate files grep, sed, awk, join, sort etc.
Demand portability!