myCloud: Is self-hosting iCloud possible? It seems that Apple is pushing cloud integration all the way now, but also that they have no interest in providing the ability to choose between their own server-side offering (iCloud) and what other companies may have to bring to the table. That seems to make all the nice iCloud client features unusable for certain people (such as Europeans that are forbidden by law to upload certain documents to data centers in North Carolina).

Is it in any way possible to trick OS X and iOS devices into talking to servers of my choosing other than Apple's, at least for part of the services ? Is there any documentation how iCloud is built? Does it use any standardized protocols at all?
Somewhat. Not exactly.

You can run an Exchange server which will give you push email, calendar and contacts. This can be configured on all your devices (even pre-iOS 5). This is pretty much what you get from the equivalent iCloud stuff.

But there isn't a way to access the Documents in the Cloud or iTunes in the Cloud features without iCloud. (Although you could use Dropbox to store stuff, it doesn't work with iTunes or iWork). This is primarily because Apple wrote the services from the ground up, they aren't using an existing service. So while there are APIs, there aren't standards.

Apple might conceivably open a EU data centre in the future.