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