Today, while I was musing, I thought that it would be really useful if online backup services could agree on some kind of standardised archival format that they could use to interchange data, for when you want to change your backup provider.
The use case I was thinking of is that for me, and I’m sure for other people too, an online backup is not only a backup of the current state, but an archive of former states. This is useful for things such as restoring previous versions of a file which you changed (whether on purpose or inadvertently) as well as for restoring files which you had since deleted.
As far as I know, if you want to change your backup provider, the only way to seed the new backup is by sending the contents of (part of) your hard drive to it. You may be able to speed up the process by sending them DVDs with data on them or by filling a hard disk they provide, but ultimately, the initial backup will reflect the then-current state of your hard drive. Specifically, it will not include any deleted files, nor will it include previous versions of changed files.
And it’s a pity to throw away history like that when the data is there, stored at your previous backup provider, and they could (technically speaking) hand over the versioned data to the new provider if there were some standardised format to do so. (For example, it could be modelled after the repository and/or wire format of version control software such as Git, Mercurial, or Subversion.) Besides, if the providers were to interchange the data amongst themselves, the initial transfer would probably go a lot faster than if you had to upload the lot over a residential Internet connection.
Obviously, backup providers have little incentive to provide such a capability and every incentive not to: it’s one way to “lock you in” softly by making it not impossible but still a hassle to switch. And most companies that have paying customers will find it more advantageous not to make it easy to stop being a paying customer.
Still, a guy can dream, can’t he?