== Context
Real-time communication is somewhat of a pain point for the Wikimedia movement. There is a large contingent of IRC users with highly specialized workflows (various notifications, highlights, personal scripts, helper bots, vandalism tracking bots etc) for whom moving to a different chat system is probably a no-go. There is also a large contingent of less technical users for whom the cost of learning IRC (with all that setting up a convenient environment involves - cloaking, a bouncer, notifications etc) is prohibitive. Using a different system for them creates a rift in the community, and is often contentious (as the most popular options are not free software). [[https://matrix.org/|Matrix]] / [[https://about.riot.im/|Riot.im]] (backend and default client for the same chat system) has the promise of fixing this problem - it is backwards-compatible with IRC on a low level and aims to provide a modern UI with all the bells and whistles people have come to expect from a chat system.
We what it would take for Matrix to be the offical chat system recommended for Wikimedia community members (IRC users could stay on IRC if they wanted, the two systems are fully interoperable) and see if we can help them get there. As a first step we should evaluate whether there are any features / UI improvements we'd want and whether those are must-haves or nice-to-haves.
Matrix.org is federated so there is probably not too much value in setting up our own instance. To evaluate, follow the steps on the [[https://meta.wikimedia.org/wiki/Matrix.org|Matrix.org]] Meta-Wiki page.
See also:
* {T222458}
* {T230531}
== Evaluation
==== Overview
Matrix is a messaging and data synchronization protocol using a federated network of servers (called homeservers). Users and rooms are scoped to homeservers (with rooms being able to span many homeservers via aliases). Communication happens via JSON-based REST APIs; clients talk to their own homeserver which is responsible for authenticating them, homeservers exchange the messages with all the other homeservers who have clients participating in that conversation, ensuring eventual consistency of the chat history. There are "official" clients for all major platforms (web, iOS, Android, Win/Mac/Linux desktop), and a large variety of third-party clients (and also a few third-party server implementations). UX-wise, the official clients aim for a Slack-like experience (and the protocol is also in some ways a reimagination of the popular messaging features, like message editing or emoji reactions, for a federated world).
Aside from its federated nature, the distinguishing features compared to other chat applications are the ability to do end-to-end encryption (on top of the normal, piece-wise encryption between client and homeserver, and homeserver and homeserver) for group chat, and a focus on seamlessly bridging with other communication networks.
==== Features
==== Privacy, safety and security
==== Governance and funding
Matrix is an open protocol owned by a non-profit, managed via [[https://github.com/matrix-org/matrix-doc/blob/master/proposals/1779-open-governance.md|open governance process]], evolved through an [[https://matrix.org/docs/spec/proposals|RfC-style process]]. The official server and client implementations are open-source (Apache 2.0). The company doing the development initially relied on crowdfunding, then went through two rounds of VC funding ([[https://matrix.org/blog/2018/01/29/status-partners-up-with-new-vector-fueling-decentralised-comms-and-the-matrix-ecosystem/|$5M in 2018 January]] from secure messaging company Status.im and [[https://matrix.org/blog/2019/10/10/new-vector-raises-8-5-m-to-accelerate-matrix-riot-modular/|$8.5M in 2019 November]] from multiple SaaS funders); it now has a SaaS offering ([[https://modular.im/|modular.im]] and has been chosen by the [[https://matrix.org/blog/2018/04/26/matrix-and-riot-confirmed-as-the-basis-for-frances-secure-instant-messenger-app/|French government]] and [[https://www.heise.de/newsticker/meldung/Open-Source-Bundeswehr-baut-eigene-verschluesselte-Messenger-App-4623404.html|German army]] as the supplier of their communication systems.
==== Adoption
==== Roadmap
* [[https://matrix.org/blog/2019/02/15/publishing-the-backend-roadmap/|Server (Matrix/Synapse) roadmap]] / [[https://medium.com/@RiotChat/whats-next-for-riot-web-be48f948c801|client (Riot) roadmap]] from early 2019
* [[https://matrix.org/blog/2019/12/24/the-2019-matrix-holiday-update/|2019 report / 2020 roadmap]]