Just once I'd like to write about something other than fixing tech problems.
I was originally going to center this article around the pros and cons of different alternatives to Discord, and I do still want to touch on that, but I think it's important to express my reasoning in detail here; it will be easier to avoid another situation like the one we have now with Discord if we know what's actually wrong with it on a more fundamental level than which administrative decisions of theirs are bad. How do we ensure wherever we go next won't pull the exact same crap?
Let's be honest with ourselves up front: In many ways, Discord, as a service, fucking owns. It has a ton of fun features not found really anywhere else and the quality of its voice, video, and live streaming functions are tough to beat. However, these advantages come at the cost of Discord's most significant fundamental problem: It's a proprietary, centralized, VC-funded platform. It gets the funding it needs to be so awesome from investors who expect a return on their investments, and it is legally obligated to put creating that return above all other priorities.
It's possible, even probable, that Discord started out with the simple, noble goal of being the best Chat for Gamers™, creating an alternative to the problems present with its predecessors Skype and Teamspeak, and whatever chat functionality your favourite games had. At this, it succeeded spectacularly, for a time. However, the entire model of the VC-funded startup is fundamentally unsustainable.
Discord was never actually profitable - it's been able to keep the lights on for this long using money from investors, but it needs to become profitable at some point in order to keep going long-term. If you're an avid Discord user, think of some of the blatant cash grabs they've pulled in the past at the expense of user experience, all the pointless features they've added behind the paywall of Nitro. I'd bet you can name at least half a dozen. And none of it worked. Now imagine what Discord would need to do, or would try, in order to become profitable. Personally, the imagine conjured in my mind by the idea of "Discord but profitable" is pretty grim.
This isn't a problem specific to Discord. A popular term for what's happening to it is "enshittification" - Cory Doctorow, the term's inventor, explains it well:
Here is how platforms die: first, they are good to their users; then they abuse their users to make things better for their business customers; finally, they abuse those business customers to claw back all the value for themselves. Then, they die.
I won't restate his essay or the examples he lists here (though you should give it a read), but one obvious one his article didn't cover because it was written more than a week ago is what's happening with Reddit right now. Reddit has been enshittifying itself for years, but the current controversy is particularly bad and particularly representative of the problem. As of writing in mid-June of 2023, Reddit has just instituted a new policy requiring payment for use of its API, to the tune of $12,000 per 50 million API requests, which for certain popular third-party clients and moderation tools comes out to millions of dollars per year.
Reddit did not need to do this. Reddit was doing fine. This was purely a cash-grab, and it's blowing up in everyone's face right now, including theirs. Moderators of many popular subreddits are essentially going on strike over this, and if you think that's the only critical problem this decision is going to cause for users you know very little about Reddit. The developers of open-source clients and moderation tools used by massive portions of Reddit's userbase can't afford costs like this, and most of them will be forced to shut down if Reddit sticks to its guns.
I'm not saying they will, but Discord could absolutely do the same thing, and it wouldn't surprise me if it came to that. Imagine if Discord bot developers needed to pay API fees like that. There'd certainly be a lot fewer Discord bots, and probably a lot more paywalled ones among the remainder. Discord absolutely needs to become profitable in order to be sustainable, and it will do whatever it needs to to that end or die. Even then, it can't just break even; capitalism demands endless growth. Discord will keep getting worse as long as there's money in it. It's inevitable. It's required.
Discord is a centralized platform and always will be, no matter how strong the reality distortion field it puts up by allowing the creation of isolated social spaces and calling them "servers". Every Discord "server" runs on Discord's servers, and they have total control over each one at the end of the day.
Now, centralization isn't inherently bad. Sometimes it is necessary. Imagine trying to construct a peer-to-peer MMORPG, for example. Discord, however, is not a videogame, and in its case centralization introduces some fundamental problems that a decentralized system could avoid without compromising core functionality.
The centralized nature of Discord, the platform, means that it, in its entirety, is inherently vulnerable to anything that happens with Discord, the company. Any change the company decides to make is universal. If the company shuts down, the platform goes with it. If the admins at Discord don't like what you're doing, they can unilaterally prevent you from using their platform at all.
This ties pretty closely into the whole VC-funded thing - Discord, the platform, is fundamentally subject to the whims of Discord, the company's investors. I guarantee you that's why they changed the username system: the corporate big wigs providing the funding got confused by Discord's unique (and very good) username system and decided it would be better if it was more like Twitter, so Discord made it more like Twitter.
That's really the core of the issue here: being centralized means that Discord can easily suffer the same fate as Twitter. Some incompetent nutcase with more money than the entire planet's collective pool of sense could buy it out and destroy it, or the current owners could just make some boneheaded decision and do the same. A decentralized platform, running on a common open protocol, is much less vulnerable to the antics of the Elon Musks and u/spez's of the world.
This issue isn't really inherently connected to the others - a lack of good privacy doesn't fundamentally doom a platform like the other two points - but I'm treating it as a third major issue because I feel it's extremely important and warrants consideration.
If you value your privacy, Discord is an atrocious choice. Take it from their own terms of service. Anything you send on Discord, whether in a DM or a public guild (I'm not calling them "servers"), is not encrypted, meaning it can be accessed and read by Discord staff, as well as any hackers that manage to access their systems or any law enforcement entities that might demand it. Discord is not even trying to pretend to be private. I'm not convinced it's something they ever thought about.
And let's be clear here: You should value your privacy. You should value it a lot. The idea that if you have nothing to hide, you have nothing to fear is a complete scam. Even if you don't have anything to hide, yes you do. Take, for example, the time Google flagged someone as a criminal and permanently closed their account for the crime of sending medical photos of their son to a doctor. Or maybe your government wants to arrest you for being gay, or having an abortion, or some other innocuous but potentially illegal thing. Or maybe they will in the future. Or maybe some stuff you've said is just kind of embarrassing.
Discord fundamentally couldn't give a shit about your privacy, and doesn't even really care to pretend like it does. It has no incentive to. The investors probably wouldn't be comfortable with the risks associated with pulling a stunt like responding to a subpoena with "yeah here's their phone number. that's all we got" like certain other chat apps anyway, and then there's the potential to sell that all data on you to advertisers. I'm not aware that they currently do that, but it's certainly not off the table should they decide to go that route in order to turn a profit. At least, not under US law, anyway.
Actually, I just checked that ToS;DR link from earlier again, would you look at that:
This service may keep personal data after a request for erasure for business interests or legal obligations
This service ignores the Do Not Track (DNT) header and tracks users anyway even if they set this header.
Your personal data may be used for marketing purposes
This service can license user content to third parties
The service can sell or otherwise transfer your personal data as part of a bankruptcy proceeding or other type of financial transaction.
The service may use tracking pixels, web beacons, browser fingerprinting, and/or device fingerprinting on users.
The service uses your personal data to employ targeted third-party advertising
Juicy stuff. You should really give that a read - you might not like what you find.
Before we move on, I'll just drop this tasty little link to further reading. It's a real page-turner.
We don't. Discord was doomed from the outset in any attempts to be sustainable or trustworthy. We are going to need to find an alternative to Discord eventually. So what should that alternative look like? I'll discuss specifics later - I'd like to start by establishing the general principles I feel a messaging system should conform to in order to avoid Discord's major problems. The TL;DR is it needs to not be any of the things I've described thus far about Discord, but I'll go into more detail about what that actually looks like.
A sustainable chat system absolutely cannot be for-profit. If it is in any way driven by profit, the decay and eventual death of the service is inevitable. That doesn't mean it has to be entirely staffed by unpaid volunteers or anything, but it would need to be a non-profit foundation of some kind, just trying to break even with no incentive for infinite growth or any other corrupting financial influence. You'll notice this as a theme across most online services that don't already show signs of advanced corporate necrosis.
I'm not even saying it can't have some kind of Nitro-esque paid tier. I don't hold it against, say, Protonmail - in fact, I pay for that one - but the money can't be the end goal. A sustainable non-profit model might be largely donation-based like Wikipedia, or maybe it could have a totally free product for individual users and break even selling support to enterprise customers like some Linux distributions. It's not currently breaking even yet according to its Wikipedia article, but I'll be interested to see if and how Signal reaches a sustainable state. Maybe future players could take notes from them.
Better yet, structure your system such that it doesn't even need a corporation at the center - in other words, a decentralized system. I'm not talking about the blockchain; we can do this the old-fashioned way, with tech that isn't ponzi-scheme-by-design. In fact, we're already doing this, and it already has more monthly active users than any messenger app ever created: email.
Email is the original decentralized, federated communications network. There's no Email LLC at the center of it all assigning everyone their email addresses and processing every message. Email isn't an app. It isn't a proprietary service. It's an open protocol that anyone can set up a server to provide access to. That's what Gmail is, that's what Outlook is, that's what your weird nerdy friend's weird nerdy friend who has a custom domain name on their email address and complains about Gmail marking their messages as spam is doing. They're all part of the bigger network.
I'll try to keep this little tangent short, but I feel it's important to establish a basic understanding of how these systems work. Email is a federated protocol, meaning it isn't tied to one backend running on one company's datacenter - instead, it's a network composed of any number of entirely independent servers running compatible software that communicate amongst themselves using the language of the email protocol. These servers are often called "nodes" or "instances", or sometimes "providers" in the case of email. A user of email has an account with one of these instances and can use it to send messages to people both on the same instance and on any other instance on the network.
This is why email addresses are like that - the part before the @ is your username, and the domain name after the @ points to the server your account is registered on. If usernames on other platforms were formatted like this you would see stuff like MrBeast@youtube.com for Youtube channels or email@example.com for Twitter accounts, but those platforms aren't federated so they don't need to do that.
So when two people communicate via email, the sender sends the message to their instance, which sends it to the instance its recipient is using, which then relays it to the recipient.
And here's the obligatory visual aid - essentially, when you send an email, it takes the shortest path along a network that looks like this; every server is connected to every other, and every user is connected to one server:
Hopefully that helped. Back to the point, all federated services work pretty much exactly like this. If you've ever had someone try to explain the Fediverse (sometimes incorrectly called Mastodon) to you by comparing it to email, this is what they meant. But this isn't limited to email and microblogging; this type of system can theoretically apply to anything. Again, building an MMO this way would be challenging, but federated messaging protocols similar in concept to Discord do exist.
The benefit of this kind of system stems from the fact that it's not under the control of any central authority: Gmail, Outlook, and that weird nerd your friend knows are entirely independent of each other, they don't answer to any higher Email Authority (other than the body that defines the common standard) or each other. This means that there's nobody at the top to fuck the entire thing up for everyone or sell it off to someone who will; in fact, even if someone wanted to it would be tremendously difficult.
The network is inherently much more stable and resilient in general than a centralized service, as there's nobody who would take the entire network down with them if the company went under or got sued or had a bomb dropped on their datacenter. Sure, a huge number of people would lose their email accounts if Gmail disappeared tomorrow, but critically, not the entire network. Email wouldn't go away, and those displaced users could go to Outlook or Protonmail or set up their own instance and keep communicating over the same network. The same applies to any other federated protocol. Imagine if your Discord account and guilds weren't controlled by Discord, but instead ran on a machine you controlled and was in no way answerable to Discord Inc, but you could still talk to your buddies on Discord proper. It's like that.
Contrary to the title of the previous section, a federated approach does technically add more middlemen. We've gone from one unaccountable central authority able to read everyone's messages to several unaccountable parties each able to read the messages of everyone they serve. Not much of an improvement, privacy-wise, unless you trust both your provider and the providers of everyone you're talking to implicitly. Actual privacy requires end-to-end encryption.
End-to-end encryption means the message is encrypted before leaving the sender's machine and can only be decrypted by the recipient once it arrives on theirs. This means that only the sender and recipient can read the message; even if it goes through some other party's server, they have no clue what the contents of the message are. Any messaging system that cares about privacy at all will implement this - ideally they'll build the entire protocol around it.
There are still problems here, for example end-to-end encrypted messaging still requires the server to know who you're talking to, but there are workarounds for these as well. However, E2EE should be the absolute bare minimum, in my opinion.
Here's the part where I discuss actual alternatives to Discord. I'll say now that this will not be a comprehensive overview of every possible option - recommending chat apps that don't meet these standards would kinda defeat the point, and I'm also not omniscient. There are going to be other options that I haven't covered here, and hopefully I've given you the tools to determine which ones are good.
Every program I list here will, at a minimum, support true end-to-end encryption in some capacity and not be run by a for-profit company. They're also all open-source.
XMPP is about as close as we've got to "email but for instant messaging". It's a federated, open protocol which, having been formally standardized in 1999, is truly ancient in internet years. My understanding is that it actually used to be more widely used, but Google effectively killed it off in popular usage by subsuming its userbase into Google Talk and then promptly turning off federation and killing Google Talk. That doesn't mean it's gone, though. People still use XMPP to talk to each other, running on servers hosted by themselves or their friends.
XMPP is, at its core, designed for simple text-based messaging and presence. While the protocol is highly extensible, many even relatively basic-seeming features, while common, aren't universally supported. If you want them, you'll have to find a provider that has them.
Matrix is the other major federated instant messaging protocol. It was standardized in 2014 and is built around making end-to-end encryption easy. On top of that, it has more features. File sharing is included by default and support for nice-to-have features like emoji reactions (and maybe custom emojis??) and Discord-style replies is widespread. There's also a large suite of bridges to other services, including Discord. Like with XMPP, voice chat integration is possible, but not universal, and some prefer to use Mumble or similar.
Mumble and Jitsi are self-hostable voice chat and videoconferencing applications, respectively. They're not messaging systems, but I feel they bear mentioning here because they're both popular for use in conjunction with text chat systems, and since nothing else here currently supports screensharing.
We've about run out of open protocols (which is probably a good thing), so now on to the centralized services, starting with Revolt. Revolt is basically trying to be open-source Discord. It's currently in alpha, but the user experience is very similar and it already has some of the fun stuff.
From what I could find Revolt isn't currently controlled by any kind of legal entity, so there's no guarantee it won't eventually incorporate into a for-profit company and pull a Reddit (by which I mean, Reddit used to be open-source, but hasn't been since 2017), but at least for now the project leaders express principles that make that seem unlikely.
I've now run out of Discord-likes - which is to say, programs that support the sort of multi-channel group chat thing Discord has going on. The remaining couple are more traditional Whatsapp-style messaging apps, though I feel these still bear mentioning in the event that's all you need.
Signal is kind of the private messaging app. It's fundamentally built around end-to-end encryption in a way that its biggest direct competitors simply aren't. It's been proven in court that Signal literally doesn't have the ability to incriminate you, since they can't access the contents of your messages. It does need your phone number, though. It also supports voice and video chat, and stickers, apparently.
You've probably heard of Telegram. It's very popular and has tons of fun, gimmicky features. It advertises itself as secure and private, and while it certainly clears the extremely low bar set by Discord, it's not actually end-to-end encrypted outside of the "secret chats" feature. It also claims to be good for community chats, but from what I can tell that just means enormous single-channel group chats.
I lied, Session isn't centralized. But it's not decentralized in the same way as the federated protocols up there, either. Session runs over an anonymizing onion routing network, Tor-style, meaning not only can your messages not be read by the server, those servers also don't know both the sender and the destination at the same time. Essentially, it's designed to maximize privacy and anonymity at all costs. But wouldn't you know it, that comes at a cost in terms of features and user experience.
Session does also use cryptocurrency. Setting a custom display name and running a node on its decentralized network both require participation in a blockchain, though your messages aren't sent via this blockchain.
That's about all I've got. I hope I've impressed upon you the importance of Discord's core problems, and introduced you to at least one alternative that works for you. I have my preferences, but I'm comfortable recommending all of these over Discord, otherwise I wouldn't have listed them.
[Update 2023-09-09] I no longer recommend Matrix over XMPP for reasons explained well here. I knew there was a little jank but I had no idea the rot ran this deep. Fortunately, nobody's listened to me yet so I can switch over to XMPP without much issue, which I intend to do.
If there's one thing I want you to take away from this article, it's this: Don't fall for the marketing and don't let yourself be wooed by extraneous gimmicks. Be discerning about which fancy-sounding features you actually need. If you want to have a chance of escaping the vicious corporate cycle of enshittification, both with chat platforms and with everything else, make sure the ones you use have a strong foundation of sustainability and trustworthiness, beyond whatever marketing drivel is on the front page of their website. Hopefully I've given you at least some tools to determine for yourself which ones do.