Send in your ideas. Deadline October 1, 2024
Help translate
More info available :
Theme fund: NGI0 Discovery
Start: 2020-04
End: 2022-10
More projects like this
Software engineering


Bridge ActivityPub and Matrix realms

Matrix-Appservice-CommonsPub is a bridge between two decentralized protocols: Matrix and ActivityPub. The development includes polishing CommonsPub, an Elixir generic ActivityPub implementation, and creating an Elixir library to build Matrix bridges. We will first focus on private messages between Matrix users and users of an ActivityPub-enabled platform, like PeerTube or Funkwhale, then explore the possibilities of synchronizing ActivityPub feeds (e.g. "toots" feeds) in Matrix. The bridge comes as an easy-to-deploy, secure and scalable solution.

Why does this actually matter to end users?

Social media are important for many people to stay in touch, but they also influence the way we act ourselves. Their persistent presence in our lives creates a lot of pressure to be someone else then we are. This is not a coincidence: the developers have designed the software to keep us 'engaged' at any cost. If we sleep less well because of a message we got just before we went to sleep, that is fair game. We may wake up with a hundred messages we "missed", which creates a lot of stress. But it keeps us engaged, and keeps the advertising cash flowing.

Another problematic issue to address is monoculture. Social networks do not allow to cross the boundary of their service in an easy way, leading to social lock in and a "winner takes all" scenario. This limits choice, but also exposes users to legal dangers. Confidential discussions through "private" messages for instance turn out to be not so private, such as the case where a United States got the social network Twitter to hand over the personal communication from European human rights activists and a member of the Icelandic parliament over a severe human rights violation by the USA military. The European Court of Human Rights would certainly not have allowed this, but it happened outside of our jurisdiction - even if all the actors never left Europe.

Problems of social engineering, toxic spaces and surveillance can be addressed by taking matters into our own hands: organizing social media and communication yourself, using open and decentralized solutions precisely as you want it. That is what the protocols ActivityPub and Matrix respectively offer. ActivityPub allows independent servers, each hosting their own social network, to talk to each other on the same level and let users chat, share and interact seamlessly. Matrix offers equally decentralized communication that for users, can be compared to email (but a whole lot safer). You can talk to anyone regardless of what app or server they are using. As these decentralized protocols already build bridges between independent networks, servers, apps and users, now the time has come to link Matrix and ActivityPub together, which is what this project will aim to do.

Run by Etape 2 (non-profit), physically based at the Fuz hacklab in Paris

Logo NLnet: abstract logo of four people seen from above Logo NGI Zero: letterlogo shaped like a tag

This project was funded through the NGI0 Discovery Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322.