Please don't use Discord for FOSS projects

starman@programming.dev to Open Source@lemmy.ml – 1270 points –
drewdevault.com
403

You are viewing a single comment

I love Immich and Sharkey but both use Discord. Sharkey even used Matrix in the beginning but eventually switched to Discord. I think their reasoning was that they were often attacked by trolls etc. and that Matrix didn't had good options for moderation etc.

And while I love Matrix I fully agree. Yes there are moderation bots like Draupnir and they're good but you will need to self host them and register a user for them and and and. It's not as easy as with Discord or even Telegram bots. Also there are many Discord bots providing very fun elements like levels, reputations, roles etc. which simply do not exist or aren't even possible in Matrix as it currently is.

On top of that we have the decentralization "problem" for end users who aren't technical. They simply don't care much about privacy and they don't care if Discord stores every single message and picture in clear text forever on their servers. It's easier to create a Discord account on a centralized platform than understanding Matrix understanding which server to choose, understanding which client to choose and understanding how encryption, key management etc. works. Yes decentralization is important and great but for the average user it's still something that they do not really know which "overcomplicates" it for them.

And another point is that Matrix spaces are simply not the same as Discord servers. Channels are not as easy to manage because they are rooms on their own in Matrix and a space is not a server but rather a way to organize multiple rooms. Not every client supports spaces yet. Clients implement them differently. Then there's Element and Element X on phones confusing people new to Matrix etc. In Discord several channels can be grouped in another category. In Matrix you'd use Subspaces for that giving you the same issue as with normal spaces.

And most clients don't implement simple things on mobile like...sending multiple images at once. From the perspective of an end user that fact annoys the heck out of anyone wanting to send several pictures.

So yeah I think it's a mixture out of those things.

Matrix especially needs better bot support with bots that could be used by everyone as it is with Discord instead of being only usable by server admins or the bots creators as it is with many Matrix bots. And it does need a better solution for spaces with rooms or another thing in the specs that replicates how Discord servers work so that it's a "space" with actual "subchannels" without every space technically being it's own room dangling around in limbo and just being "sorted" into the space.

And it needs better moderation tools.

Matrix isn't the only alternative, there's also rocketchat

The elephant in the room is IRC. Which continues to work fine and hosts huge FOSS communities. Self hosting it is even better as you can use a more modern version like ergo.chat than the large networks sadly utilize.

You made me look again at IRC V3, seems like they support threads and emoji reactions. I might give it a try

IRCv3 has a lot of features & is good, but if you need encrypted chat and/or want to support decentralization XMPP MUCs can fit the bill similar being just a bit less lightweight.

I use IRC in Matrix, and have used IRC since the 90s, but IRC lacks many modern features, even simple things like configurable push notifications and universal encryption, perhaps ergo is better? But then again, the reason I chose Lemmy was distribution, so...

Heh, push notifications and universal encryption are about the opposite of simple and fail to work on Matrix most of the time. Most of the actually simple and useful features for a public chat are supported by Ergo though.

What issues have you had? Using Element worked out of the box for me on both. Even spun up my own server with a docker compose and it worked fine there, too.

Large public rooms have constant issues with encryption, and since you can't turn it off once enabled (yeah 🤦‍♂️) most public rooms are not e2ee. Besides the fact that e2ee doesn't really make sense in public rooms as anyone can join.

Push notifications in Matrix clients only work with the help of Google's or Apple's centralized infrastructure. This is of course only partially the fault of Matrix, but XMPP for example can do it without pretty well.

push notifications also work degoogled on element and fluffychat, what do you mean?

Source? I am pretty sure you need workarounds like Unified Push to a 3rd party app then.

Yes, FluffyChat wants ntfy but Element has their own background service in the F-Droid package. Still fits the bill of not using Google infrastructure.

These support UnifiedPush, not just ntfy. UnifiedPush is an open protocol whereas ntfy is an implementation of UnifiedPush. I use my Prosody server to deliver my UnifiiedPush notifications.

But IRC doesn't really support E2EE in 1:1 chats right? Because that's something very important for me. I don't want to use an app only for public channels I ideally would like to use it for everything. Including messaging the people I know.

There are some ways to make it work with OTR, but realistically speaking no.

Personally I get around that by using XMPP and connecting to IRC via the excellent Biboumi gateway. Thus I get the best of both, as XMPP is working really well for e2ee 1:1 chats.

Matrix sucks, that's why most people won't use it. I'm already giving my software away for free and providing free support for it, why would I want to take up even more of my free time running and maintaining a Matrix server as well?

Sure, I could use an already available Matrix server but I already have a Discord account, all my friends and contributors do as well and the entire thing is easy to set up and use, plus I'm already running the Discord client too.

On top of this, the argument about searchability is irrelevant. Projects have been giving support via IRC forever which has all the same problems. The best thing to do for any non-trivial support inquiries is to direct the user to lodge a support ticket and always has been.

Matrix just isn't a compelling option, even if it had feature parity with Discord and was easier to use, it doesn't have any real inertia anyway.

From the article.

Free software matters — that’s why you’re writing it, after all. Using Discord partitions your community on either side of a walled garden, with one side that’s willing to use the proprietary Discord client, and one side that isn’t. It sets up users who are passionate about free software — i.e. your most passionate contributors or potential contributors — as second-class citizens.

Maybe you'll take up more of your time answering lazy user's questions than speaking with those that are helpful with solving issues.

Your argument about time is more in favor of Matrix, and even more so in favor of just using your code hosting's issue tracker.

The article is wrong, you disrespect your users by forcing them to use a platform that they otherwise wouldn't just to engage with you. Github isn't free either, but the majority of us use it for free software too.

@Kushia @brayd

installing a matrix client and creating a matrix account is exactly as complicated as installing discord app and creating an account there.

It could install itself and I still wouldn't use it. Nobody I care about is on there and inertia is important too. This has been true since the dawn of real-time communications platforms and isn't going to change either.

@Kushia 🤷‍♂️ I have the opposite situation, nobody I care about is on discord. So discord sucks? See the thing is if one matrix guy wants to talk to one discord guy, one of them needs to install a new app. And I think the world would be better if we all had more free/libre apps and less walled gardens, so I will strongly resist installing discord. Just yet another proprietary walled garden waiting for the rug-pull. Why? Just convince the other guy to use Matrix and over time our world will improve

The you're free to use it, that's the great thing about choice.

@Kushia Of course I am. Now I would appreciate if you didn't come to the open-source community telling everyone how bad they are and that they are never gonna make it. That's a pretty shit move man. Cheers.

I never said it's never going to make it, I said I care about what works for the majority with the least amount of friction.

If you took that as a personal attack that's on you.

@Kushia such a lovely conversation with you. I'm actually glad you prefer discord.

Why are you so angry over an opinion different to your own?

@Kushia Not angry, but I would push against an opinion voiced arrogantly even if it was similar to mine. I guess I'm just not high when I'm posting.

Fair enough, I wasn't intending to offend anyone.

If Matrix could compete on both a quality and inertia level I'd use it instead of Discord. I've spent many hours on IRC too. What matters is where the users are and I'd rather spend my time developing software, not doing admin.

Matrix has great bots (moderation and otherwise). You just need to make your own matrix server or join one that has this stuff enabled. Developers arent „users“ they’re tech and they should absolutely be able to configure mod bots and such.

I get that matrix isnt as easy as discord and it never will be/should be. Corpo Media is an ad machine to make money. Thats why they‘re so streamlined. You can join matrix.org today and discuss with thousands of folks in many communities.

Feel like making your own? Then do it. It’s becoming easier day by day to host your own.

There is a big difference between "is unable to maintain bots due to lack of skills" and "is unable to maintain bots due to lack of time and motivation".

There is a big difference between maintain and download a docker-compose.yml and typing docker compose up -d

What about security updates? What about monitoring? What about the underlying infrastructure? What about even picking what software to use and configuring it?

I haven't heard of docker compose up guess-what-i-want-and-just-do-it yet, but I guess there is some LLM that can hallucinate one for you.

Obviously, having discord gobble up your data is more comfortable in any case. Still, its not that hard, especially for a tool as popular as matrix. I‘m not saying its no work, I‘m saying its not much.

Don't fret, it's people with your mindset that will survive the impending AI tech employment apocalypse.

Ideally "users" wouldn't only be IT guys but also an average person. Some of my friends use Matrix to message me. They certainly are no developers or have technical IT knowledge. They certainly don't know how to set up a bot. With discord you just add a bot to your server (equivalent to a Matrix Space) and there you go. That's user friendly. Matrix bots work yes. But they are by far not user friendly.

We‘re talking about wildly different things here.

  • A „user“ is not the person making a server (discord or matrix for that matter)
  • A developer (which are the people making FOSS projects, which were the topic) is absolutely a tech person
  • A matrix bot can just be invited to your space
  • Hosting your own bot is downloading a script, changing some values and starting it
  • Matrix is a couple years old and written by hobbyists, discord is a for profit product with dark patterns to suck people into paying for basic features

Please dont use these ignorant arguments, its obvious that matrix is the better choice if someone can afford the time to get to know it or just joins a server.