Matrix
Matrix is a federated protocol that supports end-to-end encryption. It was founded around September 2014 and was being funded by its parent company, Amdocs, up until October 2017. Matrix's manifest states that they believe people should have full control over their communication, they shouldn't be "locked into centralised communication silos...". The team behind Matrix also holds the point that having the ability to have conversations completely private and secure is a basic human right, and that it all needs to be free and open.
Clients
To be able to communicate through Matrix, a user needs a client. The official client developed by the team behind Matrix is called Element. According to the description on their website, the client supports all the notable features of the protocol, except for supporting multiple accounts. Below is a list of all Matrix clients known for now.
| Name | Lifecycle | Active | FOSS | Voice | Spaces | E2EE | Language | Frameworks |
|---|---|---|---|---|---|---|---|---|
| Element | Mature | |||||||
| Element X | Beta | |||||||
| Cinny | Mature | TypeScript | ||||||
| FluffyChat | Mature | Dart | ||||||
| SchildiChat | Mature | Kotlin | ||||||
| SchildiChat Next | Beta | Kotlin | ||||||
| Quadrix | Mature | TypeScript | ||||||
| Tammy | Mature | Kotlin | ||||||
| Extera | Mature | TypeScript | ||||||
| Faraday | Mature | Kotlin | ||||||
| chatrix | Mature | TypeScript | ||||||
| Ement.el | Mature | Emacs Lisp | ||||||
| matrix-commander | Mature | Python | ||||||
| matrix-commander-rs | Mature | Rust | ||||||
| Hydrogen | Beta | TypeScript | ||||||
| NeoChat | Beta | C++ | Qt | |||||
| Nheko | Beta | C++ | Qt5 | |||||
| Quaternion | Beta | C++ | Qt5 | |||||
| kazv | Beta | QML | ||||||
| Fractal | Beta | Rust | GTK4 | |||||
| chatty | Beta | C | ||||||
| iamb | Beta | Rust | ||||||
| gomuks | Beta | Go | ||||||
| Commet | Alpha | Dart | ||||||
| gotktrix | Alpha | Go | GTK4 | |||||
| mnotify | Alpha | Rust | ||||||
| chooj | Alpha | TypeScript | ||||||
| Watch The Matrix | Alpha | Swift | ||||||
| Moment | Alpha | QML | ||||||
| Commune | JavaScript | Svelte | ||||||
| Mirage | QML | |||||||
| Tensor | C++ | |||||||
| Syphon | Dart | Flutter |
Instances
Instances are the servers on which the user data is stored. The official Matrix instance is situated at matrix.org, but any user can host their own using server software provided on the website.
Servers
| Name | Lifecycle | Active | Licence | Language |
|---|---|---|---|---|
| Synapse | Stable | AGPL-3.0 or later | Python | |
| Construct | Beta | BSD | C++ | |
| Conduit | Beta | Apache-2.0 | Rust | |
| Dendrite | Beta | AGPL-3.0-only or Element Commercial Licence | Go | |
| Telodendria | Alpha | MIT | C | |
| Transform | Apache-2.0 | TypeScript | ||
| Pallium | Apache-2.0 | Go | ||
| Matrex | MIT | Elexir | ||
| Maelstrom | Apache-2.0 or MIT | Rust | ||
| Dendron | Apache-2.0 | Go | ||
| Ligase | AGPL-3.0-only | Go | ||
| jSynapse | Apache-2.0 | Java | ||
| conduwuit | Apache-2.0 | Rust | ||
| mxhsd | AGPL-3.0 or later | Java | ||
| bullettime | Apache-2.0 | Go |
Integrations
The Matrix protocol has a system of bots and widgets that add unique features, thus enhancing user experience. Users can browse the available integrations on Matrix's website and install them on their instance by following the instructions from the repository page of the integration.
Bridges
Matrix provides official bridges for XMPP, Gitter, Slack, Mattermost, and IRC. The community provides bridges for the following services: