Distributed social network protocols

From diaspora* project wiki

Help this article by summarizing the pages behind the links on this page!

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 dependend 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.

http://activitystrea.ms/

Pubsubhubbub

https://code.google.com/p/pubsubhubbub/

OAuth

http://oauth.net/

FOAF

http://www.foaf-project.org/

Open Graph

http://ogp.me/

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

Distributed Social Networking Protocol (DSNP)

(private, decentralized, scalable)

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.