Please don't use Discord for FOSS projects
drewdevault.com
drewdevault.com
Regarding IRC, Drew is kind of famous with his ascetism, claiming that the impossibility to share GIFs, videos, files, use threads, have internal chat history, are all features rather than limitations[1]. The thing is, people don't care about it, they'll simply vote with their own legs. Mail and mailgroups face a similar UX challenge. Not everyone is willing to endure the pain of learning and using mailgroups and IRC just because they're FOSS.
[1] https://drewdevault.com/2019/07/01/Absence-of-features-in-IR...
One thing Drew didn't say (but should have!) is that with FOSS you can actually change the software to help meet the needs of these people while for discord you're at their mercy.
Not everyone likes everything being flooded with inline images, super-long monologues, people being able to edit their messages after the fact, etc. Personally I find this all a major distraction.
So in addition to the divide between FOSS and walled garden, there is also the divide between minimalistic chat and "rich" chat.
Why isn't it?
> If it was, we wouldn’t be having this discussion.
Are you suggesting things don't take time and luck (i.e. initial conditions) don't play a role, especially with phenomena such as market consolidation?
* We didn’t prioritise UX polish sooner.
* We burnt huge amounts of time on E2EE (which turns out to be really hard in a decentralised world).
* Building out decentralised comms in general requires about 10x more effort than centralised comms.
* Managing an open spec process and governance model burns huge amounts of time too.
* We built the flagship Element apps in triplicate on web/iOS/Android with no code reuse, in order to dogfood and provide native SDKs, burning >3x more time.
* We’ve also invested a lot of time in beyond-chat work, to try to inspire folks to use Matrix as a generic comms fabric.
Frankly, if we had been aiming purely to be a like-for-like FOSS Discord replacement, we would have done a lot of things very differently.
Hopefully we can shift that balance as the UX of apps matures on top of Matrix, and we focus exclusively on usability. The current situation is pretty depressing. You can see more about how we’re trying to fix it in https://matrix.org/blog/2021/12/22/the-mega-matrix-holiday-s...
It's infinitely easier than with Slack or Discord, where it's outright impossible.
> If it was, we wouldn’t be having this discussion.
We definitely could still be having this discussion even if Matrix provided better UX out of box, because that doesn't mean it would automatically win the fight with existing network effects.
Drew is honest enough to quote in the footnote one of his blind friends who points out that Discord has made a lot of accessibility improvements and lots of disabled folks use it.
And let's be real, which FOSS software is, generally speaking, more accessible for disabled folks than alternatives? This is an argument that is made because accessibility is in the spirit of FOSS, which is true, but in reality most FOSS software is often less accessible, simply because it is clunkier, than whatever is on the market, so it's not a real selling point, just a theoretical one.
The same goes for performance. Yes in theory people in FOSS tend to be more conscious towards low-end or old hardware, but what is the number of developers who have a computer powerful enough to build modern software but who can't run discord? Not to mention that most feature equivalent FOSS projects are no less hardware hungry.
In reality how many disjoint sets of community members you have depends on just one single thing, the quality of the software, that's it. The fact that you can change FOSS software to your needs practically only makes sense for small pieces of software. Nobody is going to roll their own Matrix client for their three person FOSS project.
You all get the idea of division of labor, right? We went into software development, not everyone else did.
Consider Discord has video and voice. You go ahead and patch that into IRC.
Every other chat service I have requested data export from gave me all the messages in conversations I was a part of (even if they were mangled somehow -- e.g. missing attachments in FB Messenger). I think this is an example of Discord applying motivated reasoning for the company's benefit (E: at the expense of their users).
Discord isn’t ephemeral. Making a shitty UI that pretends it is doesn’t change that.
If you are not comfortable with that, then don't send the message in the first place.
Citation needed that messages intentionally sent to you are "other people's data" and regulated under the GDPR. They're certainly not personal information such as a real name or phone number.
> That's a feature to help stop doxxing.
This has nothing to do with doxxing. Doxxing is easily prevented by merely changing the takeout so that there's plausible deniability - e.g. if person A and B have a conversation and A uses the takeout feature, person B's username would be redacted or minimized such that they could reasonably claim that that person in the transcript could have been anyone.
People are creatures of habit, and mass products are built with either heavy marketing or piggybacked on other systems' popularity. It's hard to break into a market, but if it's any consolation it's equally hard for non-free products.
It's obviously true because when you stat looking at, say, Jabber, it turns out that it only offers that for a single mobile client on Android that should connect to properly configured server with all the relevant XEPs enabled.
So yes. For practical purposes Jabber doesn't cut it. No idea about Matrix.
They have the habit to use a web service for everything, or at most a phone native "app" that they expect to be distributed by and integrated with some centralized service that exercises total control.
Some people enjoy investing the time and energy into setting up something like this and maintaining it. I am one of those people.
However, it’s just not realistic to propose these things as solutions for the average user or even average developer. Cloud services like Discord are popular because you don’t have to think about it or invest time into maintaining anything. Click a few buttons and you’re in.
I think that fact is lost on a lot of devs who invested the days and days into setting up their own servers, learning things like Quassel, smoothing out all of the issues and so on. It’s easy to forget that every piece of that solution came with a lot of labor and learning spread out over years of time.
On the other hand, I suspect a lot of the people who propose these as alternatives actually like the barrier to entry that it all represents. If only the people dedicated enough to learn all of these steps and maintain their own infrastructure can fully participate, it represents a barrier to entry that makes the group feel more exclusive.
Again, going to highlight it's such a short-sided POV, this sort of thinking "today it's free, it's better, and thus it is the right choice for the investment of my time, my community's time, even my project's time." Such short sided thinking in favor of convenience right now is way too common leads to a lot of problems (in society generally but that's another discussion). I really want people to have a longer term view of utility for the sake of longevity and stability of things as important as our channels of communication.
[0] https://news.ycombinator.com/item?id=29711001 this was just posted a few hours ago.
I'm not against people choosing discord for some projects, but there's nothing so terrible or oppressive about choosing IRC. It doesn't deserve the "considered harmful" treatment. Hopping on IRC is a very low bar for a potential contributor to clear.
Mosh is the only thing that actually works in those cases.
But using Mosh means having a server, seting it up and so on. Yeah, Mosh+IRC is better from a FOSS perspective. But it comes with usability drawbacks too.
It is, but the the average user's perspective is not that they'll set up an IRC bouncer (which odds are high they don't even know exists) so they can have message permanence and cross-device sharing.
Instead they'll say that IRC has no history / offline support (which is, technically, true) and will use discord because it does.
Is this now solvable? Okay.
I have limited time & limited yak-shaving energy. In the choice between something whose problems are solvable and something whose problems are adequately solved, I am going to conserve my time/energy by choosing the latter 95% of the time.
I can't believe how delusional some people are. And sorry for being so rude.
In 2021 everyone expects history and other things. You can't realisticaly expect everyone to "just have a fully set up always-on raspberry pi and install some server on it". That's why IRC and XMPP are mostly dead.
> I have a dedicated server running my email and media server where I also put
Good for you. The absolute vast majority of users, however, don't.
The general idea of group chats was to facilitate ad hoc real time communication. People were not assumed to be always online and messages were only of interest for the discussion happening in the moment. There are much better options for sharing information that might have a longer lived scope of relevance anyway. Plus remembering some chats that I hung out with friends, it had a sense of intimacy, sometimes I wanted to share the information exactly with those online at the moment, so no history was a feature. Popular open source IRC channels have archives that one could look up if need be anyway.
Of course there is also the modern idea of work-oriented chats like slack that have a powerful search function and are mostly about async communication, being a bit of everything, a way to share information with lots of people, a documentation system, discussion and so on.
That's the big value of mailing lists over most of these chat solutions.
You freely chose to post the insult, so you are not.
> In 2021 everyone expects history and other things.
I should hope I am included in "everyone" and I do not expect that. I think IRC rules and I think chats are better when they are ephemeral. I know people disagree with me; that is the point of discussing it. It's strange (a cheap rhetorical trick, really) to point out the expectations of a group of people in the current year as if that was an inevitability and that is how things always shall be unto the ages.
IRC is still used by countless open source projects and there are many public XMPP servers everyone can use. I switched my family and most of my friends to XMPP this year and no-one runs an XMPP server at home.
See - it's "solvable" versus "solved". People seek solutions, not possibilities.
Ask ten people and they’ll likely tell you ten different solutions (not to mention the feasibility of such solutions). Most people just want to set up a chat space for their project, or ask a question and get an answer; they don’t want to make a million choices about something they don’t understand before they are allowed to do what they set out to do.
It's still consuming your time and energy and that's a running cost by itself. I'm also a long-time Quassel user in addition to be a long-time IRC user, but I have no more energy to manage my own Quassel server and my current instance has been long neglected.
> Mail and mailgroups face a similar UX challenge. Not everyone is willing to endure the pain of learning and using mailgroups and IRC just because they're FOSS.
I'm seriously not sure if you are being sarcastic. Learning mailinglists is an obstacle compared to learning discord??
I think it's not as much a statement about ease of use but rather about comfort and playing into UX tropes everyone is used to now.
I still don't know how to reply to an old discussion started before I joined the mailing list, and I've been using them for 15 years.
I think most people choose platforms because of their popularity. Everyone uses foo, let's just use foo.
The "popularity" reason does not explain the cause & effect timeline.
Discord was started 2015. But Matrix, XMPP/Jabber, IRC were older than that and thus by definition back in 2015, they were already more popular and well known.
Thus, the original first reason can't be popularity -- because there was a point when Discord was not popular and it was still chosen over Matrix & IRC. The reason is that it's easier for project maintainers to create new Discord servers + channels. E.g. : https://support.discord.com/hc/en-us/articles/204849977-How-...
Put a different way... What caused Discord to become more popular than Matrix? The obvious answer is that a few clicks on a web page is easier than installing and configuring a Matrix server. Is there really a better explanation than "ease of use"?
EDIT reply to: >Discord was first popular with gamers because it offered _good voice chat_; and this popularity drew in other communities.
I emphasized "good voice chat" because in that sentence, it's the more explanatory reason than just "popular". So the other and older alternatives like IRC did not have good voice chat. And this drives decisions of gamers that prioritize a desirable feature such as seamless VoIP over the need to use an open protocol (IRC) that's not owned by a corporation.
In other words, whenever the proposed reason for product dominance is "popularity" or "network effects", we always want to dissect that further and look for the reason that caused the rising popularity. If we don't, we just end up with infinite recursive reasoning such as "it's popular because of its popularity" -- which is not a satisfactory nor helpful analysis.
Click the link, choose a nick and you are thrown into the chat. That way you could checkout a new community and discord in general with a really low barrier to entry.
The community that drew me to discord made the jump when their self-hosted IRC network became increasingly unstable. The multimedia features like easy picture sending ware also very nice, as was the mobile client.
Still dislike the condecending tone they have towards the users tho.
And I still use IRC on other networks. Both with a shell running irssi in screen and hexchat on my desktop that starts up with windows. That's for more ephemeral communities.
Matrix did not have "servers" (in the Discord sense) until very recently. It's also much harder to produce an open, federated protocol than a proprietary one so Matrix has been less featureful than Discord for a long time, but the gap is closing quickly.
There's also the matter of marketing: Discord is a product, Matrix is not, thus it's harder to market. Yes, now there's Element, which is a product, but given above, Discord has had an effective head start of several years.
Give it a bit more time.
Its focus on gaming communities.
Joining from federated networks to some larger rooms takes hours or even days.
Tried it a few months ago, was not impressed. I spent a couple days debugging it and asking for some support, but it turns out the official server software is by design incapable of joining large rooms instantly. It literally took 2 days for the room to appear in my chat client. And the message delivery was also delayed and far from instant.
To me personally IRC is way better than Matrix, when it comes to basic instant text messaging. For more advanced features I would rather use Discord, than spend days trying to get Matrix work.
Performance is going to be a major focus in 2022, with [fast federation room joins](https://matrix.org/blog/2021/12/22/the-mega-matrix-holiday-s...) and a new version of [the sync part of protocol](https://matrix.org/blog/2021/12/22/the-mega-matrix-holiday-s...).
In my opinion, there's no way Matrix can be a valid alternative, until it's as usable as the competitors.
Unless one wants to stick with synchronous voice chatting, I failed to see any reason to use Discord apart from its popularity.
Some people, valuable open source contributors in particular, choose to use software exactly based on its licensing status.
I don't mind paying for software but I do mind running binary blob that I have no idea what it does. I also mind being unable to fix an irritating issue which, with open source, I at least have a potential to be able to fix myself.
I choose software based on the freedom behind their licenses and always will. I value my relationships with others over mere technical differences.
I hope you at least learn something of our existence, besides that without people who think and act this way, there'd be no Wikipedia, Linux, Wordpress, or alternative to Windows.
imagine an alternate universe where wikipedia was a ghost town devoid of information, but hey, it's open!
Yeah, it's really hard to use. I can't seem to find definitive documentation about mailing lists anywhere. I've found documentation for the software itself but actual use seems to be some kind of arcane knowledge. Last time I tried to participate in one I ended up emailing someone directly by mistake.
Licensing status is part of "functionality".
If 3rd parties cannot deploy their own instance and federate/mirror contents the whole community is in lock-in.
Closed source walled gardens are not eternal. The change policies, start charging money or shut down.
This endlessly fragments the user community. This bad functionality.
I'm someone who likes the idea of IRC being impermanent, available only if I was online at the time.
However, I also want people to be able to @mention me so that I can see it later, even if I was offline, overriding the default. AND, when that happens, I also want to be able to read the context before the message and probably some conversation after. In other words, I want "@smichel17 ^" to be a thing.
I don't see any way to combine those features. I can approximate this experience in Discord and its ilk by having all history about l available; muting conversations, except for notifications; and relying on willpower not to read the backlog unless I was mentioned. So that's what I do. Maybe the closest thing would be Snapchat, where messages can be "saved" by any of the participants so the whole group can read them later.
There's no way to approximate this experience in IRC. So although I still use IRC, it's mostly over a matrix bridge; matrix becomes my bouncer.
Yes, there is.
<bmn__> !tell smichel17 crowdmatch me, see HN frontpage
<reminder`bot> 1 message stored. will deliver when smichel17 rejoins or unaways.
⋮
* smichel17 is no longer marked as being away, gone 04:30:55
<reminder`bot> smichel17, bmn__ wants you to know: "crowdmatch me, see HN frontpage" (2021-12-28 13:12)I've been doing this with IRC for about 3-4 years now, and it means that I'm "always online" as far as IRC is concerned (except for server maintainance stuff). To a reasonably approximation, I never miss anything.
I've been more enthralled by dusty mailing list threads. Oh and to illustrate my point, good old c2 wiki had infinitely more value than discord ever had, even though it provided near nothing beside text edits.
* tomasklaen has quit IRC (*.net *.split)
You can also share files through urls...
Unless you were not connected when the message was sent.
> You can also share files through urls...
You could also share them by mailing a usb drive. Both are a lot more annoying than just copy pasting them into a chat.
Also, people need to be a little more precise regarding sharing files. OP just said "share file" they didn't say host files or whatever. Often times the file I want to share isn't hosted or can be embedded (in the past I had to pass around multi-GB binary dumps and you can't embed that in slack and I definitely think you can't do that in discord).
1) Impractical. You have to upload files to third party services that usually require an account. So you have to leave the chat, upload the file, and then get back to paste the link.
2) Bad integration. Some sites work better on mobile than others. Some barely work on slow internet connections. Some required logins, or show ads. And you have to leave the client just to see a GIF.
2) Clients can auto integrate URLs, like IRCCloud. It works just as well as server side integration.
Why?
1. Asynchrony. User needs time to collect data, write a bug report and so on. Developer needs time to reproduce the issue, work on it. Finally there are a lot of timezones - people ask/answer at different points of time.
2. Long lasting. Communication can take days, weeks and even months as new details emerge. Accessing a year old thread should be as easy as accessing a thread created yesterday.
3. Publicity. You want everything written to be as public as possible. Read access should be available to everyone without registration. Read access should be available via web browser. So that other users (who often experience the same issues) can easily find existing communication on the topic, and if they can't find it themselves you can at least send them a link which brings me to permanence.
4. Permanence. Each individual communication (message) should be accessible by a URI which never changes. Each individual communication page should have links to thread/parent/children/references.
5. Searchability. Follows from (3) and (4) but the easier it is for a user to find past discussions - the less noise you'll have.
Chat systems such as Discord, Slack or Matrix are fundamentally incompatible with these requirements as they are focused on synchronous, ephemeral communication.
Every project I’m involved in has some mix of ephemeral chat and more permanent, long-lived communication. It could be as simple as a Discord and GitHub issues. Everyone understands that the chat is for quick conversations and GitHub issues is where things are documented for collaboration.
In my experience, trying to force everyone into a single mode of communication becomes more of a problem. GitHub issues are impossible to follow when they have hundreds of side debates that should have been chats. IRC logs are impossible to consume when you have to search for vague keywords through endless months of backlogs to try to parse out specific topics.
Let people discuss things where it fits best.
Opening an issue is a huge signal, putting in little investment means the issue is likely to be closed with barely a look, and putting in a huge amount of investment is a waste of time when the issue gets closed as out of scope.
Having a less formal channel with lower investment from all parties is useful.
Matrix has perma links to messages and can be indexed by Google.
Asynchrony: threading should help here, perhaps also with long lasting
To contrast our needs, my number one requirement from a chat system is that free-text searches of discussions cannot be performed without limit by non-members and non-participants.
(I’m fine with bug trackers existing, of course.)
Discord servers can be configured to not require an account
>4
Each message has a URL. You can easily copy a link to a message.
>5
Discord allows you to search all messages in a server and use filters too.
But literally no one does this because of spam concerns
> Discord allows you to search all messages in a server and use filters too.
In Discord, while a forum or github issues or whatever will show up in your general internet search engine of choice.
Which is an absolutely terrible experience if you've ever actually needed to.
> Discord servers can be configured to not require an account
Still requires Javascript, no SEO, popups and nagging dialogs, overall bad experience.
- it’s impossible to search chats meaningfully, whereas forums/DLs let you quickly figure out if you’re facing a common issue (and finding resolutions easily)
- asking about something in chat and tracking replies a day or two later (because you will quite likely not get a quick reply to complex issues) is also quite hard unless you just happen to be awake at the same time as a core dev and can actually spend the time together (although that usually devolves into “file an issue with more details and tag me”).
- I don’t want to sign up for a dozen different services or private forums to even access that info.
Not to mention that (depending on community) you might just get a lot of irrelevant chatter thrown in, or just plain “this is the wrong channel” replies because there are no signposts.
I've found discord's search feature to be quite powerful, specially if servers are well partitioned into channels based on topic, and are searched(and therefore indexed) semi-frequently. It's not as good as a search engine, but throwing some keywords in there does often get me the answer I'm looking for.
Also regarding irrelevant chatter, discord's gotten a lot better with that since the recent introduction of the threads feature, allowing each discussion to branch off into its own thread instead of getting intermingled.
From a user's perspective, that's a more important aspect than the underlying platform being FOSS. Also as a maintainer, I would neither want to answer the same questions again and again nor would I like to create the impression of answering in real time, as chat clients usually do.
I don't care if it's Gitter, GitHub discussions, or a mailing list, but please make it easy for search engines to index the messages instead of placing them behind a proprietary wall like on discord.
I personally like it when there's a chat (Discord, Telegram, whatever), it shouldn't be a replacement for an issue tracker but there can be things that aren't clear-cut issues, and I feel less embarrassed to ask in a chat if some behavior is intentional rather than opening an issue.
Now more recently I started receiving my first "hey we believe there is something wrong with your account, attach a (first time, new) phone number to it to join this server". That is most likely a lie of course, Discord just wants to blackmail me into giving them my phone number. Also apparently there is an option to make an attached phone number mandatory in order to join a server, which quite a number communities activate for some reason.
So it turns out the bad feeling was correct.
Source: I lead the anti-abuse team at Discord
I can't be bothered to fetch a burner sim every time someone or other wants a number.
And I'm not giving out any of my more permanent numbers to who knows whom.
I have enough spam and phishing attempts on them already, thank you very much.
(and it's not like I imply that you're behind the attempts, it's just numbers leak left and right)
Plenty of apps require it now, and I wouldn't be surprised if it overtook email as the standard verifier.
...for now. I'll never give out my phone number to discord. The messages aren't even E2E encrypted.
Given your entire business model is "growth and engagement", there is no reason to trust your word. It may be true currently but this can change at any time.
Spam does happen on IRC, but gets shut down eventually. Same as Discord and other messaging platforms.
In general, there are better approaches to avoiding spam in an IM system...
This is the spirit of the GDPR, by the way: collect as little information as possible and only use it for purposes that are related to the service you're providing. This seems like a very fair, very obvious deal, and you could just be open about what you're doing.
I'm willing to trust that you are there to help enforce the "not used for any other purposes." ... What happens when you leave the company? History says that 5 years down the road after the current team leaves, these numbers magically start being used for marketing, etc.
I'm not a spam guy, but even small costs like that would massively change the economics of bulk spam.
Another great thread, describing this dilemma is "Don't build your castle in other people's kingdoms" https://news.ycombinator.com/item?id=29108662
In discords defense: It was never made for open source projects in mind, but gamers and small private communities. Having a free service provided might come with traps and pitfalls, but I would prefer that over having only paid online services. Choose your poison. I don't think discord is the right choice for FOSS communities.
You can do that with an app or an U2F key. You don't need a phone number for that and, in fact, SMS-based 2FA is mostly discouraged by now due to sim swapping attacks.
So it boils down to avoiding sock puppets (most likely IMO) and to collect your data (which is something nice to get on top).
Adding a U2F token and having SMS as a backup means that you don't have people locked out because their yubikey failed -- which happens.
Discord is trying to solve some of the bootstrapping problems that arise from "oh fuck my computer and phone were both stolen" -- which, again, happens.
It's a big problem on Discord and requiring a phone number linked to the account helps quite a bit :(
Wanted to say thanks, but couldn't, because apparently "verified accounts only chat" is a thing.
Well, not gonna share my phone number with the world.
My phone number is kinda holy to me.
That's totally fine, I am not mad at them, I understand their motives.
It's then just simply not for me, is all.
Also similar to discord, because so far I wasn't forced to add a number there.
Maybe it's not up to the server owner, but it's also not mandatory on the whole discord platform
Requiring an account to be verified, or a follower, or in extreme cases a subscriber is the only practical response as twitch moderation tools are practically useless.
I know it's not en vogue, but abstinence is one possible solution.
I don't feel like having to pay 10€/year for a burner phone (so the SIM isn't deactivated)
It's fine, I can live without most of these services just fine.
And if I can't any longer, I will walk that bridge then.
Either way, it's pretty easy to get a burner SIM or use Google Voice (if you're in the US), or services like getsmscode.com which provide disposable phone numbers that work with hundreds of major services for 10 cents per SMS, and you can even pay with crypto.
> Even if you don't trust them fully, they're not some random shady website that's likely to leak your number or use it for advertising.
The last few years of leaks and hacks say that trust should never be implicit. Every company has the incentive to use your data for profit.
It is the same as in politics: saying 'because security', is a very convenient and easy way to get about anything accepted, little by little.
Often, the spam calls spoof the number to be either my OWN number or my area code too.
If you don't want to alienate those of your users who are so allergic to proprietary software - what about alienating all the users who prefer discord and don't want to install whatever "free" alternative you suggest? Serious question, because in my experience, the amount of people in the latter outnumber the other 100:1. Almost every developer I know loves having all their projects and developer communities on discord, and get annoyed when there's one using IRC that we want to interact with.
Another thing to consider is, how user/developer friendly discord is (privacy/donating to open source/opensourcing their tech/etc), its not like they're some big evil company - their code is proprietary, they're a business.
I completely respect you personally not wanting to use discord for FOSS projects, as a matter of principle/ideology, but I just think it's not realistic or practical.
Their code can be proprietary, but their protocol shouldn't be. Walled gardens are antithetical to the spirit that built the internet, and no amount of donations can't change the fact that Discord is bad for the net.
If this were true: Why go after the people creating alternate clients, as Discord has apparently done a number of times now? Apparently "un-walling" is not a problem here, people not being walled quite as hard (without any involvement or development cost for discord themselves) is.
We are dependent on the whims of single companies like no other time in history.
The only question is whether they get big enough and safe enough to start abusing their position.
https://github.com/reactiflux/discord-irc
That way you are not stuck in an ecosystem. Sure some ppl will always be unhappy and looking up content in the old system is subpar but thats the nature of the game.
Consider that this is likely the result of bias in your social circles. While I have no doubts Discord is currently the most popular, the "almost all" part is the result of bias. For me, it's the opposite, again a result of bias.
Regarding practicality, I think Matrix (specifically via Element) is definitely practical today and improving extremely quickly. This holds even more due to the existence of bridges to other protocols, including Discord.
Describing using closed source IM as "practical" and FLOSS ones "overexaggerated" is in itself an example of ideology.
Unsure how you want to quantify this, and I'm curious what makes you say that. Are you affiliated with Discord in some way? I'm not trying to accuse you.
Even if it is true and Discord is some benevolent company when it comes to their long term intentions (which we can't know): The thing with companies is that their leadership is always subject to change.
It's not like we have any shortage of companies betraying the trust of their users, leaking data due to either user hostility or negligence, becoming shitty or "evil", or even turning their product into something entirely different.
You don‘t need to install anything. There are web IRC clients, and you don‘t even need an account. It‘s actually easier to use and has a lower barrier of entry in that regard.
Highly encourage anyone who has not used Matrix/Element since they added Spaces[1] to give it a shot, it is not perfect but it's the closest FOSS messaging system to reproducing the Discord experience (which I truly love, a good UX is so absolutely critical)
[0] https://twitter.com/slimsag/status/1474453626328207362?s=20
Looking for the "discord.gg/invitecode" pattern[2] gives 27k results, safe to say discord is severely under-represented in your statistic.
[0] https://github.com/yarnpkg/yarn
[1] https://github.com/sveltejs/svelte
[2] https://sourcegraph.com/search?q=context:global+https://disc...
* 28k for Discord[0]
* 1.4k for Matrix[1]
[0] https://sourcegraph.com/search?q=context:global+%28https://d...
[1] https://sourcegraph.com/search?q=context:global+https://matr...
The thing I like about Matrix is they are basically implementing every feature in the other platforms, so it's just a matter of time before we get a decent UI that can compete with the existing platforms
I really like the Matrix (and WhatsApp, FB Messenger, Telegram...) model where every chat is just a different room that I can have in one recency list. Spaces of top of "just rooms" does a nice job to help discovery and filtering.
At least for how I work Matrix "Spaces" is actually the best UX for my personal life as opposed to "Servers" or "Workspaces". Element could definitely improve on other fronts but the way it "merges" my different communities on the client is excellent.
I found Discord unparalleled - it has great chat, great voice, streaming, files/images sharing and also is centralized, thus secure for user.
I don't have to worry about joining random ass server and then getting DDoS'd (yes, stuff like this happens, especially in gaming from my experience)
___________
>Users who cannot afford new enough hardware to make the resource-intensive client pleasant to use are also left by the wayside. Choosing Discord is a choice that excludes poor
Sorry, but C++ compilers are N times more resource intensive than Discord's client
Where's the boundary? what's the minimal level that should we "require"?
Ability to code in VS Code? Visual Studio? JetBrain IDEs? ability to run Chrome? Firefox? VIM?
256 MB of RAM? NVMe M2 DISK?
________________
>are also locked out of the client until Discord sees fit to port it to their platform
How about via browser?
_______________
I'll go even further and provoke
You're increasing entry level for younger/newbie developers by using arcane and dated ways of contributing instead of "standards" like GitHub.
I personally don't have a problem with discords client, but this statement does more to harm your argument than you think it does.
Compilation is a specialised process, and an intensive one.
You might as well say "Why shouldn't my wallpaper use all my resources? Video editing does!".
Niche workflows and one-off tasks are inherently different beasts than platform software which by its nature requires everyone to be running at the same time.
The context is about FOSS, I believe it's programming heavy, thus software compilation it's not niche workflow, but something that you do a few times per programming session.
Some people within project don't write code, but majority I'd say at least tries.
Where's middle ground?
1) CI/CD Systems exist, compilation does not have to be on my local machine. So do build farms. In Google compilation does not happen on your own machine.
2) Not all FOSS is compiled. (Python, Ruby, in some cases javascript; though that is increasingly not the case).
3) Not all FOSS contribution is compilation: Art, documentation, support.
So a compiler does not need to be run by "everyone". But discord/slack/teams/irc/zulip/matrix and outlook/thunderbird/gmail kinda need to be run by everyone.
In many cases the former (IM) need to be running all the time, where mail and others can run async.
So, with all due respect, don't try to pretend that instant messengers should not be held to a higher standard than our developer tools; where the output is more important than the tool itself.
GitHub is a for profit American company owned by Microsoft. They are beholden to no one other than their board, share holders, and US export control laws. Do not make the mistake of thinking they offer free repository hosting out of good will or altruism.
On job interviews they ask you about your GH (by default)
Discord's voice and streaming are kind of crappy.
> Sorry, but C++ compilers are N times more resource intensive than Discord's client
Uh, I don't know what you're on. Discord's client is web-based and you claim it is less resource intensive than a C++ compiler?
> Where's the boundary? what's the minimal level that should we "require"?
> Ability to code in VS Code? Visual Studio? JetBrain IDEs? ability to run Chrome? Firefox? VIM?
> 256 MB of RAM? NVMe M2 DISK?
Not sure what you're talking about.
> You're increasing entry level for younger/newbie developers by using arcane and dated ways of contributing instead of "standards" like GitHub.
Sourcehut is by no means "arcane". Neither are Matrix, nor Mastodon.
He didn't say everyone should send patches by email to mailing lists.
I do. On bigger projects C++ compiler can be as heavy as triple A games.
for comparison: I compiled C# compiler in 1/nth of the time that it took me compiling LLVM and it didnt ate my all gigs of RAM.
>Not sure what you're talking about.
Author claims that some people don't have good enough hardware for Discord
That's fair, but what we should aim for? when I will know that my project's "environment" is too heavy because e.g I "require" contributors to use e.g some fancy tool like Docker with 5 containers that need 3GB of RAM
I find the UI/UX of Discord to be beyond awful, like really, really bad. Am I alone in this? I can never intuitively find a setting, for example. There are multiple settings buttons. Adding channels to your own Discord so you can collect notifications you're interested in sounds cool except it often doesn't work. I suspect the source Discord has disabled this. Why is that even possible?
the other big reason is discoverability. Finding things in a Discord is terrible. I've never seen Discord posts pop up in Google search so I suspect that's not possible. The search in Discord is of course bad (pretty much every non-Google search is bad, to be fair).
People don't care about it being a walled garden. They only care if it accomplishes the job they want it to.
my first reflex whenever I see a website with tons of paddings and colours is ctrl-w. gimme those win9x UIs please !!!
Also, and this is very subjective, from my experience real-time chat (Discord especially) allows toxic community members to be toxic without much fear of punishment since the interactions are ephemeral. Moreover, toxic people often lurk the channels 24/7 and thus are the first to respond to questions. Questions that happen to be "stupid" since the same question is asked often -- even though the last instance has already been drowned out by a half-kilometre of memes and off-topic talk.
A lot of the discussion around a large open source project I develop add-ons for has migrated onto Discord and it makes it an utter nightmare to work out what is happening, why certain design decisions were made, or get an answer about a technical question without directly contacting someone. If that discussion instead took place on their public forums (which is where it was previously) then I wouldn't have to bug someone 90% of the time.
Furthermore as someone who does run some reasonably popular FOSS projects, I will also use whatever damn platform I chose because it’s my FOSS project.
The author takes it for granted that accessibility issues are more prevalent in proprietary software like Discord (vs FOSS alternatives), is there any evidence to back this up? I ask because it seems counter-intuitive. Since most proprietary software in this space tend to have more users than their FOSS counterparts, it seems pretty straightforward to think that accessibility will be less of an issue in the former category (i.e., more users = taking into account and addressing more accessibility needs vs when you only have a few thousand users).
Maybe the logic is being open source encourages volunteers to address accessibility issues and submit patches? Although even that's debatable; unless the project is quite popular, there will always be shortage of volunteers.
EDIT: this also supports the "bridge everything to IRC/Matrix/..." approach, since it lets people use whatever setup they already have working for their specific needs. And if Discord kills our bridge one day because "evil bot", well, rest of the group still works. And if something new and shiny comes up, sure, bridge it.
Discord gets a lot of complaints but they seem focused on chasing their success metrics to the absolute exclusion of everything else. Those complaints don't register in their chosen and still upward trending metrics, therefore they don't matter. It doesn't matter that a significant part of Discord's growth is backed by users benefiting from bots which will be broken by the upcoming API changes, it doesn't matter that their developer relations are so bad that major developers are abandoning their projects instead of updating to the new API, all of this doesn't matter as it isn't being measured by their success metrics.
this dev refuse to consider accessibility as it means ui changes or new option. users with visual impair are unable to use app and dev just locks issue reported for it and ignores users. probably to boost number of dls/markerting.
even if user does a patch dev just closes and does his own thing that dont help. even foss projects kick contribs out for try to help
I am not sure where you believe that more users == more time given to accessibility features.
Open Source on the other hand is development driven by need, thus if an an open source software does not do what I need, I can modify to do that thing. This allows a small niche of users to adapt the software to meet their particular accessibility needs, or for a charity to pay a developer to do so, neither of which is possible with close source software. So at the end of the day people that need or want accessibility features have to shame the closed source companies into doing it, or have regulations passed that require it, both of which will result in just enough development time to either cover the regulations, or the bad PR, and likely will result in a subpar experience to that of Open Source (IMO)
Perceptive readers might have noticed that most of these
arguments can be generalized. This article is much the same
if we replace “Discord” with “GitHub”, for instance, or “
Twitter” or “YouTube”.At one point in time facebook was cool and trendy and nobody was really freaking out about it. Discord can at the drop of a hat become a new facebook -- or get bought by facebook or some other megacorp that wont just bleed money on their investments and will start selling your information, and we can start the new cycle of everyone jumping on some hip new product that has all the same problems.
The average person (my parents, grandparents, all non technical) can successfully navigate email and its a bit insulting to the average person to insinuate that something like matrix/xmpp with a little bit more UX work is simply too hard for the layman to grok. Maybe discord is convenient right now but it wont be when everyone has to jump around to some new maybe less evil service.
> Discord appears to inflate its participation numbers compared to other services. It shows all users who have ever joined the server, rather than all users who are actively using the server.
There are plenty of popular IRC channels full of sessions whose only activity is rejoining on disconnection. I mention this because the recent forced move from Freenode to Libera made me notice how many IRC names simply kept on joining Freenode during the period when all other activity on the channels has otherwise died and the topics were updated to point towards Libera.
So ... you're absolutely correct, and it was kinda fascinating to get a clearer handle on those numbers as I helped what felt like half the world migrate to libera, but I don't think your being right about that makes your point a particularly good nitpick of the article itself.
> with one side that’s willing to use the proprietary Discord client, and one side that isn’t. By choosing Discord, you also lock out users with accessibility needs, for whom the proprietary Discord client is often a nightmare to use.1 Users who cannot afford new enough hardware to make the resource-intensive client pleasant to use are also left by the wayside
Discord runs fine in the browser, I've been using it for years any never installed anything. So there's nothing more proprietary than other websites, and you can probably use chrome accessibility features.
I have this slight feeling this guy has a grudge and is writing this in bad faith. Matrix, Zulip and Rocket Chat are good alternatives, but I can't believe he's suggesting to use IRC in 2021. Way to drive people away from your project that way when nobody knows how to use your limited team chat haha.
However the community voted to move to Slack. The main reason given was around its popularity, more so than anything else. It was also the Slack free tier, so there was very little in the way of conversation history being available. However, it is what the community wanted, even though it became a barrier for me.
Plenty. Do I reply to the person or the list? How do I make sure my reply is properly threaded and doesn't show up as a new thread in the list or something? If I'm emailing the list in reply to a post, how does that even work? From my research it seems there is some kind of in-reply-to message identifier that's supposed to be included in the email headers. Does gmail even do that or am I supposed to use mutt and edit my email headers by hand? At that point I gave up because I didn't want to assume things and risk looking stupid.
In fact, wouldn't it be great if Github would offer a public realtime discussion board for each repo so that everything about your project is in one place?
> But in the end, Discord’s feature set and its sheer popularity decided the matter.
Sad.
Discord is made for gamers.
Not to mention each server has channels, which make it impossible to follow up certains topics. You can't even favorite a channel, and you have to "subscribe" to the whole server.
Oh yeah and a full electron instance, of I don't know how many megabytes, just to display images, gifs and a certain interface style.
I hope the low tech trend comes back.
You cannot grow an open source community by only selling to the open source crowd.
It was bad enough for me to attempt to use such a proprietary service, even if I couldn't figure it out. And then I learned about all the shady practices, such as going after third party clients, seemingly random deleting and/or locking of accounts, requiring phone number, and now I just refuse to touch it.
I am clearly not Discord's target audience.
Basically, just don't put all your eggs in one basket, and make sure at least one basket is under your own control.
I will never understand this "command economy" vision of some FOSS advocates. FOSS and proprietary software can and do coexist. Considering most FOSS code is written by people whose income is dependent on revenue generated by proprietary code, the purity obsession becomes frankly ridiculous. Proprietary code needs FOSS to keep it from stagnating and becoming abusive, and FOSS needs proprietary code to put food in the stomachs of the people writing it.
Who wants to step up and give us a grant to change this situation?
As an open source maintainer, I use discord (along with email, issues, discussions, PRs, Twitter, site chat etc.) as another option for those wishing to use it. It's not forced upon anyone. A small groups' esoteric (sometimes self-imposed) handicaps doesn't constitute a change in course for everyone else.
I'm sorry to say but this is a youth-oriented vector that exploits a lack of experience in the target population (game communities were the bread and butter of Discord in its early years) in what happens when you trust any essential product in the hands of a corporation. When I was younger I did the same thing and it's unfortunate because the fact is a drive for profit eventually turns any business against its users' interests and with it torpedoes years of knowledge that could have helped others for decades to come.
CEOs come and go, boards change, teams change, investors expect their money back, etc. etc. Just follow the money.
False premise. Die-hard free software fans who refuse to use proprietary software aren't numerous enough to make significant part of your contributors.
The only couple of FOSS projects I know using either app, are only using slack. They are both American and open source rather than European libre projects if that is a characteristic?
For me, the lack of history and good search in Slack unless you have a paid account is hostile.
The Discord communities I’ve experienced are a mess of dozens of topic driven channels each with long backscroll and various pins to jump around to various points in the chat history. Conversations between the same set of people are fragmented across numerous topic channels. I find it hard to follow and cumbersome to find/search information.
IRC forces chat to be transient, and any information that should persist or reach a wider audience must be handled intentionally.
> the right to set up useful bots
Discord allows bots. They probably can't do _everything_, but there are useful bots and even bridges for IRC (and probably others).
I am, however, very much aware that it may stop working at any given moment and have made sure I have 'plan B' ways to keep in touch with anybody/anything on discord that I actually care about.
Ie you share openly vs keeping secrets.
And by choosing Sourcehut, you deprive yourself of anything resembling usability.
So please don't silence people.
This might make me a terrible person but I don't care. They should get a better screen reader.
>Users who cannot afford new enough hardware to make the resource-intensive client
If you can't afford a computer that can handle Discord you should probably be focusing on earning more money than working with my software.
>Users of novel or unusual operating systems or devices
Discord works in a web browser.
>Discord also declines service to users in countries under US sanctions, such as Iran.
I don't care.
>Privacy-concious users will think twice before using Discord to participate in your project, or will be denied outright if they rely on Tor or VPNs
Discord cares about people's privacy, but also has to deal with abuse coming from people who want to be anonymous.
>Ownership over your chat logs
99% of my chat logs are garbage
>the right to set up useful bots
Discord has great bot support
>or to moderate your project’s space according to your discretion
You can moderate your server however you want. As long as you don't get reported you don't even need to follow Discord's somewhat restrictive ToS.