Distributed social network protocols: Difference between revisions

From diaspora* project wiki
No edit summary
m ({{Note}})
 
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[category:developers]]


''Help this article by summarizing the pages behind the links on this page!''
{{Note|''Help this article by summarizing the pages behind the links on this page!''}}


== General Resources ==
== General Resources ==
Line 9: Line 8:
http://www.w3.org/DesignIssues/CloudStorage.html
http://www.w3.org/DesignIssues/CloudStorage.html


== Protocols/Projects ==
== Basics ==


=== Salmon ===
=== 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


http://www.salmon-protocol.org/
== Protocols/Schemas/Projects ==


=== Webfinger ===  
=== 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/
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 ===
=== 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/
http://activitystrea.ms/


=== Oauth ===  
=== Pubsubhubbub ===
 
https://code.google.com/p/pubsubhubbub/
 
=== OAuth ===  


http://oauth.net/
http://oauth.net/
Line 30: Line 49:


http://www.foaf-project.org/
http://www.foaf-project.org/
=== Open Graph ===
http://ogp.me/


=== Tent.io ===
=== Tent.io ===


http://tent.io/blog/tent-basics
http://tent.io/blog/tent-basics
=== Zot/Zot2 ===
The Zot protocol is used by the [http://friendica.com 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)''
[http://www.complang.org/dsnp/dsnp-overview.pdf 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 [http://www.complang.org/thurston/ Adrian Thurston].
* [http://www.complang.org/dsnp/ DSNP: Distributed Social Networking Protocol]
* [http://www.complang.org/pipermail/dsnp-interest/ mailing list archive]
* [https://github.com/ilhanyumer/DSNP GitHub repository]
=== OpenBook ===
* [https://projectopencontent.org/OpenBook.html OpenBook is a flexible and minimal distributed social protocol ]
* [https://github.com/ericvicenti/OpenBook GitHub repository]
* [https://projectopencontent.org/ Blog]
: - [https://projectopencontent.org/Why-the-Social-Networking-Oligopoly-Needs-to-be-Broken-Open Why the Social Networking Oligopoly Needs to be Broken Open]
: - [https://projectopencontent.org/Existing-Open-Social-Movements Existing Open Social Movements]
: - [https://projectopencontent.org/Core-Needs-of-an-Open-Social-Protocol Core Needs of an Open Social Protocol]
: - [https://projectopencontent.org/Introducing-OpenBook,-a-simple-and-flexible-distributed-social-protocol Introducing OpenBook, a simple and flexible distributed social protocol]
: - [https://projectopencontent.org/Features-OpenBook-intentionally-lacks Features OpenBook intentionally lacks]
* [http://www.reddit.com/r/programming/comments/13bfbf/introducing_openbook_a_simple_and_flexible/ discussion about OpenBook project]
[[Category:Developers]]
[[Category:Federation]]

Latest revision as of 17:22, 18 June 2016

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