Reject Discord, Embrace Matrix!

If you're using Discord, Skype, Telegram, WhatsApp, Facebook Messenger, or especially Zoom, stop using them. There's a great service called Matrix that does everything those programs are capable of and more. And the best part? It's all completely free and open source. If you've ever signed up to one of the aforementioned platforms then you basically already know how to use it. You don't need to read the rest of the article.

Of course, perhaps you aren't convinced. That's what I'm here for.

What's Wrong With Discord?

Discord, and the other programs like it, are proprietary, or closed source. The ideal messaging app should be open source.

What Does 'Open Source' Mean?

This refers to the source code. The source code of any program is, as the name suggests, the code that makes up the program. They are the flesh and blood of an app. Everything that the program does depends on that code. If the source code is publically available for anyone to view, that program is said to be open source. If any part of the program's code is not publically available or protected under some sort of license that prohibits modifying the program, that program is said to be closed source.

What's Wrong With 'Closed Source' Software?

Because the source code is not publically available, the program's author can embed malicious code into the program without the user's knowledge. If you're thinking "like a computer virus?" then you're on the right track. Of course, the reality is a lot more subtle and arguably much worse.

I'm alluding to spyware. Code in a program that gathers data about you. Monitoring of said data isn't necessary for the program to run and also isn't stopped when closing the program. This data is used to create a profile of you. A model that companies can use to, at the moment, advertise to you. That might not sound that bad, but trust me: You should be very worried. (Just ask the Chinese!)

"I Don't Care About My Privacy."

Quite frankly, I think this is a load of BS. Most people have things they are unwilling to talk about with even their closest friends. You can't convince me that you'd be totally okay with walking up to some stranger and announcing to them the kind of porn you've watched, or the controversial political beliefs you hold, or the embarrassing secrets you confessed to a friend. Most people choose to remain willfully ignorant of how they are being monitored. Services like Discord and Zoom are incredibly convenient and they open up a tremendous world of possibilities. They give us luxuries that are hard to live without.

Now while I would strongly argue that you should try and remember that computers and internet are luxuries and should try to control your use of them to the best of your ability, that isn't really the argument I'm here to make. If all you want to do is talk to your friends or get into arguments with people about anime, you can do so with a program that has all the functionality of Discord and Zoom without any of the spyware. This is where open source software gets to make its dramatic entrance:

The Benefits of Open Source Software

Open source software is, by necessity, spyware-free. Since the source code is available to the public, there isn't any way to sneak in malicious code without attracting the ire of angry programmers from anywhere and everywhere. Open source software completely removes the element of 'trust' from the equation. The authors of open source software cannot spy on you even if they want to.

Oh, and if you still "don't care" about your privacy, here's something else to consider:

All that spyware, all those functions constantly running, will bloat up and slow down your system; they'll butcher your phone's battery. Open source software is, over time, optimised such that it only does what is absolutely necessary for your program to function. I can say from personal experience, when I started calling people over Jitsi (which is open source) instead of Discord, my phone's battery was spared a great deal.

Anyway, with all that out of the way:

What Is Matrix?

Disclaimer: My explanations from here on out are going to be lacking in technical terminology. In fact, I've likely already glossed over some things. This guide is intended for people that are still using these proprietary services. It's best to not overwhelm them with technical information they don't even need. If you need more detailed explanations, they're out there. Google them.

Matrix is, to oversimplify, a bunch of code that allows one to host a chat and call service. When you send someone a message on Skype, that message goes from you, makes a pit stop in Skype's servers, then is delivered to the recipient. Anything that goes on during a Zoom call must go from you, pass through Zoom's internal servers, and then make its way to the person(s) you're talking to. Matrix allows you to host that server yourself.

What Are the Advantages of This?

For starters, you are censorship-proof. If Discord decides that you have violated their rules, they can ban you from their servers. There is no permanent way around this. To interact with Discord, anything you do must pass through their internal servers. Making a new account is not a permanent solution. Nothing is stopping Discord from just banning this new account if they catch wind of it. In fact, most of these services have rules against ban-evasion.

But perhaps you're a well-behaved user. Well, I wouldn't count on this. These companies have gotten totally carried away with their ban-hammers over the last few years. What you say now may not be controversial in any way, but that could change with time. And make no mistake, these companies have absolutely no moral qualms about bringing up old posts you're embarrassed by and holding you accountable.

As an example, YouTube has made a particularly nasty habit of retroactively enforcing its terms of service. To understand how ludicrous this is: imagine tomorrow a law gets passed that makes it illegal to wear a green shirt in public. "Okay, fine." You say, "I guess I just won't wear green shirts anymore." But then imagine that you were found to be in violation of this law because you wore a green shirt 3 weeks ago. Imagine getting punished for breaking a law that you couldn't have POSSIBLY known was a law. That is quite literally how these platforms work.

That's where Matrix comes in. Matrix is not a website with an internal server that all your messages must pass through. Matrix is just software that runs on your server. Nobody can prevent you from using that software, in the same way that nobody can prevent you from using a word processor on your computer, short of destroying the physical machine itself.

So having a server for you and all your friends is nice, but perhaps someone you want to talk to is running Matrix on someone else's server, or on their own instance. Can you still interact with them? Yes, you can! All thanks to something called federation. Now, without getting into too much detail, (I'm still not entirely sure how it works to be honest) federation allows your instance of matrix to communicate with anyone else also running the matrix software on their server. Perhaps an example would help...

Believe it or not, you're likely already familiar with federation and you don't even know it. E-mail is a federated protocol. There are email giants such as Gmail and Yahoo, but companies, large and small, and even individual people can run their own email servers. Your account on Gmail can send messages to your friend's account on Yahoo. You two can interact with someone with a Proton Mail address, or even my little self-hosted email: michael@monstro1.com.

Now don't be overwhelmed by my mentioning of hosting a Matrix server. You can reap most of the benefits of Matrix without ever needing to touch a terminal. I just think it's very important that you at least understand how this works and how Matrix is different from something like Telegram. This is the fundamental difference and what makes Matrix a long-term solution. As for what benefits Matrix offers, I will get to that now:

But Are My Messages Secure?

I think first we need to establish something that, if you've been paying attention, you may have already surmised: your Skype messages are not secure. Not by a long shot. Nothing is stopping someone at Microsoft listening in on your calls. If you think this is a conspiracy theory, then you're not paying attention. This is an inherent risk with any closed-source, centralized service. Sure, they aren't supposed to violate your privacy in this way, but do you think that really matters? If it didn't stop Nixon, you shouldn't expect it to stop Zuckerburg.

Well for starters, if you're hosting your own Matrix server than all the messages are passing through your server. There is no large company that can peer in on your activity. But even if that were not the case, Matrix supports end-to-end encryption*. When you compose a message on Matrix, it is encrypted. That is to say that it is protected by a special lock. This lock requires a special key that only you and the recipient of your message has access to. The owner of your Matrix server cannot spy on you even if they want to! If Zoom tells you they care about your privacy, that's nice but it really doesn't mean anything. There's no way for them to prove that to you without releasing the source code. You are placing your trust in Zoom (which if you ask me is very naive). There is no element of trust with end-to-end encryption, it is just cold, hard evidence of secure messaging.

*End-to-end encryption is not currently universal among Matrix clients. More details about that below.

How Do I Use Matrix?

I think an important distinction needs to be made here. Matrix is software for a server. This is separate from the client. As we've established, the server is what handles the delivery of messages. Any message sent must pass through the server. The client is a program that turns the garbled mess of code sent through the server into something readable. It allows you to interface with the server without having to concern yourself with the internal stuff. Most services don't make a distinction between the server and client since you can only ever access them via one client. In fact, Discord actually prohibits the use of client-side modifications, and I believe other platforms have similar rules.

So What Makes Matrix Different?

Matrix itself does not have a client to its own name. Matrix has a myriad of separately designed clients by individual companies and people. You and your friend can be using different clients and still communicate with one another! Imagine downloading WhatsApp and getting to message someone on Discord. That's basically how it works.

Now there's tons of awesome potential here. There's a client called Element which is designed to look and function like Discord. There's one called gomuks which runs in the terminal. There's one called FluffyChat which is designed to look and function like WhatsApp and Telegram. There's even a client for the Nintendo 3DS. Yes, really.

Unfortunately, as I write this, there is a catch. I say this has potential because currently most Matrix clients I've found to be lacking in features. Also, not all of them support end-to-end encryption. Thankfully, Element supports it and is also packed with features (and has more on the way!)

Using Matrix

The client I would strongly recommend is Element. It is available for Linux, Windows, and Mac. It can be accessed in your web browser and is also on Android and iOS. You can find a link to it here.

Your matrix ID will always be formatted like this:

@username:homeserver

If you make an account through the client, by default you will be using Matrix's homeserver. So your username would look something like this:

@billy:matrix.org

If you want to talk to someone on a different homeserver, you must specify the homeserver. As an example, my friend Denshi and I host our own Matrix servers, and these are our usernames:

@monstro:matrix.monstro1.com
@denshi:matrix.denshi.live

Denshi's instance actually supports sign-up. Mine doesn't, although I might add it later.

...and that's it. It's actually that simple. I may update this page with more information. If there's anything you think I missed, you can send me a message on Matrix!

More Links

More Matrix Clients

An excellent video about Matrix, courtesy of Denshi:

Tutorial for setting up your own Matrix server. You should be well acquainted with UNIX before you attempt this.

Frequently Asked Questions

Isn't Telegram Open Source?

This is why I felt the need to make the distinction between the server- and client-side. Telegram is only open source on the client side. The server itself is still centralized and closed-source. Telegram is probably better than something like Discord, but it doesn't offer the same benefits and security that Matrix does. It is rather disingenuous for them to advertise themselves as an 'open-source' alternative, since that's only half the truth.

Written May 5, 2021


← Go Back