Matrix is a messaging eco-system that’s Open, Libre, Free as in Freedom. We can use Matrix our way, while our friends on Matrix can choose to use a different app that suits their tastes, and a different service provider with different terms and conditions that better suit their needs.
Like the personal messaging silo mega-corps (WhatsApp, Telegram, Signal), and like business messaging silos (Slack), Matrix gives us:
- text messaging
- pictures, video
- voice and video calls
- and more
Unlike the silos, Matrix:
- encourages variety and competition in apps and services
- including paid, free, and open source ones
- does not require a phone number or phone signal
- for example: students can use matrix over campus wifi
- enables you to choose or create your own ToS
- for example: your friend may permit their children to have accounts
- supports using multiple devices at once
- for example: use matrix on your phone and laptop
- enables you to Own Your Own Identity
- identify yourself with a personal or family domain name
- is a great fit for a school, a church, a business, or an army
- use the organisation’s existing user accounts, data storage, privacy policies
Open, Libre, Free as in Freedom?
Think of email. No one company owns the rights to the email system or controls what you can and can’t do, and who can and can’t have an email address. Think of the telephone system. While one company can operate a part of the service and put their branding and their terms and conditions on the user who signs up to their service, they do not prevent you from calling and receiving calls from any user who signed up to a different telephone service operator.
Matrix is in this way like email and telephones. If you don’t like how your provider operates any more, you can leave them and sign up with a different provider, and, the crucial part, still talk to your existing contacts, no matter which provider they use. 
As an alternative to using one of the paid or free service providers, anyone can also run their own Matrix “home server”, privately or commercially. This is a particularly good option for an independent or public organization such as a school, a church, or a business, which by running their own server can benefit from defining their own terms and conditions, linking the user accounts to their existing user account system, adding their own add-ons to their service, and controlling where the data is stored such as keeping it within their organization. This is a “can do” in both senses of “can”: they are allowed, and they are able. They are allowed, because that is a core tenet of the Open eco-system, and they are able, because it requires only a modest level of expertise and cost. At the larger end of the scale, one can rent an organization-scale matrix service, while at the smaller scale, a technically inclined friend can run a server for a family or an individual.
“What’s So Wrong with Using WhatsApp?”
We hear a lot about “privacy issues” in the news. Often we feel these issues would not practically impact ourselves. We understand they could be a problem for some people who are already vulnerable, people involved in something dangerous or living in a country whose law-keeping and culture aren’t like ours. In our western society of literate adults, we feel for the most part that we have nothing much to hide, little to worry about if someone working in an internet data company can sometimes read some of our messages, because we feel secure enough that appropriate protections are in place.
Let’s look at an example close to home. In our sector of society it can feel like WhatsApp is free to use for us and all our friends. The easy assumption is that anyone not already on it can “just” sign up so it’s available to everyone in our social circle. But look deeper. Let’s consider just one of the several problematic issues. I want to share messages, photos and video calls with my daughter. Let’s say she is a technically literate 8-year-old called Lisa who has been using my WhatsUp on my phone under supervision, and it’s time she had her own phone. We could sign her up for her own WhatsApp account, but that would be breaking WhatsApp’s terms of service because she’s under 16. What would happen then? Likely nothing much to begin with — the megacorp doesn’t seem to check — but according to their terms they may terminate her account at any time. And they would treat it just the same as any adult’s account, sharing data with Facebook and introducing advertising and paid services into it whenever they want. Is this how I want my family’s private communications to be run? So what is a father supposed to do, when friends tell me I should “just use WhatsApp” to keep in touch with them? Try to keep a separation between messaging contacts who use WhatsApp, and private conversations with my family and their children in another app? That’s really awkward. It’s the current broken approach, the only choice we have had so far.
It’s not about me, and it’s not about you: we are both able to use WhatsApp, you and me. We’re all right, Jack. It’s about what we do to our friends when we expect them to use WhatsApp. We force our friends to split their communications into two groups: those using WhatsApp and those who shouldn’t. We restricts our friends’ freedom to manage their own communications the way they want to.
By contrast, if I ask my friend to use Matrix to talk to me, I grant them the freedom to use the same service provider as me, if they wish, or a different one if that suits them better. I grant them the freedom to use any matrix-capable app of their choice, connected to a matrix server with terms and conditions and features that suit their needs. I grant them the freedom to talk privately with their children using the same platform that they use for talking to me, without forcing on them the same account provider or the same terms and conditions that I chose for myself. Going a step further, if I rent or run a Matrix server for my family, I can write my own terms and conditions which say my children are allowed to use it. They might not be allowed to contact users registered on certain other servers, or on any other servers at all, depending on what I choose. The point is, in an “open” system, I can do this, in both senses of “can” — it is legally allowed and I am practically able to do it.
“Why isn’t everyone on Matrix then?”
Simply because it’s relatively new — having begun around 2015 and become mature enough for daily use by ordinary people around 2020 — and of course because the commercial silo systems have a huge market share, a huge advertising revenue to spend on self-promotion, and huge vested interests in users remaining locked in their silos. In late 2020 there have been proposals in the EU Commission to force megacorp silos such as these to inter-operate, but the proposals (in my opinion) are unlikely to come into force strongly enough for many years. The situation was the same with telephones a hundred years ago. Many incompatible services. Eventually regulators made them inter-operate. It took years. E-mail too suffered from some competing incompatible services in its early years, until the advantages of using the standard interoperable email system led to it becoming universal. E-mail is the success story of the (last) century, having been an Open standard from the outset, and this is why today email not only endures but is still the bottom line, the universal standard for digital connectivity with everyone.
Initially unexpected by the original creators of Matrix, but easy to explain with hind-sight, Matrix has taken off fastest in the public sector. Enlightened governments are keen to rid themselves of dependence on the American megacorps. The French civil service, the German military, and German schools and universities were some of its earliest large adopters, keen to publicise their successes, while UK and US and other governments are said to be investigating more quietly. As it is an open system, their involvement funds improvements that are shared for everyone’s benefit.
“How can I get started?”
- iOS and Android apps; https://fluffychat.im/web/ in a desktop web browser
- a simple and friendly style, ideal for private individuals chatting with friends
- iOS and Android apps; https://app.element.io/ in a desktop web browser
- aimed at a wide audience from private individuals to business users
- a bit complex for a casual user, especially in settings, but very usable
- written by the founders of Matrix, it is the most widely known client
I would suggest FluffyChat if you are new to Matrix and want a simpler getting started experience, and expect to have under ten chat rooms for the time being; or Element otherwise.
You have the freedom to switch to another app at any time, keeping your same existing user account. In addition, these two client apps are both Free (as in Freedom) Software, so you are free from the risk of the creators insidiously adding advertising or anything unwanted over time, as other people can and will fork the software and create new free-from-whatever versions of the apps if the original creators should ever try doing that.
There are several providers and ways to register a Matrix account, both paid and free to use. The two main options are either to rent your own server (about £10 a month at the moment supporting several user accounts) or to get a free-of-charge account on a shared server. Some server options are loosely coupled or bundled with a client — for example, if you rent your own matrix server from Element, they give you an Element web-client to use with it — but you don’t have to use them together, you can just ignore one and use something else.
- matrix.org — free; the biggest general-use server, run by the Matrix founders’ company for public use; has sometimes suffered periods of problems like extreme slowness due to overloading, and spam, but mostly is fine; limited to main Matrix functions and certain bridges
- get your own server (various ways); complete flexibility to run add-ons is possible of course
If you are new to Matrix, I suggest getting a matrix.org account first, while keeping in mind that you should later look into getting your own domain name and your own matrix server/service tied to your domain name.
 If you use your own user identity (@me:mydomain) rather than borrowing one from the service provider, then it’s even better: when you switch providers you could keep your identity. You can use your own user identity currently by renting or running a personal matrix server. (I hope to see easier and cheaper options becoming available soon.)
I am looking to rent one or more servers, fairly cheaply, to run self-hosted software such as Matrix and GitLab. Here I check out the best rented VPS and dedicated servers for my use case, and compare with the run-it-myself approach.
How do people identify you online?
- some-name on WhatsApp.com / Facebook.com / Twitter.com / etc.?
- email@example.com / @hotmail.com / @outlook.com / @icloud.com / etc.?
Whether we call these our id’s, addresses, accounts or handles, most of our identifiers look like these. The bad news is these identifiers are not ours. They don’t belong to us. We are just borrowing some-name from some.company .
If they so choose, some.company can block our account, or start charging for it, or give it to someone else, or change how “our” account works, or start posting adverts on it. They can mine “our” identifier for marketable metadata about ourself and our contacts, or censor what we can and can’t use it for, or sell the management of it to another company, or delete the data we stored there, or do anything else they choose. It’s neither legally nor practically ours. It’s one of their business assets, and they owe us no loyalty whatsoever. If the service is “free” then we and our attention are the product being sold to their real customers such as advertisers. 
Most of us are trusting people expecting to live in a stable world. We trust it will just continue to work, for free, for as long as we want it. Especially if we’re the president of the United States of America . Oh, how the world proves us wrong.
Owning One’s Identity
There is a better way.
By owning our identity, we can set our own rules when a silo’s ToS do not suit us. For one example among many, some of us might want to talk to our children. If I am using WhatsApp, signing up my children is forbidden. I am not allowed to use the same silo to talk to my children that I use with my adult family and friends. But when we run our own matrix server for our family, then we can give our children their own accounts, under our supervision, and exchange messages and photos and make calls with them.
There are two sides to owning our online identity (or identities). We need to have both legal ownership — to be allowed to use it — and practical ownership — to be able to use it.
- Legally owning our identity means we must use identifiers such as firstname.lastname@example.org where the domain name part (myname.org) is registered to us personally, rather than borrow a name that is issued by some.company and therefore remains under their control.
- Practically owning our identity means we must have the ability to communicate without requiring both ourselves and our contacts to be
customersproducts of some.company. Our communications technologies need to be “open” in the sense of freedom-respecting and universal, like email is, in contrast to the “silos” or “walled gardens” like WhatsApp, Twitter and all the rest whose users can’t talk to anybody outside them.
Legally owning our identifier means retaining the rights to that identifier, even when we change providers of any services. In practice today we are talking about identifiers based on DNS domain names. Years ago, domain names like example.com were the preserve of companies, universities and governments, but nowadays anyone can register one for around £10 to £30 a year. A domain name remains ours for as long as we pay the domain registration fee. The domain name registrars are strictly regulated, giving us about the highest level of guarantee we could achieve in today’s world. (In principle of course they could be overruled or changed by governments, as could anything.)
Practically owning our email is quite straight forward, because email is based on standards that are non-proprietary and universal. (Companies like Google have tried to put their own hooks and claws into the process but they have not gone quite so far as to make gmail incompatible with standard email, thank goodness.) Because of this, we can independently register our own domain, choose our own email address at our domain, and rent an email service from an independent email service provider (such as Fastmail) and attach it to our email address(es). We can even copy our email history onto it, set up forwarding from the old email account to the new one, and so on. And the important part about “ownership” is if this rented service should ever become unavailable or unsuitable, we don’t lose our email address, and we can rent an equivalent service from some other company, transfer the address, and so keep on using our own same email address without our contacts even noticing the transition.
Practically owning our social media and instant messaging had been not impossible but mostly impractical until, at last, around 2020 there has been massive development and uptake of freedom-respecting and universal options, and their names are now becoming well known. The ones I want to call out are:
- Matrix (universal instant messaging)
- the Fediverse (ensemble of federated social media including Mastodon, Plemora and many others)
 Even if we were to pay rental for one of these silo services, that would not change much: they tend to offer no real service level obligation, and can still stop it or change it or do pretty much as they wished in all other regards.
If you’re a member of a FOSS community and thinking of using something like Slack… pause!
On behalf of FOSS fans everywhere: please seriously consider using [Matrix], the Open federated standard system. It’s perfect for this sort of community, with bridges to Slack and IRC and many other systems. In the last two years Matrix has leapt ahead of other contenders like XMPP and is becoming the Open system of choice adopted by organisations from Mozilla to universities and governments.
It’s a great platform for integrating the chat side, and even the presentation side through Jitsi, of online events. The matrix devs do it and wrote a blog post describing how: https://matrix.org/docs/guides/running-online-events
Before any of us risks pushing another FOSS community into the proprietary silo trap, let’s pause and consider how we all would in fact be paying for it if it’s “free as in beer”. I’ve been watching this space since five years ago when the FOSS alternatives were weak, and now I’m really excited to see that, with the overwhelming global need for such a thing, Matrix has grown strong and is accelerating rapidly.
I would strongly encourage the ASF membership to deploy their own Matrix server ASAP as it’s the perfect fit for this sort of organization. I run a personal Matrix server and benefit from modern multi-device single-app access to all my IRC messaging (via a public bridge), all my WhatsApp messaging (via a private bridge), some private notes like diaries, as well as federated native Matrix messaging.
I can give more detailed advice and put you in touch with specific contacts.
- https://matrix.org — for an introduction to Matrix
- https://matrix.org/docs/guides/running-online-events — see above
- https://element.io/blog/welcome-to-element/ — for an introduction to the top company/brand of Matrix services and apps (a bit like how Redhat is to Linux)
- https://sifted.eu/articles/element-germany-deal/ — news about big government deployments of Matrix
- https://element.io/communities — glossy page about how great Matrix/Element is for communities
This is important. Watch Jasper Nuyens’ FOSDEM talk about Tesla hacking and the FreedomEV project:
For individuals, Matrix's identity scheme creates lock-in.
How to fix?
I love Matrix. I think it’s the way forward for libre/open (as in freedom) personal communications, with a real chance to free users from the lock-in of popular silo messaging systems like Whatsit, Facepalm and Twiddle. I run all my own messaging (except email) through Matrix, with bridges to the silos that my friends still use as well as SMS and IRC.
At present, unfortunately, there is a big obstacle to me recommending any friend or family member to sign up to Matrix: identity and server lock-in.
An Open system with lock-in? Ugh. What went wrong?
To use a silo, you register an account and either you are identified by your telephone number or you choose a username. (You can then set some account options, usually including a “display name” which you can change from time to time.) Now, what if at some point you dislike that silo’s rules or advertising or charging? You’re stuck. They deliberately designed the system so that nobody has any options other than continue or quit.
To use Matrix, you register an account on a server. You first need to choose a server, which is identified by its Internet domain name such as
my-own-server.my-name.me if you run your own server. You can find out which servers are available for public use. Some are free of charge and others require payment, similar to email services. Having chosen a server, you pick a username and are then identified globally as @username:servername . (You can also choose a display name.)
Matrix right now is great for an organization: running their own server on their own domain, they control their own rules and namespace for users, rooms and groups.
If you are a normal person, your default option is to register a username on ‘
matrix.org‘. (In principle there will be other public servers but there are hardly any so far.) Then, that username is tied to that server forever, or at least until Matrix developers invent a way out.
This lock-in is different from a silo. At least with Matrix you can create a new account on another server, to get away if you don’t like the old one. What you can’t do (yet) is migrate your old account to the new one. Not in any way. See “Account Migration” below.
Bring Your Own Domain Name
One way to mitigate the account migration problem is to register an account under a server domain name that you control.
The point is, then, the user controls their own domain name registration, which is directly registered with a domain registrar, outside the control of and Matrix or other service provider. The user can keep their own domain and have it served by a new server in the future if the current server becomes unsuitable or unavailable.
How feasible is this, today?
- A geek with time and skills can register a domain name and run their own server.
- A person with some time and effort and money can register a domain name and pay for a hosted matrix server. The cost and effort is broadly similar to setting up a new phone or internet or TV service. It does require some investment of thought and learning what it’s all about.
- A normal Whatsit user is used to “free and easy”, and there is currently no such option for them.
Hosted servers come with significant limitations on customizing your server. For example, on modular.im (currently the main hosting option), AFAIK you cannot run the Whatsit bridge.
What can we do to improve things for the normal user?
- make it cheap (not necessarily free)
- Build a server that can serve lots of different people’s personal-domain user accounts. (This may be called a “multi-tenant” server design.) @mfilipe:matrix.org mentioned this today on #matrix-dev:matrix.org.
- Spread the word that it’s sensible to pay for a service so that you are not the product being sold, unlike the free silos.
- make it easy
- Build services in which a new user can set up a domain name and a matrix server or account at that domain, and pay for both with one payment. (Major providers of some services like email offer this.)
- For people migrating from a specific silo, offer ready-to-use setups (bridging) and messaging (intro, and suggestions for how to tell the silo friends about it) that are customised for that case.
- Make it easier for geeks to run matrix servers for their friends and family.
Who should be doing this? Not necessarily the Matrix Foundation or New Vector (who make Riot and Modular.im among other Matrix things). They have limited resources and their own priorities. It’s an open-source system so anyone wanting these things should get involved and start making them.
It would be useful to be able to migrate an old account to a new one in ways like:
- forward messages to the new address
- inform all contacts of the new address
- set up an auto-reply
- copy account settings
- copy message history
- copy a list of contacts
I was thinking about what is possible in email, and what regrettably isn’t available. Migrating an email account is not at all simple, but most of the mini-features above are possible to some extent. One thing regrettably missing in the email system is a way to automatically inform senders to an old account that they should update your address and re-send to a new account. (Like an HTTP “redirect”.)
It would be useful to develop those kinds of mini-features for making the transition to a new matrix account smoother. That might be a feasible short-term mitigation.
However, there is a better long term solution: decoupling accounts from identity.
[TODO: Write about decoupling identity.]
Very exciting to see how Matrix is gearing up to provide a sorely needed Open alternative to the proprietary silo chat systems. This blog post gives a good, long, round-up of how it’s coming along.