I think it should be specified and be a part of the protocol - I'd like data written by a Java client to be readable by a python or javascript one.
One has to think about applications - a content delivery network is mostly used for transmissing big files for very large audiences all over the world. So lot of bandwidth is required, and encryption is not required. Storage isn't needed that much, however bandwidth is.
However, for backup usage, where I wan't to store some files in cloud, i need mostly storage.
Perhaps both applications (and everything between) could be addressed by the same service. If you need the content delivery function without enryption, you can use the plain service. For backup purposes, client library with encryption could be built, similar to tarspan (http://www.tarsnap.com/).