Update (2017-04-17): Thanks to Federation pioneer and Friendica/ Hubzilla developer Mike Macgirvin for sharing his thoughts in his unique and inimitable way, I’m planning a separate ‘brief history’ post covering his branch of the family. Thanks also to Sean Tilley of Diaspora* for answering politely each time I asked the same questions clarifying the status of federation efforts between Diaspora and the other apps (my tribal name is Memory Like Goldfish ;).

Update (2017-04–04): Thanks to fellow GNU Social user Claes Wallin for offering some corrections and clarifications. I’ve tried to correct this piece to reflect these.

———

Back in the glass age, a guy called Evan wrote some free code in PHP to run a vaguely Twitter-ish site called Identi.ca. The software was called Laconica, and then it was called StatusNet. It was able to federate with other vaguely Twitter-ish sites running the same software using the OpenMicroBlogging standard (a mash-up of existing protocols including OAuth, OAuth Discovery, YADIS, and XMPP), which was replaced by the OStatus standard (a bouquet of existing protocols including Atom, Activity Streams, PubSubHubbub, Salmon, and the delightfully named Webfinger), both of which Evan was also pretty involved in developing. A bunch of other sites/ softwares had a go at supporting OStatus (there’s a list on its Wikipedia page), hoping that one day they could all get along.

A few years later, glass was being replaced by aluminium. Evan got bored with trying to fix a bunch of baked in architectural limitations in StatusNet (or maybe PHP itself, I’m guessing, I don’t know his reasons) and started working on a new piece of vaguely Google+-ish software called pump.io, written in Javascript. Evan announced that Identi.ca would be switching from StatusNet to pump.io, which it did in 2013. Pump.io federates using a new pump.io protocol (which still uses Activity Streams, but with JSON and a “REST inbox API“, whatever that means).

This is good news for potential interoperability, since a bunch of other sites and softwares are already using Activity Streams (including any that support OStatus), and Activity Streams is being standardized under a license from the Open Web Foundation by the Social Web Working Group (SocialWG) of the World Wide Web Consortium (W3C). As it happens, Evan was also involved in starting the W3C SocialWG (which took over the standards work of the OpenSocial Foundation in 2014, but let’s not get ahead of ourselves…).

Meanwhile,  Mikael Nordfeldth was hacking away on a fork of StatusNet called Free Social (or “Free & Social”), which debuted in late 2012 on on the FreeSocial.org website he was running for the Piratpartiet. According to OpenHub, Nordfeldth set out with a plan “to make the codebase smaller, leaner, neater and more modular”. Also in the aluminium age, as GNU Social founder Matt Lee tells it in his interview with the FSF LCL (Free Software Foundation Licensing and Compliance Lab):

“GNU social was created as a companion to my earlier project, GNU FM, which we created to build the social music platform, Libre.fm. After only a few short months, Libre.fm had over 20,000 users and I realized I didn’t want to be another social media silo like MySpace or Facebook, so I came up with this vague idea called GNU social. A few prototypes were built, and eventually we started making GNU social as a series of plugins for Evan Prodromou’s StatusNet project, with some help from Ian Denhardt, Craig Andrews and Steven DuBois.”

You could think of all this as Fediverse 0.1, the gestation that was happening as it slumbered in the world wide womb, waiting to be born.

“Later”, continues Matt, “StatusNet, GNU social and Free Social… would merge into a single project called GNU social.”

After this was announced in 2013, lots of people who had still been running StatusNet sites, and getting concerned about the lack of active development as Evan worked in pump.io, started migrating to the first release of GNU Social, and other folks started setting up new GNU Social servers. Some of them continued to or started to federate using OStatus. Users who had been missing StatusNet since Identi.ca switched to pump.io (including yours truly) started finding and joining GNU Social servers. The Fediverse 1.0 is born.

This part of the history happened a few years ago, so I’m pretty sure I’ve got it right, but I welcome corrections in the comments. For the next part, I’m kind of winging it on the basis of what appears to have happened more recently, so apologies for any misunderstandings and again, please feel free to set me straight.

The growing GNU Social Fediverse then sets out to try and make friends with some of the other kids in the federated social networking neighbourhood; particularly established players like Pump.io, Diaspora*, Friendica (formerly Mistpark), and Hubzilla (formerly Red Matrix), but also up and coming projects like Tent, the Matrix, and the skinny jeans wearing rebels of the IndieWeb). Some want to use their own brand spanking new protocol(s) (pump.io, Tent, and the Matrix, what is the Matrix? Still working that out). Some don’t really want to federate at all because it threatens to breaks their privacy model (Hubzilla), and others had already threatened in 2012 to take their ball and go home, to work on their reinvented decentralized authentication (the Zot protocol, which ended up being used as the federation protocol for Hubzilla). To be honest, I’m still left wondering why the hell they didn’t all just use XMPP but I’m not a developer so…

Despite all that, GNU Social does manage to make some friends, and there is talk of a grand Federation (this link lists active Diaspora*, Friendica, and Hubzilla nodes). Some success appears to be made in allowing users to communicate between some of these projects, mostly using some variant on the OStatus cluster of protocols, which seem to be the lowest common denominator. The Diaspora* protocol uses similar bunch of protocols to OStatus, but it uses them differently, including adding support for private massages. Sean Tilley of the Diaspora* crew sums up the resulting blends:

“Friendica, Diaspora, Hubzilla all talk to each other through Diaspora. Friendica can also speak OStatus. Hubzilla and Diaspora currently cannot.”

Meanwhile, in a parallel universe, another cluster of free code developers are also working on communication and collaboration software. Some of them create the Valueflows project to work towards a standard for them all to interoperate, and a larger federation of projects groups form the Collaborative Technology Alliance to do the same. Working on standards is complex work, but not nearly as hard as getting everyone to agree on what standard to use.

Back in the Fediverse, a few developers get bored with trying to hack around a bunch of baked in architectural limitations in GNU Social (or maybe PHP itself, I’m guessing, I don’t know their reasons), and develop a bunch of add-ons or replacements for the GNU Social server software (formerly StatusNet, remember?), in a few different languages. Qvitter, started by Hannes in 2013, is a Javascript layer used on the Quitter sites to give a more Twitter-ish user experience. In 2016, Maiyannah Bishop forks GNU Social to start the PostActiv project, which is not GNU Social but still part of the Fediverse, and Eugen Rochko starts working on Mastodon in Ruby on Rails, which is not even a GNU Social fork but is still part of the Fediverse and uses the same GNU AGPL software license. With a cluster of different server-side packages available for those who want to set up their own node in the OStatus-powered federated network that started with StatusNet/ GNU Social, this is the point where I feel I can say the Fediverse has turned 2.0.

So to sum up, there’s been a lot of different things under a lot of different names. Some of the things still exist and some of them don’t. Some of the things are organisations, some of them are networks or sub-networks. Some of them are websites, some of them are software, standards, or protocols. Some of the things are a smaller part of bigger things, or a collection of smaller things, and some of the things can connect to some of the other things, but not all the other things. The Fediverse / Federation aims to eventually unite all the things that still exist into one glorious meta-thing.

Confused yet? I know I am. The branding is a spaghetti junction, as it too often the case with free code projects and their organic and messy (r)evolution. But thanks heaps to all the hard working people whose dedication, much of it unpaid, has brought us all the things. We’ll all figure it out as we go along. Long live the Federation (in the utopian Star Trek sense of the word, rather than the dystopian Blake’s 7 sense).

Update 2017-05-03: Here’s another ‘Brief History’ of the Fediverse that fills in some gaps in mine, and comes from a different political angle.

No Comments

RSS

No comments yet.

Leave a comment

To comment on this blog you will need to log in or create an account first.
  • Annual Events

  • Digital Freedom Foundation
  • LibrePlanet
  • Aotearoa

  • Aotearoa Indymedia
  • BallaNZ
  • Creative Commons Aotearoa/ NZ
  • Creative Freedom Foundation
  • DigitalNZ
  • Enspiral
  • Fair Deal Coalition
  • GreenStage
  • InternetNZ
  • Island Bay World Service
  • Living Economies
  • Localise
  • Loomio
  • Matrix FM
  • Nicky Hagar
  • No Right Turn
  • NZ Council for Civil Liberties
  • NZ Makers
  • NZ Makers Map
  • NZ Māori Internet Society
  • NZ Open Source Awards
  • NZCommons
  • OASIS
  • Open Government Ninjas of NZ
  • Open Source Society of NZ
  • Open Standards NZ
  • Open Ur Eyes
  • Pacific Media Centre
  • Permaculture in NZ
  • PledgeMe
  • Radio Chomsky
  • Regulation
  • Scoop
  • Tech Liberty
  • Timebank Aotearoa
  • Transition Towns Aotearoa/ NZ
  • Uncensored Magazine
  • Waatea News
  • Waikato Linux Users Group
  • What If
  • Wiki NZ
  • Zenbu
  • archives

  • ArchiveTeam
  • Critical Commons
  • Ibiblio
  • Internet Archive Community Software Collection
  • Open Archives Initiative
  • Blogroll

  • Abject
  • Access Now
  • Ars Technica
  • Autonomo.us
  • BadScience
  • Banjo - RoboBlog
  • Boing Boing
  • Born out of Binary
  • Centre for Media and Democracy
  • Choke Point Project
  • Copyrighteous
  • Create Digital Music
  • Creative Commons International
  • Cryptogon
  • Digital Standards Organisations
  • Disinfo
  • E-Democracy
  • Electronic Privacy Information Center
  • Ever Vigilant
  • Freedom Box Foundation
  • Freedom of the Press Foundation
  • Gaming On Linux
  • Global Indymedia
  • Gondwanaland (Mike Linksvayer)
  • Institute for the Future of the Book
  • Institute of Network Cultures
  • Internet Governance Project
  • InternetNZ
  • Island Bay World Service
  • Iterating Towards Openness
  • Knowledge Ecology International
  • LinkedListCorruption
  • Linuxed - Exploring Linux Distros
  • Localise
  • Moved by Freedom - Powered By Standards
  • Nanowares
  • New Zealand Māori Internet Society
  • Nicky Hagar
  • No Right Turn
  • NZ Council for Civil Liberties
  • NZCommons
  • O'Reilly Radar
  • OASIS
  • OERu Technology Blog
  • Open Educational Resources Foundation
  • Open Knowledge Foundation
  • Open Rights Group
  • Open Social Web
  • Open Source Conscious Intelligence Network
  • Open Source Food
  • Open Stand
  • Open Ur Eyes
  • OpenCollective
  • OpenDotDotDot
  • OpenSource.com
  • Permaculture in NZ
  • Plumi
  • Public Interest Journalism Foundation
  • Punk Rock Permaculture
  • Question Copyright
  • Replicant (OS)
  • Rob Meyers
  • Schneier on Security
  • Scoop
  • Shareable
  • Slashdot
  • Software Freedom Law Centre
  • Software in the Public Interest
  • SourceMap
  • Sustento Institute
  • Tech Liberty
  • TechRights
  • The Tin Hat
  • Tinkering Down Under
  • TorrentFreak
  • TransitionMovement
  • Translation Project
  • Trisquel GNU/ Linux
  • United Diversity
  • Waatea News
  • We Speak for Freedom
  • Why Your Boss is Programmed To Be a Dictator
  • code bank

  • Allura
  • BitBucket
  • FusionForge
  • GITHub
  • GITLab
  • Gogs
  • Internet Archive Community Software Collection
  • LaunchPad
  • NotABug
  • Savannah
  • Software Freedom Conservancy
  • Software Heritage
  • Sourceforge
  • community economics

  • Commons Transition
  • Fruit Tree Planting Foundation
  • In Our Back Yards
  • Institute for Local Self-Reliance
  • Libre-Living
  • Living Economies
  • Sensorica
  • Sustainable Economy Law Centre
  • Timebank Aotearoa
  • TransitionMovement
  • cooperative

  • Loomio
  • Snowdrift Coop
  • crowdfunding

  • ArtistShare
  • BountySource
  • Causes
  • CauseVox
  • Crowdfunder
  • Crowdjustice
  • Crowdrise
  • Crowdsupply
  • Flattr
  • Fundit.buzz
  • GiveaLittle
  • Goteo
  • In Our Back Yards
  • KickStarter
  • KissKissBankBank
  • Mighty Cause
  • Patreon
  • PledgeMe
  • PledgeMusic
  • Pozible
  • Snowdrift Coop
  • StartSomeGood
  • Taproot Foundation
  • The Working World
  • Events

  • IndieWebCamp
  • free code

  • April
  • Black Duck Open Hub
  • DistroWatch
  • Ever Vigilant
  • F-Droid
  • Free Software Directory (GNU FDL 1.3 or later)
  • Free Software Support Network
  • Free Software Support Network
  • Free Your Android
  • FreshCode
  • Gogs
  • Gun.io
  • Internet Archive Community Software Collection
  • LILA
  • LinuxTracker
  • NotABug
  • OERu Technology Blog
  • Peers Community
  • Plumi
  • PublicLab
  • Replicant (OS)
  • Software Heritage
  • Urchn Studios
  • Free Media

  • Communes Collective
  • Copyrighteous
  • Create Digital Music
  • Definition of Free Cultural Works
  • Dyne Foundation
  • FLOSSManuals
  • Free Culture Foundation
  • Ibiblio
  • Librivox
  • LILA
  • Open Video Conference
  • Show Me Do
  • Translation Project
  • Urchn Studios
  • WikiLeaks
  • freelancing

  • BountySource
  • Gun.io
  • independent media

  • Aotearoa Indymedia
  • BallaNZ
  • EngageMedia
  • Freedom of the Press Foundation
  • LILA
  • Matrix FM
  • Pacific Media Centre
  • Public Interest Journalism Foundation
  • Radio Chomsky
  • Radio Heritage Foundation
  • Uncensored Magazine
  • Waatea News
  • libre gaming

  • Gaming On Linux
  • Makers

  • GreenStage
  • Libre-Living
  • Mediamatic
  • NZ Makers
  • NZ Makers Map
  • Open ROV
  • Renewable PCs
  • Rob Meyers
  • Sensorica
  • maps

  • GeoForAll
  • GeoNames
  • Green Map System
  • Map Tools
  • Open Geospatial Foundation
  • Open Street Map
  • open governance

  • Crowdfunding
  • D-Cent
  • Deep Democracy Institute International
  • E-Democracy
  • Fight for the Future
  • Holacracy
  • Internet Governance Project
  • Kettering Foundation
  • Knowledge Sharing Toolkit (CC-BY-SA 3.0)
  • Open Government Ninjas of NZ
  • Open Policy Network
  • Open Space World (CC-BY-SA 2.5)
  • Open Stand
  • Open Standards NZ
  • Participedia
  • Sunlight Foundation
  • Transition Towns Aotearoa/ NZ
  • What If
  • WikiLeaks
  • open hardware

  • H-Node
  • Makey Makey
  • Meeblip Open Source Bass Synth
  • Open Hardware Summit
  • Open ROV
  • Open Source Hardware Association
  • Orgs

  • Access Now
  • Apache Foundation
  • April
  • Autistici/Inventati
  • Collaborative Knowledge Foundation
  • Commons Transition
  • Communes Collective
  • Computer Professionals for Social Responsibility
  • Creative Commons Aotearoa/ NZ
  • Creative Freedom Foundation
  • Critical Commons
  • D-Cent
  • Deep Democracy Institute International
  • Digital Due Process coalition
  • Digital Freedom Foundation
  • Digital Standards Organisations
  • DigitalNZ
  • Dyne Foundation
  • E-Democracy
  • Electronic Frontiers Foundation
  • Electronic Privacy Information Center
  • Fair Tracing Project
  • Fight for the Future
  • Foundation for Peer-to-Peer Alternatives
  • Free Culture Foundation
  • Free Network Foundation
  • Free Software Foundation
  • Free Software Support Network
  • Free Software Support Network
  • Freedom of the Press Foundation
  • Guifi
  • Ibiblio
  • Identity Commons
  • Institute for Local Self-Reliance
  • Internet Engineering Taskforce
  • Internet Governance Project
  • ISA Commons
  • Kettering Foundation
  • LEAP Encryption Access Project
  • LILA
  • Living Economies
  • Loomio
  • May First/ People Link
  • Mediamatic
  • NZ Māori Internet Society
  • NZ Open Source Awards
  • Open Architecture Network
  • Open Archives Initiative
  • Open Geospatial Foundation
  • Open Policy Network
  • Open Source Hardware Association
  • Open Source Society of NZ
  • Open Web Foundation
  • OpenADR Alliance
  • OpenCorporates
  • OpenHatch
  • Participatory Culture Foundation
  • Peers Community
  • Permaculture in NZ
  • Privacy International
  • Public Citizen
  • Public Interest Journalism Foundation
  • Public Knowledge
  • Public Patent Foundation
  • Question Copyright
  • Radio Heritage Foundation
  • ReDecentralize
  • Reform Government Surveillance
  • Regulation
  • Rhizome
  • RiseUp
  • Science Commons
  • Software Carpentry Foundation
  • Software Freedom Conservancy
  • Sunlight Foundation
  • Sustainable Economy Law Centre
  • Taproot Foundation
  • Transition Towns Aotearoa/ NZ
  • Waikato Linux Users Group
  • Wiki NZ
  • World Wide Web Consortium (WC3)
  • Xiph.org
  • XMPP Standards Foundation
  • Peer2Peer

  • BitCoin
  • FreeCoin
  • Permaculture

  • Appropedia (CC-BY-SA 3.0)
  • Fruit Tree Planting Foundation
  • Future Scenarios
  • OrganicDesign
  • Permaculture in NZ
  • TransitionMovement
  • We Speak for Freedom
  • Privacy

  • Access Now
  • Digital Due Process coalition
  • Ever Vigilant
  • Fight for the Future
  • International Principles on the Application of Human Rights to Communications Surveillance
  • LEAP Encryption Access Project
  • OASIS
  • Privacy International
  • Reform Government Surveillance
  • What If
  • protocols and licensing

  • Definition of Free Cultural Works
  • Digital Standards Organisations
  • Greenlots
  • ISA Commons
  • Open Archives Initiative
  • Open Stand
  • Open Standards NZ
  • Open Web Foundation
  • OpenADR Alliance
  • Regular Events

  • Libre Graphics Meeting
  • Open Hardware Summit
  • science and datasets

  • AllTrials
  • Collaborative Knowledge Foundation
  • DigitalNZ
  • Fair Tracing Project
  • ISA Commons
  • Open Geospatial Foundation
  • Open Hand Project
  • SourceMap
  • Wiki NZ
  • Zooniverse
  • Tools

  • Autistici/Inventati
  • BitCoin
  • Black Duck Open Hub
  • CoActivate
  • Crowdfunding
  • DistroWatch
  • Dyne Foundation
  • F-Droid
  • FLOSSManuals
  • Fork the Cookbook
  • FreeCoin
  • GITHub
  • GNU Operating System
  • GreenStage
  • H-Node
  • How To Escape the GoogleMax Panopticon
  • Knowledge Sharing Toolkit (CC-BY-SA 3.0)
  • LEAP Encryption Access Project
  • LinuxTracker
  • Loomio
  • Map Tools
  • May First/ People Link
  • Meeblip Open Source Bass Synth
  • Monolith
  • Open Hand Project
  • Open Source Ecology
  • Open Space World (CC-BY-SA 2.5)
  • Open Street Map
  • OpenCorporates
  • OpenMailBox
  • Participatory Culture Foundation
  • Plumi
  • Renewable PCs
  • Replicant (OS)
  • RiseUp
  • Savannah
  • Show Me Do
  • Sourceforge
  • SourceMap
  • TransforMap
  • Translation Project
  • Web Platform
  • Zenbu
  • Transition

  • Green Map System
  • Health After Oil
  • Localise
  • OrganicDesign
  • Wiki

  • Appropedia (CC-BY-SA 3.0)
  • Foundation for Peer-to-Peer Alternatives
  • Instructables
  • LibrePlanet
  • Open (Government) NZ
  • Participedia
  • SourceWatch
  • WikiEducator
  • wireless mesh

  • Guifi
  • workplace democracy

  • Enspiral
  • The Working World