What Does Interoperability Mean?
When we talk about email or instant messaging, it's quite clear what interoperability means. If I can send a message from my client, connected to my server, to someone using a different server, then we have interoperability.
With social networks, it's somewhat more amorphous, because the exact services that they offer are not so well defined. At the core, what social networks offer is sharing of arbitrary information with specific groups of people. They try to provide all of the services that the Internet providespublishing, chat, and so onbut with an access control list, allowing you to restrict access to a specific group of people.
That means that the minimum standard for interoperability has to be authentication. If I share something on a social network, and I have a friend on another, then he should be able to view my shared data with his account credentials. This means that my server needs to be able to track relationships with users who are not under its control, which means that every user needs some kind of global identifier.
In fact, XMPP already supports this quite nicely. My roster contains people on other servers and I can block messages from other people trivially. I can also share things with the XMPP publish-subscribe protocols and control who has access to them, and can have things like games publish information in their own publish-subscribe server that I then subscribe to and republish as my own.
Designing a good protocol is difficult, because security has to be a paramount concern. Data scraped from social networks is very useful for identity theft and things like planning burglaries. If you know where someone lives, that they've just bought some expensive toys, and are going on holiday, then you're in a good position to steal from them. You don't want a malicious user to be able to connect to the network and get information that people were expecting to only share with their friends.