Open-source discord alternatives?
5 votes c/questions Posted by DustDFG — 5 votes, 16 commentsSource

There are three types of networks you can go with, and each has some decent libre software.

First, you can go with another centralised network. These work kinda like Discord: you have one provider/company running the entire network, you make an account with them, and you get to communicate with other people who did the same. The good thing is everyone is used to these. The bad thing is that everything depends on the single provider: if they ever go out of business or decide to compromise on freedom or privacy, you’re pretty much out of luck. Signal is one of the more trustworthy ones; it’s secure and has a libre client, but as of now, you need to use a phone number as your user ID. (In a way, it’s probably more similar to WhatsApp.)

Second, you could go with a federated network. These have no single providers, but several providers running their own servers (actual servers, not like the fake Discord ‘servers’ which are basically just groups) and communicating together. Kind of like E-mail or Fediverse; you sign up on a server you like and you get to communicate with people on other servers, too. The good thing is that if your server ever goes awry or kaput, you can switch to a different one without everyone on the network needing to migrate. The bad thing is some people are not as familiar with this setup. The most popular ones is probably Matrix, which I personally use and recommend. There is also XMPP, which some people prefer.

Third, you can go with a distributed peer-to-peer network. These don’t inherently need servers; all users connect directly with each other to form a network you can use to communicate. The good thing is that you don’t have to depend on any provider; things can just keep working. The bad thing is that this setup is technically challenging and doesn’t always work smoothly in practice. (For example, there is no server to store your sent messages and deliver them when you’re offline. Not all users will be able to connect directly together, etc.) If you want to call people and don’t need reliable asynchronous messaging, Jami is pretty great and easy to use in my experience.

Now, I don’t know how well any of these suit your use case. They all can work fine for communicating with individuals or even groups, but if you want an experience really similar to Discord, or want to build complex communities with rooms you can join in to call and stuff, I’m not sure if there’s a libre alternative which can provide all that. The closest of these is probably Matrix. But if you just want to chat with your friends, any of them can work.

if you want an experience really similar to Discord, or want to build complex communities with rooms you can join in to call and stuff, I’m not sure if there’s a libre alternative which can provide all that

Aeons ago I tried one called Rocket Chat. I think it was 100% free back then, and I think it was supposed to compare with discord. But I checked it again right now and it appears to have adopted an open core model. I’m not recommending it though, only mentioning it.

Looks like telegram in general. Something like open-source client and proprietary server (at least I didn’t found any server code)

At my work we use Mattermost, which should have both a floss server and client. Though it’s functionally more similar to rocket.chat than discord in that they both started as slack alternatives.

Looks interesting. Thank you!
At the same time https://f-droid.org/en/packages/com.mattermost.rnbeta/ fdroid says the code isn’t entirely free but didn’t mention exactly what

Likely this issue: https://github.com/mattermost/mattermost-mobile/pull/1686

Though, it kind of looks like the fdroid version might be removing that. Mattermost is definitely in this list, meaning
part of the upstream is proprietary, but they also write “This does not mean that proprietary software is included in the app. Most likely, the F-Droid build has been patched in some way to remove the Non-Free code/libraries, and/or some functionality may be missing.”

Wonder if it affects the desktop version as well, hm..

Thank you for a very detailed answer!

I use (try to use jami). It is terrible. It has tons of connection problems (it is understandable but when all the devices in one local net…) and a very buggy UI. Sometimes you chat with person an connection “dies” you don’t send/receive messages, you need to reload app. It is my mobile user experience. You said it is great. Do you use it on PC? Could you please tell more about your setup because my experience say it is not so good even for synchronous messaging with one person even when one of two devices is running jami 24/7. I had one month without any connection issues but it already gone away.

Yesterday it even started to crash for no reason

It is weird you haven’t mentioned Revolt. Just create a https://revolt.chat/ account and manage your community. I think even you can host your own: https://github.com/revoltchat/self-hosted.

I am not sure if you wanted to reply directly to me because it looks like you wanted reply to Tirifto. But anyway thanks for the link. Looks promising

Just randomly saw https://github.com/zulip/zulip. Of course doesn’t know anything about but the page say it is FOSS ¯_(ツ)_/¯

Yeah but almost all the apps which has on fdroid badge about depending on proprietary lib or having a tiny bit of proprietary code also say on their pages they are open source. I meant I can’t say if it is entirely open source

Sounds like something useful to work on?

I am not sure that I understood question. Does zulip sounds like something that can replace discord? I think yes, as well as other alternatives from this post(?) ¯_(ツ)_/¯

No I wasn’t talking about zulip. I was thinking of your last comment “I can’t say if it is entirely open source”. If this is a real problem, it sounds like a project that others could find useful.

I think the FSD is supposed to help in this regard; that is, they list software that they have verified to be free. On the other hand, they do not list non-free software. So it’s unknown whether a piece of software is non-free or if they just didn’t evaluate it.

In dokk, for example, we could build a list of projects and have some property like “verified_by_fsd” or “list_of_nonfree_features”. If you’re interested in working on something like this, we could do it together. I won’t start this by myself alone though.