Distributed social network protocols
General Resources
http://en.wikipedia.org/wiki/Distributed_social_network
http://www.w3.org/DesignIssues/CloudStorage.html
Basics
RDF-Schema
RDF stands for resource description framework. A schema provides a vocabulary, to classify xml-data. With this classification the data becomes machine-readable, so programms can handle the data dependent on the context. You can for example tag certain links on you homepage as links to the homepages of friends (using a appropriate schema). By crawling this information bots can then build up a network of befriended personal websites, which might then help you discover new sites that are of value for you.
http://en.wikipedia.org/wiki/RDF_Schema
Protocols/Schemas/Projects
Webfinger
The webfinger project wants to consolidate the idea of an email adress like identifier for a person. A lot of todays webapplications use your email adress as account identifier. Webfinger goes beyond that, by connecting a set of public data to such an identifier. The specification describes how you can resolve a email like adress into this set of information, which contains for example your full name, a short bio or a cryptographic public key.
http://code.google.com/p/webfinger/
Salmon
Salmon is an http messaging protocol. It builds on top of webfinger, which is used for publishing a public key of a public/private key pair. The message is signed with the private key, base64 encoded and sent as a http-POST message to the salmon endpoint of the recipient.
http://www.salmon-protocol.org/
Activity Stream
Describes the content produced by one or multiple users as a flow of activity objects. The complete data set of the social net is described as one stream like: “Alice posted lalala, Bob liked Alices post, …” The language covers a wide variety of things that can happen on social networks, like comments, events, locations, ratings, mood, …
The schema clarifies how, activity stream object should be structured when rendered as xml or json. As a describtive language for social network content the specification is well suited. When collecting multiple source of content into a single view, duplicate entries can easily be detected and displayed accordingly.
Pubsubhubbub
https://code.google.com/p/pubsubhubbub/
OAuth
FOAF
Open Graph
Tent.io
http://tent.io/blog/tent-basics
Zot/Zot2
The Zot protocol is used by the Friendica project, with Zot2 being their improved implementation for Friendica RED.
RED: https://macgirvin.com/display/mike/222853
Libertree
A json-featured federation-protocol based on postings, comments and likes with small user-profiles.
https://github.com/Libertree/libertree/blob/master/specification.md
DSNP: Distributed Social Networking Protocol
(private, decentralized, scalable)
DSNP: A Protocol for Personal Identity and Communication on the Web : This short paper (5 pages) provides a quick overview of DSNP.
This protocom allows everyone to collaborate to create one social network that is decentralized, like email. It is an open technology that supports private communications, in a manner that users of modern social networks have come to expect. The current version of the protocol is 0.6. The leading author is Adrian Thurston.