Distributed social network protocols

From diaspora* project wiki
NoteNote: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 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.

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

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.

OpenBook

- Why the Social Networking Oligopoly Needs to be Broken Open
- Existing Open Social Movements
- Core Needs of an Open Social Protocol
- Introducing OpenBook, a simple and flexible distributed social protocol
- Features OpenBook intentionally lacks