Protocols and Networks

From PlexodusWiki
Jump to: navigation, search

This page lists online messaging and social-networking / social-media / social-graph based technologies.



Of Protocols and Networks

In telecommunication, a communication protocol is a system of rules that allow two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics and synchronization of communication and possible error recovery methods. Protocols may be implemented by hardware, software, or a combination of both.

(Wikipedia)

Protocols, or more properly, communications protocols, are a set of conventions by which messages are transmitted between nodes on a network. A given communications network is a set of nodes which share a given protocol.

Nodes may support multiple protocols, protocols may be nested or overlayed, and there may be network-to-network message exchange via common protocols.

In the context of online and social media, protocols define the capabilities and limitations of a particular system. These protocols may be internal and proprietary, as with Google+, Facebook, or Twitter, or open as with SMTP (email), NNTP (Usenet), HTTP (Web), or the various protocols of the Federated Networks: ostatus, activitypub, diaspora, etc. An API may expose some or all of a protocol to programmatic tools and/or third-party systems.

Effectively, protocols define networks, given a set of nodes and links between and through messages are passed according to a specific (set of) protocol(s).

Protocols, generally

Fediverse Protocols

Fediverse protocols (from https://the-federation.info/#protocols)
Protocol Nodes Users URL
ostatus 2,098 1,529,392 https://en.wikipedia.org/wiki/OStatus
activitypub 1,964 1,520,722 https://www.w3.org/TR/activitypub/
diaspora 461 669,750 https://wiki.diasporafoundation.org/An_introduction_to_the_Diaspora_source
dfrn 108 13,269 https://friendi.ca/about/features/
zot 112 3,079 https://project.hubzilla.org/help/en/developer/zot_protocol
webmention 1 1 https://www.w3.org/TR/webmention/

OStatus

OStatus is a collective name given to a suite of existing protocols which make this possible. They include:

  • PubSubHubbub – Real-time publishing ("PuSH")
  • ActivityStreams – Represent social actions in XML with Atom
  • Salmon – "Upstream" comments and replies
  • Portable Contacts – Social graph and contact data sharing
  • WebFinger – XML representation of a user's identity in terms of the services they use

Github: https://github.com/OStatus

ActivityPub

"ActivityPub is a decentralized social networking protocol based on the ActivityStreams 2.0 data format. ActivityPub is an official W3C recommended standard published by the W3C Social Web Working Group. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and subscribing to content." - ActivityPub.Rocks

Github: https://github.com/w3c/activitypub

Diaspora (protocol)

"diaspora* is a true network, with no central base. There are servers (called “pods”) all over the world, each containing the data of those users who have chosen to register with it. These pods communicate with each other seamlessly, so that you can register with any pod and communicate freely with your contacts, wherever they are on the network. diaspora* uses open web standards such as PubSubHubbub and Webfinger to make this kind of connection possible." - How does diaspora* work?

Github: https://github.com/diaspora/diaspora

zot

"Zot is a JSON-based web framework for implementing secure decentralised communications and services.

It differs from many other communication protocols by building communications on top of a decentralised identity and authentication framework.

The authentication component is similar to OpenID conceptually but is insulated from DNS-based identities. Where possible remote authentication is silent and invisible. This provides a mechanism for internet scale distributed access control which is unobtrusive." - W3C Federation Candidates

Github: https://github.com/friendica/red/wiki/zot

Other Federated Protocols

Matrix

"Matrix is an open standard for interoperable, decentralised, real-time communication over IP. It can be used to power Instant Messaging, VoIP/WebRTC signalling, Internet of Things communication - or anywhere you need a standard HTTP API for publishing and subscribing to data whilst tracking the conversation history." - What is Matrix?, Matrix FAQ

Github: https://github.com/matrix-org

dfrn

"DFRN is a distributed communications protocol which provides privacy and security of communications and also provides the basis for distributed profiles and making connections (friend requests)." - W3C Incubator

Github: https://github.com/friendica/friendica

webmention

"Webmention is a simple way to notify any URL when you mention it on your site. From the receiver's perspective, it's a way to request notifications when other sites mention it." - W3C Webmention Abstract

Github: https://github.com/w3c/webmention


Networks, generally

All node and user counts scraped from https://the-federation.info/ on 12/12/2018

Microblog

diaspora*

A privacy-aware, distributed, open source social network.

  • Nodes: 225
  • Total Users: 657754
  • Monthly Users: 18093
  • Supported Protocols: diaspora

Official Site: https://diasporafoundation.org/

Source: github

GangGo

GangGo is a decentralized social network written in GoLang. It uses the same federation library like Diaspora and therefore can participate in conversations like any other Pod!

  • Nodes: 2
  • Total Users: 179
  • Monthly Users: 37
  • Supported Protocols: diaspora

Official Site: https://ganggo.git.feneas.org/documentation/

Source: github

Mastodon

Your self-hosted, globally interconnected microblogging community

  • Nodes: 5291
  • Total Users: 3059958
  • Monthly Users: 1085348
  • Supported Protocols: ostatus, activitypub

Official Site: https://joinmastodon.org/

Source: github

Rustodon

A Mastodon-compatible, ActivityPub-speaking server in Rust

  • Nodes: 1
  • Total Users: 139
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://rustodon.glitch.social/

Source: github

Friendica

A Decentralized Social Network

  • Nodes: 299
  • Total Users: 39906
  • Monthly Users: 3426
  • Supported Protocols: diaspora, ostatus, dfrn

Official Site: https://friendi.ca/

Source: github

Pleroma

Pleroma is a federated social networking platform, compatible with GNU social, Mastodon and other ActivityPub and OStatus implementations. It is free software licensed under the AGPLv3.

  • Nodes: 780
  • Total Users: 9810
  • Monthly Users: ?
  • Supported Protocols: ostatus, activitypub

Official Site: https://pleroma.social/

Source: gitlab

Aardwolf

Aardwolf is the engine behind a new Facebook-like social platform which is being actively developed.

Aardwolf shares a philosophy and underlying protocols with Mastodon, a federated microblogging platform with over a 1000 independently-run servers, hosting more than a million active users.

Official Site: https://www.aardwolf.social/

Source: github

misskey

Misskey is a decentralized microblogging platform born on Earth. Since it exists within the Fediverse (a universe where various social media platforms are organized), it is mutually linked with other social media platforms. Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet?

  • Nodes: 34
  • Total Users: 4645
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://misskey.xyz/

Source: github

microblog.pub

A self-hosted, single-user, ActivityPub powered microblog.

  • Nodes: 2
  • Total Users: 2
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://microblog.pub/

Source: github

GNU social

GNU social is a continuation of the StatusNet project. It is social communication software for both public and private communications. It is widely supported and has a large userbase. It is already used by the Free Software Foundation.

  • Nodes: 5
  • Total Users: 20
  • Monthly Users: 14
  • Supported Protocols: ostatus

Official Site: https://gnu.io/social/

Source: git.gnu.io

osada

Osada is a conversational style macroblogging network powered by hyper-drive social engine, supporting ActivityPub and Zot6 protocols.

  • Nodes: 12
  • Total Users: 236
  • Monthly Users: 148
  • Supported Protocols: zot, activitypub

Official Site: https://zotlabs.com/osada

Source: gitlab

postActiv

postActiv is a free software project to develop a social networking platform. It is derived from GNU Social, which is itself derived from StatusNet and Laconica. It helps people in a community, company, or group to exchange short status updates, do polls, announce events, or other social activities. Users can choose which people to "follow" and receive only their friends' or colleagues' status messages. They can also view the public timeline of the site to see everyone, or the "whole known network" timeline, to see all the people in sites that have connected with this one, by someone following them. It provides a similar service to proprietary social network sites, but is decentralized, and with many additional features and an open, free software codebase that you can develop your own plugins for, it is much more awesome.

Official Site: https://postactiv.com/

Source: https://gitea.postactiv.com/postActiv/postActiv

Blog

Plume

Federated blogging application, thanks to ActivityPub

  • Nodes: 13
  • Total Users: 520
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://joinplu.me/

Source: github

Write Freely

A simple, federated blogging platform.

  • Nodes: 53
  • Total Users: 1109
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://writefreely.org/

Source: github

dokieli

dokieli is a clientside editor for decentralised article publishing, annotations and social interactions.

Official Site: https://dokie.li/#publish

Source: github

WordPress

Blogging platform, able to communicate with Federation via plugins

  • Nodes: 4
  • Total Users: 10
  • Monthly Users: ?
  • Supported Protocols: webmention, ostatus

Official Site: https://wordpress.org

Source: github

Fedi.blog

Easy self-hosted, ActivityPub, Markdown, PHP, NoSQL, fully customisable blog engine for noob web devs and others!

Official Site: https://framagit.org/DavidLibeau/FediBlog

Source: gitlab

Images

pixelfed

Federated Image Sharing a la Instagram

  • Nodes: 21
  • Total Users: 4684
  • Monthly Users: 942
  • Supported Protocols: activitypub

Official Site: https://pixelfed.org/

Source: github

Music

reel2bits

Soundcloud-like but simple, easy and KISS (and ActivityPub).

  • Nodes: 1
  • Total Users: 1
  • Monthly Users:  ?
  • Supported Protocols: activitypub

Official Site: https://sound.otter.sh/user/dashie

Source: github

funkwhale

A self-hosted tribute to Grooveshark.com.

  • Nodes: 14
  • Total Users: 861
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://funkwhale.audio/

Source: gitlab

Video

PeerTube

A decentralized video hosting network, based on free/libre software.

  • Nodes: 283
  • Total Users: 8911
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://joinpeertube.org/

Source: github

Multipurpose

hubzilla

Hubzilla is a general purpose communication server integrated with a web publishing system and a decentralised permission system. If this sounds like a bunch of technical mumbo-jumbo to you, just think of it as an independent platform for sharing stuff online (publicly or privately). Hubzilla contains some social network bits, some cloud storage bits, some blog and forum bits, and some content management bits. These are all integrated within a common privacy framework - and it is all decentralised.

  • Nodes: 346
  • Total Users: 10547
  • Monthly Users: 4486
  • Supported Protocols: zot, diaspora, ostatus, activitypub

Official Site: https://hubzilla.org/

Source: gitlab

Misc

read.as

Read.as is a free and open-source long-form reader built on open web protocols (specifically ActivityPub). It helps you gather and curate things to read in a peaceful space. (Feed Reader)

  • Nodes: 1
  • Total Users: 1
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://read.as

Source: github

Prismo

Federated link aggregation powered by ActivityPub. (Similar to StumbleUpon or Digg)

  • Nodes: 3
  • Total Users: 84
  • Monthly Users: 46
  • Supported Protocols: activitypub

Source: gitlab

littr.go

Link aggregator inspired by reddit using ActivityPub federation.

Official Site: https://littr.me/

Source: github

Socialhome

Socialhome is a federated personal profile builder with social networking functionality.

  • Nodes: 3
  • Total Users: 842
  • Monthly Users: 107
  • Supported Protocols: diaspora

Official Site: https://socialhome.network/

Source: github

activityrelay

Yet another powerful customizable ActivityPub relay server written in Go

  • Nodes: 13
  • Total Users: 13
  • Monthly Users: ?
  • Supported Protocols: activitypub

Official Site: https://relay.toot.yukimochi.jp/

matrix|synapse

Synapse is a reference "homeserver" implementation of Matrix from the core development team at matrix.org, written in Python/Twisted. It is intended to showcase the concept of Matrix and let folks see the spec in the context of a codebase and let you run your own homeserver and generally help bootstrap the ecosystem.

  • Nodes: 36
  • Total Users: ?
  • Monthly Users: ?
  • Supported Protocols: matrix

Official Site: https://matrix.org/

Source: github Source: github

MobiliZon

Mobilizon is a tool designed to create platforms for managing communities and events. Its purpose is to help as many people as possible to free themselves from Facebook groups and events, from Meetup, etc.

Official Site: https://joinmobilizon.org/

Source: gitlab

ForgeFed

ForgeFed (formerly GitPub) is a decentralized federation protocol based on the W3C's ActivityPub, which extends ActivityStream 2.0. It provides a server to server API for pull request, forking and subscription of repositories provided by Git web services (services like GitHub, GitLab, Gogs, Gitea).

Source: github

References