As more and more people are asking me about Mastodon I felt a need for a picture to point at, showcasing how the software known as Mastodon fits into the much larger concept of the Fediverse. I made this visualisation to help myself and others explain the many different use-cases and benefits of different services that can exchange information.
Current version: 2.0
License: Creative Commons Attribution-ShareAlike 4.0 International License. You are free to publish in your own spaces and use in a professional capacity, as long as you reference back to axbom.com and do not change the license.
I am well aware this still doesn't cover all available tools. The image is a simplification, as most models are. Given that new tools can be made available regularly it would be an insurmountable task to pursue a complete mapping. Hopefully this visual is enough to illustrate the amazing variety of services within the Fediverse, and will spark curiosity to explore further.
You can download the diagram in PNG format or as a PDF.
Federated? What does that mean?
Fediverse is shorthand for federated universe. But what does federated really mean in this context? It's important to remember that the vast majority of applications in my picture can be installed thousands of times over and each of these instances, or servers, be of many different sizes. Each of these have their own rules and ownership, and make up their own corner of the Fediverse. I am fond of these explanations provided by Bonfire:
- A federated social network is a system that is decentralised, developed and operated by distinct providers (something like email but for social networks). It consists of multiple social apps and websites, where users of each site can communicate with users of any of the other compatible sites.
- An application or website participating in a federated social network is interoperable with the other sites (known as instances) and federates (fetching and especially pushing data) with them based on their users interactions. Communication among the social websites is conducted through social networking protocols, like ActivityPub.
- Advantages of a federated network:
- Robust and resilient
- Scales horizontally
- Private data stays on each user’s home instance
- Each instance is responsible for its content (moderation of discussions, etc)
- Standards-based but also extensible
Questions and answers
What, if anything, is the advantage of having accounts on multiple (micro)blog sides like mastodon? I get the purpose of the separate video, music and photo ones, but many of these look at first glance like alternatives to mastodon. Is that the case and it’s just user’s choice/where someone feels most comfortable?
Yes I would say it's more often a user preference. They have different interfaces, features and integrations. I understand Friendica for example has a Twitter add-on, and supports the diaspora protocol. Some people may also want several accounts for redundancy, or for talking about completely different topics, e.g. one for golf and one for knitting.
Why is Nextcloud in the diagram?
Nextcloud announced the alpha version of ActivityPub social features in 2018. More recently they also announced this: Trust in Musk or go federated with Nextcloud Social!
What this means is that through Nextcloud Social, "users can share their thoughts on an activity feed and subscribe to the feeds of others. The activity on Social shows on the users’ profile page and users can easily share photos and other documents from within other parts of Nextcloud." There is a plugin for this but it will be a default part of Nextcloud by the end of 2022.
How is Wordpress or Drupal part of the Fediverse?
You can use a plugin to implement the ActivityPub protocol for a Wordpress blog. Same with Drupal. Readers will be able to follow blog posts on Mastodon and other federated platforms that support ActivityPub.
Why is Matrix shown in the diagram all by itself. Is it really part of the Fediverse?
Matrix fits all the characteristics of a Fediverse protocol: "It is decentralised, developed and operated by distinct providers (something like email but for social networks). It consists of multiple social apps and websites, where users of each site can communicate with users of any of the other compatible sites."
As Mastodon has grown in popularity and adoptance, many tend to think of the Fediverse as only those applications that are based on the ActivityPub protocol. But protocols will come and go, and there are already others (not included in the diagram) that are not questioned as fediverse-included: such as Zot. I would argue that yes, Matrix is most definitely Fediverse software.
I also included it because by some measurements it is the second-largest protocol (counting the number of instances/nodes) which means that it is a significant player when talking about the Fediverse ecosystem.
One ActivityPub application already working on Matrix protocol support (very early on) is Socialhome. Socialhome today supports both ActivityPub and diaspora.
As an example of a Matrix address: I am @axbom:xbm.se on Matrix.
Links to Fediverse software and services
Here is a complete list of the tools mentioned in the visual. The paid services are micro.blog and write.as, They both federate with the network, but are themselves not offered as open source software (some of the micro.blog mobile apps are). They are mentioned here to indicate that commercial software can also hook up to the Fediverse.
- Drupal (via plugins)
- GnuSocial (will be tying this closer to OStatus in the next iteration)
- Micro.blog (paid service that federates with ActivityPub)
- Wordpress (via plugins)
- Write freely
- Write.as (hosted version of Write freely)
Applications not in the diagram
As mentioned, the diagram is far from an attempt at being complete. It's aimed primarily at being useful for communicating the concept and variety of the Fediverse. The following applications may or not make it into the diagram in the future, but they could be worth checking out for you.
- Calckey - a fork of Misskey
- Inventaire (books) - this keeps being mentioned to me but I'm hesitant as it has a centralized technical architecture. Even though yes, is has limited ActivityPub integration, people do not download Inventaire and create their own instances. In that sense it works more like the paid services I mention.
Protocols in the diagram
- ActivityPub protocol on the W3C website
- XMPP (chat) - a protocol for chat that has been around a long time (some of you will remember Jabber) and would almost require its own diagram. Also see the ejabberd and prosody platforms built on XMPP. The applications Movim and Libervia support microblogging, and much more (like file sharing, photo albums, events), on XMPP.
Protocols not in the diagram
- AT - not launched yet
- pump.io - a general-purpose activity streams engine that can be used as a federated social networking protocol
- Solid - a specification that lets people store their data securely in decentralized data stores called Pods. Pods are like secure personal web servers for your data.
My previous posts explaining Mastodon, both with links to even more learning resources.
Interested in following me in the Fediverse? Your best bet is to copy and paste my username into the search box on your home instance/server:
Nov 2, 2022: version 1.0
Nov 3, 2022: version 1.1
- Moved Diaspora from the Networking circle and created two small trees for the diaspora and OStatus protocols.
- Added a branch for paid services, moving micro.blog and adding write.as.
- Added Wordpress to the Writing circle.
Nov 4, 2022: version 1.2
- Changed license to CC BY-SA (removed NC).
- Removed Plume (no longer in development).
- Moved Socialhome and connected it with the diaspora protocol.
- Added Drupal to the Writing circle.
- Added Castopod to the Multimedia circle.
- Added Matrix as a separate tree on its own protocol (Matrix).
- Redesigned the branch with paid services, making these less prominent. They are now only represented by their icons.
Nov 25, 2022: version 2.0
- Made the events circle larger and closer to Hubzilla and Friendica... Friendica is still outside that circle but the diagram is not intended as a perfect representation of functionality
- Added comma after "podcasting"
- Added XMPP as its own tree
- Added the Zot protocol as its own tree and made a line between the Zot tree and Hubzilla
- Moved GNUSocial further to the right and made a line from it to the OStatus protocol tree
- Added back Plume to the writing circle. While not still actively maintained it has not disappeared and people still use it
Add the Fediverse logo to all tree trunks?*This adds more visual noise and does not help the idea of using the diagram as a tool for conversation.
- Nextcloud can talk to Matrix and XMPP
- Drupal can talk XMPP and is working on Matrix
Image description of the diagram
I encourage using this description as ALT-text for the image when publishing it in other places.
A large tree grows from a green platform labeled “ActivityPub + more”. ActivityPub is a protocol for communicating between different applications in the Fediverse. The trunk of the tree is labeled Fediverse, to indicate that all the applications within the tree crown are part of the Fediverse.
The crown is made up of circles that intersect with each other.
Circle 1: Multimedia (streaming, video, photos, podcasting, images, files).
Apps: Downcast, PeerTube, Pixelfed, Castopod and Nextcloud.
Circe 2: Networking.
Apps: Friendica, Mastodon, Misskey, Pleroma, Diaspora, GnuSocial, Hubzilla, Socialhome, kbin and Lemmy.
Circle 3: Music.
Circle 4: Books.
Circle 5: Writing.
Apps: Write Freely, Plume, Drupal (via plugins) and Wordpress (via plugins).
Circle 6: Events.
Apps: Mobilizon and Bonfire.
Growing out of the trunk is a separate branch labeled “Paid services”. Apps here are micro.blog and write.as.
Off to the right are 3 small trees, one rooted in diaspora protocol, one in the OStatus protocol, and one in the Zot protocol. The two applications Hubzilla and Friendica connect with Diaspora and OStatus using dotted lines. Socialhome connects to Diaspora. GnuSocial connects to OStatus. Hubzilla connects to Zot.
Off to the left are two small trees, one with its roots in the Matrix protocol and the other with its roots in the XMPP protocol.