A quick guide to The Free Network

Many newcomers to the federated web may hear of a casual reference to the fediverse, and may be curious about what that term means. A simple explanation might be that it’s a portmanteau of “federation” and “universe”, but it’s actually a little bit more complicated than that. Let’s dive into the nature of this beast, along with some of the history that comes with it.

At present, there are two supernetworks in the federated social communication space, and they run on different protocols. They are known as The Fediverse, and The Federation. While both supernetworks function in similar ways and even have similar aims, they each come from a different history of development, and by extension, a different stack. The overlapping series of networks can be referred to in macro as The Free Network.

8 distinct platforms, each developed independently of one another. Hubzilla and Friendica can talk to both networks as these projects are protocol-agnostic and can be extended through plugins.

What is the Fediverse?

The Fediverse has historically operated as a microblogging network, and uses the OStatus protocol for servers to communicate with one another. In all, it pulls together six different platforms: GNU Social, postActiv, Pleroma, Mastodon, Friendica, and Hubzilla.

The Fediverse initially was founded by a handful of servers that all ran on the StatusNet platform, which can be casually described as resembling Twitter with a special communication feature for groups. Because of its microblogging nature, posts and comments are considered the same type of object, called Statuses.

StatusNet was eventually pivoted into the GNU Social project, where development has continued at a steady pace. It has been forked into the postActiv project, which aims to clean up the system’s backend and user interface. Mastodon was initially developed as a Ruby on Rails-based OStatus implementation, and can also connect to these other networks. Finally, the Pleroma project started as an alternative frontend for GNU Social, but now has its own backend written in Elixir.

What is The Federation?

The Federation is an interop network consisting of 278 different connected servers that communicate using the Diaspora federation protocol. This is a different communication standard from OStatus, and allows four distinct platforms to all communicate with one another: Diaspora, Friendica, Hubzilla, and Socialhome.

The Federation initially started in 2010 with servers that only ran Diaspora. Structurally, Diaspora functions more like Facebook: it supports long-form content rather than short-form, and every post has a designated thread for comments. It also supports private statuses and an inbox for direct messages.

In 2012, the Friendica project broke ground by reverse-engineering the Diaspora communication protocol and writing a PHP implementation library from scratch, allowing Friendica users and Diaspora users to talk to each other. This work was eventually ported over to Hubzilla, a Content Management System with Cloud Storage and identity provision capabilities.

In early 2016, Jason Robinson, a former volunteer contributor to the Diaspora project, released Socialhome. Since the platform leverages Django instead of Rails, Jason had to write his own Python-based federation library from scratch. Currently, Socialhome is quite early in its own development history, with the latest release being version 0.4.0.

The Future?

At the moment, several projects in the space are working to adopt new supplementary protocols, with the intent of building better bridges between one another. The proposed development might end up looking like this:

Diaspora at this time has no plans for new protocols, having just significantly upgraded its own. postActiv intends to adopt support for Diaspora federation in a future release. Mastodon just released support for ActivityPub, and Pleroma , Socialhome and GNU Social are thinking of adopting it. Nextcloud is also notably getting into the federation space, and Hubzilla and Friendica will likely both support the ActivityPub protocol as extensions.

In time, these distinct supernetworks will likely fold into one federated supernetwork containing everybody, maximizing interoperability between nine different systems, possibly more. Though such a scenario is still a long way off, it is entirely possible that we might see all of the major projects within the space interconnect with one another.