This guide is a collaboratively-edited introduction to ActivityPub and provides links to sources of more information.
What is ActivityPub?
ActivityPub is a standard that allows different web applications to interact so that users can pool their information and collaborate across instances (websites, applications), even ones running different software.
Although only adopted as an official World Wide Web Consortium recommendation in 2018, the ActivityPub protocol is already implemented in a significant range of projects. These include:
- Microblogging platforms like Mastodon, Misskey and Pleroma.
- Decentralized media hosting and sharing platforms like Funkwhale (audio), PeerTube (video), and Pixelfed (images).
- Blogging platforms like Plume and WriteFreely.
- Social network platforms like Friendica.
ActivityPub supports common social network activities like following, liking, announcing, adding, and blocking. For example, if you have an account on a Mastodon instance like mastodon.social, you can follow someone on a WriteFreely instance like Qua and receive updates whenever they have a new blog post.
Christopher Lemmer Webber, one of the co-authors of ActivityPub, noted in a post announcing the standard:
Increasingly, much of our lives is mediated through social networks, and so network freedom in these spaces – and thus removing central control over them – is critical. One thing you may have noticed in the last decade is that many decentralized free software social networking applications have been written. Sadly, most of those applications can’t actually speak to each other – a fractured federation. I hope that with ActivityPub, we’ve improved that situation.
In IT, a federation is:
a group of computing or network providers agreeing upon standards of operation in a collective fashion.
Federation is the term used to describe the interoperability that ActivityPub and other protocols can enable between different websites running different softwares. Sites that are connected in this way are said to be federated.
See Fediverse.Party for a good introduction:
It is a common name for federated social networks running on free open software on a myriad of servers across the world.
There’s a growing set of information out there about ActivityPub and how to use it. Here are some places to look.
Discussion, news and announcements
- The ActivityPub Rocks site has a general intro and historical announcements.
- The forum on ActivityPub Rocks is an active discussion site with many categories and topics.
- The Feneas forum is “a neutral place for all federated projects (and their users!) to come and discuss.” It includes ActivityPub discussion as well as broader topics to do with the Fediverse.
- Some technical discussion related to the ActivityPub specification takes place in the issue queue for the ActivityPub specification.
- We Distribute is “a publication dedicated to Free Software, decentralized communication technologies, and sustainability” with lots of Fediverse-related news.
ActivityPub Conference 2019, Prague
Extensive conference materials, including session videos, are posted on the conference site. This is a great place to get up to speed on current discussions and initiatives in the ActivityPub space.
FedConf 2020, Barcelona
A Fediverse conference will take place September 25 - 27, 2020 in Barcelona. See:
Introductions and overviews
Various projects that crawl, aggregate, and map the different instances that form the fediverse provide potentially valuable insights into what’s currently done in ActivityPub and the other federation protocols.
a fediverse search engine.
a tool to visualize networks and communities on the fediverse. It works by crawling every instance it can find and aggregating statistics on communication between these.
Provides an opt-in listing of Fediverse instances and the software that runs them.
Offers a wizard-based interface to identify suitable Mastodon instance based on user preferences.
a non-profit volunteer organization that aims to spread knowledge about federated web projects and help people and projects involved in this area.
Social Web Incubator Community Group
The Social Web Incubator Community Group exists:
to continue and extend the development of vocabularies, formats and protocols to support the distributed / federated social web, as well as related technologies (such as anti-abuse and anti-spam techniques suitable for an open web). This group continues the work of the W3C Social Web Working Group.
See the accompanying guides: