We Distribute, Part I: The Road to Federation
In the beginning, there was Laconica, which later became known as StatusNet. A massive amount of the work that went into this is due to Evan Prodromou, who is now spearheading an effort to standardize work on a communication protocol with the W3C Social Working Group.
As a networking project, it was the first public implementation of the communication protocol known as OpenMicroBlogging, which later evolved into the OStatus protocol. These technologies provided a significant building block for future federated networking projects to study and reference.
In terms of how StatusNet was used, it resembled an early version of Twitter, with the added benefit of group functionality. What made it unique is that users on one Laconica server could communicate with users on completely different servers.
Federation in a nutshell
To understand what federation is and how it works, it’s important to first point out how it’s different from traditional networks. There are differences in opinion over how the idea itself should be implemented, but generally most people agree on what the idea is.
Historically speaking, most modern web applications such as Facebook, Twitter, SoundCloud, and Instagram all have their users in what could be referred to as a walled garden.
What this means is that users on one service mostly can only communicate with other people on that same service. They stay there because all of their friends are there, and two-way communication with other websites just doesn’t work.
A person on Instagram can’t follow someone on DeviantArt with their Instagram account. Similarly, a person on Myspace can’t send a message to someone to someone on Facebook. Of course, it is possible to hook apps together so that when you post a status update on Twitter, it also updates your Facebook status. This is all fine and dandy, but that kind of connection only sends messages one way from server to server.
Now, take everything you’ve just learned about regular networking, and throw it out the window. I’ll wait.
What if you didn’t have to join all those other services? What if you just had a space on the web somewhere, a friend had their space somewhere else, and you both could connect and communicate regardless of whether you were on the same server or not?
In the case of StatusNet, you could think of it as owning your own personal Twitter server online. After setting up your account, you could connect to friends on other sites using the same thing.
During June 2013, stewardship of the StatusNet code had formally been handed over to the GNU project. Since then, StatusNet is now known as GNU Social, and has been going under a steady overhaul by volunteer developers.
GNU Social is just one attempt at making a federated social application. There are other projects within the space that build upon the core ideas behind OStatus, and we will cover them in depth as the series progresses.