Matrix is used by governments, defense forces, open-source communities and Fortune-500 companies. It's not a hobby project that almost works — it's a running network carrying real traffic across thousands of homeservers. This page is a quick tour of who's running Matrix, what server software powers their homeservers, and how the spec evolves.
Matrix is stewarded by the Matrix.org Foundation, a UK non-profit that owns the spec and runs matrix.org (the community flagship homeserver). The foundation doesn't control the network — its job is to keep the spec open and to publish official reference implementations. Anyone can build on the spec without asking permission.
The foundation is funded by donations and by corporate members (Element, Automattic, Famedly, Gematik, others). Spec proposals go through a public MSC process — anyone can write one, and the Spec Core Team decides what merges. The spec is versioned; homeservers and clients advertise supported versions and degrade gracefully when talking to older peers.
Multiple independent server implementations exist, and they're all federation-compatible:
The original Python reference implementation. Most widely deployed. Powers matrix.org itself, KDE, Mozilla, Wikimedia and many corporate deployments. Mature, battle-tested, feature-complete.
Second-generation Go implementation from the Matrix core team. Modular architecture (component servers that can run together or separately), better scaling characteristics, reduced memory footprint. In production at several deployments.
Lightweight Rust implementations designed to run on a Raspberry Pi or a cheap VPS. Single-binary deployment, RocksDB storage, very low resource floor. Conduwuit is an actively maintained community fork with a faster release cadence.
The Rust homeserver Meldry runs under the hood. Modern async architecture, tight integration with our multi-tenant orchestrator, per-tenant database isolation. Built to run many small homeservers cheaply on shared infrastructure — the opposite of Synapse's "one server, one big deployment" model.
All four speak the same client-server and server-server APIs, so a Matrix client doesn't care which one you pick.
A huge practical reason Matrix is used as a "unified inbox" is that bridges exist for almost every major chat network: Telegram, Slack, Discord, WhatsApp, Signal, IRC, XMPP, Google Chat, Microsoft Teams (community), WeChat, LINE, iMessage (community), SMS via Android Gateway, email (via SMTP bridge), and more. Most are maintained by the mautrix project — a Go-based family of bridges that all share a common framework.
See Bridges for the ones shipped in Meldry, and Appservices for writing your own.
#kde channels.The Matrix spec is versioned. Rooms declare a room version (1 through 11 at the time of writing) controlling state-resolution algorithm, event format and auth rules. New rooms on modern homeservers default to version 11; older rooms can be "upgraded" by room admins to bring them up to date, which creates a new room and links the old one as a predecessor.
Homeservers advertise supported spec versions at GET /_matrix/client/versions. Clients handshake against this list and degrade gracefully for older servers. You'll occasionally see an "unsupported room version" error when joining a very old room on a very new server (or vice versa) — the fix is usually to upgrade the room.
The current spec lives at spec.matrix.org and is versioned by release date (e.g. v1.11, v1.12). Homeservers target whichever versions they've implemented; spec churn is intentionally conservative — breaking changes are rare.