Hacker News new | past | comments | ask | show | jobs | submit login
Why Reactiflux, Vue Land, Yarn, and other open source communities use Discord (discordapp.com)
64 points by jhgg 11 months ago | hide | past | web | favorite | 72 comments

I'm going to straight up disagree that open source communities should use Discord. Michael Greer lists a lot of great advantages over Slack, but that is not sufficient. In particular I think open source communities should have 1) threaded discussions that are 2) searchable results on google. (for hopefully self evident reasons)

Discord has neither.

I don't have any influence over these giant communities but if I were starting them from scratch I would put them on https://spectrum.chat because it explicitly solves these issues. (no affiliation) Now the network effect makes it a lot harder. I would encourage -new- open source communities to check Spectrum out.

I'm a fan of the open source Zulip for how it does threading. Those threads should be linkable and searchable, but I'm not sure.

Zulip's threads are linkable and searchable.

https://zulipchat.com/for/open-source has more detail on Zulip for open source projects.

> In particular I think open source communities should have 1) threaded discussions that are 2) searchable results on google. (for hopefully self evident reasons)

Open source communities that communicate via mailing lists do have threaded discussions that can be found via a Google search. Though the websites they link to have a rather limited interface for viewing the discussion. NNTP gateways like gmane make it much easier to read through the threads (though it would be better if the web pages presented a more HN or reddit type view of the discussions).

sounds like you agree?

> In particular I think open source communities should have 1) threaded discussions that are 2) searchable results on google. (for hopefully self evident reasons)

So mailing lists then? OSS communities have been using them for years, they even have offline browsing and offline search. There are a number of user interfaces available from online ones like google groups or gmail, desktop readers, terminal apps and even editor plugins.

The best one I've found is using a news reader with the gmane NNTP endpoint for browsing those mailing lists.

Just today I experienced the frustration of a pull request linking to a conversation on slack that I couldn't read.

lol, how did the PR submitter expect you to be able to access his slack messages

I'm a Reactiflux admin. We are VERY happy with Discord!

I had this discussion with Max Stoiber (founder of Spectrum.chat) on Twitter a couple months ago [0] . I agree that threadedness and searchability are nice features of Spectrum, but I'd say that both a forum-like searchable model and a real-time chatroom model have a place, and that the use cases only partially overlap.

[0] https://twitter.com/acemarke/status/953804604046749696

> I'm a Reactiflux admin. We are VERY happy with Discord!

Are you in any way being compensated to say this? I don't expect you to disclose the details here, but I will at least ask. Publishing this blog post I understand that it is important for Discord to win over open source project to their platform. As users, developers are often early adopters and "organic" influencers.

I think you should give https://riot.im a try. It's open source and federated and has IRC bridges.

I am absolutely in no way compensated for _anything_ I do with Reactiflux :) I hang out there in my free time and answer questions because I like helping people learn about React and Redux, and I posted that comment because I truly am happy with Discord.

I had no idea they were even writing that article until I saw it posted here on HN.

Not sure what else I can say to prove that, but it's true :)

for the record i disagree with this kind of very tenuous tinfoil hat conspiracy theory. there isnt even an economic incentive here. we should be free to speak our minds without disclosing the presence of vested interest even in super inconsequential cases

I don't get it. How does a chat without a threaded conversation model able to manage a large number of people effectively? Have you ever taken a look at chat that is fully threaded? As far as I know, Discourse was built by keeping gamers in mind who care mostly about what is happening right now which is not the perfect fit for an open source project.

Sometimes if there's a bunch of people chatting at once the conversation can get a little crossed-up, sure, but most of the time there's only one or two specific discussions going on in any given channel. It helps that we have a _lot_ of different channels for different topics: #general, #need-help, #redux, #webpack, #functional-programming, #testing, etc.

its not like the mass community of users get to decide, the people who started reactiflux got themselves on the react docs first and so it becomes pseudoofficial. then over time you just get the benefits of network effect.

and i totally respect that you are happy with it. this is merely my opinion, and why I've tried Reactiflux a couple times and it has not stuck for me. Key question for you is: how many of me are there out there?

You can search for things that've been said on Discord, albeit not with Google.

Spectrum looks similar to a 2011 text message client, and a niche platform is less welcoming than something that a good portion of people already have an account on.

> Spectrum looks similar to a 2011 text message client

This just isn't true. Compare [1] to [2]. Nor does it look like VB, phpBB, etc. from 2011.

[1] https://thenextweb.com/apps/2011/08/30/the-top-6-best-instan...

[2] https://spectrum.chat/sketch?thread=5ee6de28-e347-4c0f-950d-...

> .. a good portion of people already have an account on.

Ah yes, my N accounts for N communities on Slack.

It has the bubbles around what each person says, which is the style that many of the chat apps in your link have as well.

OK, they are flat bubbles now rather than shiny blobby ones, but it's the "bubble for everything someone says" that makes it look dated.

I hated the "bubbles" look back then and always used themes that just presented text as text, with possible unobtrusive delimiters between people's comments. Like Slack and Discord do.

yes search within-app is not enough. i would like universal search for issues/errors that i encounter with a particular technology. this is one thing stackoverflow definitely got right.

im not concerned with the looks. and this niche argument is pretty weak, every platform incl discord starts somewhere.

Vuej and React have traditional forums. But I get what you're saying. When I was using Aurelia, I had huge problems because it was just on gitter.

see, i'm a professional react dev and i didnt even know about the react forum until you just mentioned it. why is there reactiflux AND this thing?? how does that make sense?

Somewhat different use cases? Reactiflux is all about real-time discussion and helping answer questions (although admittedly there are times when the answers come in asynchronously several hours later). The React.js forums are... well, I guess for discussion, but really haven't ever gotten much attention.

Besides, Reactiflux is a totally independent group - started by the community, run by the community. We've had several Facebook employees come in for Q&A chats, but we're not an "official" part of React in that sense.

(Note: I'm a Reactiflux admin.)

Discord's founders promised open-sourcing their client and API long ago. I don't think it'll ever happen. Still, it's great to see them contributing to the wider community.

I am deeply disappointed by Discord's approach to Free Software in general, although I understand that they deeply desire the same business model as Slack or Hipchat. It'd be nice if we could stop balkanizing chat already.

With their terrible response to modders and claiming that 'all mods are malware', and their flip-flopped response of them being "against the TOS", yeah, they're not going to open source anything. Just walk into the Discord Developers server and ask about modifying Discord, you'll get berated. Thats because the devs do it themselves.

Discord doesn't have the luxury of being a bought-out company like Curse client which makes money for Amazons other services. Discord is on its own, and as such has to make back their revenue. You can't make revenue unless you charge for something, and if people can build something better than the discord client (They can), then you're going to be hard pressed for features.

Remember it took Discord a year and half to actually implement video calls, when right from the start they advertised heavily that they were a 'replacement' to Skype. Took them two years to just have video embeds. Even still they have no proper administration system for servers. If you want to admin a server, you have to build and host your own bots for it.

And thats just the iceberg. It gets messier the deeper you delve into the personalities and inexperience this company has.

Yup. They all want to make money the same way and as a result Discord will knife it's users in the back sooner or later just like Slack has.

Better to stay away and donate time/money to open source competitors even if they lack network effects.

Discord is a great tool for gaming communities and other similar groups. If you might otherwise be using group chats on Facebook, or Skype, Twitter, Ventrilo, Mumble, or Teamspeak then sure, switching to Discord is a no-brainer. Do it today; there's a reason so many gaming communities have embraced it so quickly and thoroughly; it's much better than the alternatives.

It's also great for creative writing groups, clubs, hobby groups...great tool for casual organisation of 3-50 people where most of your time is going to be spend casually chatting and linking images and posting jokes. It's also much better for creating ephemeral groups.

But I'm not really sure I think it works for open source projects. "Better than Slack" is setting the bar really low; Slack was a bad solution for this as well. In particular I'm concerned by: 1) Walled garden 2) uncertain corporate future 3) lack of public, searchable logs 4) lack of interoperability and federation 5) lack of deep links into archives 6) barrier to new members.

Reactiflux on Slack was a poor experience; they outgrew Slack and were forced to jump to Discord and...it's still a poor experience. It's like hitting yourself on the hand with a hammer, realising it hurts, so getting a different hammer. This isn't progress. I'm not sure it's worse, so sure, if you're already on Slack and you want more of the same then sure, switch to Discord. But maybe first think about alternatives that aren't "the same thing I already have with a dark theme"?

Am I missing something? Virtually the entire open source ecosystem resides on GitHub, an unprofitable walled corporation. Not having searchable logs could be an issue, but how that different than an irc channel?

Traditionally IRC channels used for open source projects do have searchable, publically accessible logs. It's an easy thing to do when dealing with an open ecoystem like IRC. Want to know what the #docker channel on Freenode was talking about on August 3rd of last year?


As for Github, their are absolutely concerns relating to their role in the open source ecosystem, and many people advocate for Gitlab and other solutions as a result. However, the concerns with Github are much more theoretical; the actual experience is quite good, whereas with Slack it's pretty mediocre. Plus, it's a lot easier to migrate a project away from github; because it's built on git you keep all your commit history, etc., and your issues and wiki are easily exportable. If I want to move my open source project from github to a self-hosted gitlab, it's the work of an afternoon.

None of that's true on slack.

Don't swallow the lure. Please allow me to quote what I said yesterday[1].

>> Slack, like so many others before them, pretend to care about interoperability, opening up just so slightly, so that they can lure in people with the promise of "openness", before eventually closing the gate once they've achieved sufficient size and lock-in.

> Spot on. People are lured in by hype and forget the long-term consequences. Always chose “open” by design, never by charity.

[1] https://news.ycombinator.com/item?id=16567269

When I open Discordapp or Slack it is like opening 5 instances of Chromium with 20 tabs full of flash. When will apps closer to the metal take over this space. Performance is a major issue of Electron. It is awesome to build MVP and get traction but it is time to move on Discordapp/Slack

I programmed many GUIs on Windows using pretty much all frameworks: MFC, WinForms, WPF, wxWindows, QT, from C++, C# and Python (some of them).

The one I liked the most was WPF, which I would say is web inspired (XAML is like HTML in many ways).

The later apps I did were web-based, the whole app was an HTML page running inside a WebView. This was years before Electron appeared, and much harder. But it was still so much better.

Yes, performance sucks, but you can do in one day what it takes you one week in a classic GUI framework. Layout which is a major pain in old frameworks is trivial in HTML. Same for fancy fonts/colors and using images everywhere.

Exactly. You are confirming my point. Electron is great for MVP and to get traction but once that is done, a more performant solution needs to follow or someone else might build on their success.

I just use these in my browser and get on with life.

I need to run a few more apps, not just a browser or messenger

An open source blockchain project I’m involved with just moved from Slack to Discord.

Slack is designed for trusted teams and does not handle malicious members. There are several won’t-fix issues that drove us out:

1. Anyone can set reminders for the slackbot to message to anyone in the channel. These reminders look official and don’t say who sent them. Great for phishing. You can’t disable this.

2. By default, anyone can download a list of all users, including email addresses and real names. Awesome again for phishing.

3. It’s now super hard to tell imitation accounts from the real thing on Slack. Multiple people can have the same usernames in the channel.

Discord, being forged in the fires of massive gamer communities approaches everything with the expectation that some of your users will be evil, and gives you good tools to deal with it.

I'm really glad I pushed Reactiflux to use Discord when Slack decided to kick them out, it's an awesome product and it's great to see that many open source projects decided to do the same and thrive there :)

Shouldn't open source projects, you know, be using open source projects?

My view is that you should be using the best available service. If it happens to be open source, then it's great but if it's not, it shouldn't be a blocker.

I will not stop promoting the open source projects I'm working on on Twitter and Facebook just because they happen to not be open source.

At the time where Reactiflux needed to find a new home, I tried a ton of alternatives, both open source and closed source and the general level of quality for all of them was a huge step down from Slack, except for Discord which actually felt better.

So long as when picking the best the ability to preserve the history for future contributors, when switching again is considered, then that’s reasonable. But these tools have a tendency to make that very hard for obvious reasons.

> If it happens to be open source, then it's great but if it's not, it shouldn't be a blocker.

Awesome. What all open source projects you evaluated? Are you really telling that there are no open source projects that are as good as Discord out there?

Also, what I've observed is that infrastructure tends to be a good fit for open source but not products. React is open source but Discord is not even though it's using React. Git is open source but Github is not.

One reason for the move not mentioned in OP,


"Discord is the easiest platform to join. New users can immediately join our conversations without having to create an account."

That is, frankly, the killer feature.

Notwithstanding, I find it odd that developers here don't use E2E chats. It's always something clear text with permanent history, and in the case of Slack, key logging too! There's a JS based xmpp framework out there.


It puzzles me why no one uses such things.

Well, I tried to use Discord on different occasions for about two weeks (gaming), but didn't manage to get it to use my mic (tried it with different browsers). At the same time I have no problems with in-game VOIP solutions, Skype, Spreed or Nextcloud Talk.

So I would say, they are clearly doing something wrong over there and while I searched for solutions I got the impression that my problem wasn't an unique incident. At least for me it was enough to not recommend Discord.

If you're trying to play a game, while discord is in the browser, IIRC browsers can't read your keybinds if you're not focused on the browser. You need the actual Discord client, and run it in Administrator mode.

Thanks for the hint, but in fact it didn't even work when no game was running :-/

(I'm not affiliated with Discord or any significant community that uses it, but I'm an early adopter and a big fan).

I wish more communities would use Discord. The single sign-on alone makes it super convenient, but all around I just like the experience better than Slack, from login, to sharing channels, going by the actual UX (I haven't used the app in a while. Back then it needed a bit of love. Dunno if its still the case).

Every time I try to join a Slack community, it starts with "Ok, where' the darn link for it", to having to sign up, and looking at my computer's resources dying under the load and everything lagging if I'm navigating old comments from search (if there even is any, since free communities get truncated pretty hard).

I know there's a bunch of missing features, especially for corporate use, but for the stuff a lot of these communities use it for, Discord just works better.

The only thing that used to be a big issue for me was dealing with servers with a large amount of channels (since you kind of always join all of them by default. Is that still the case?). Channel organization by category is quite nice though.

Yeah, you're still automatically part of all channels all the time. The current workaround is to go to all channels you don't care about, and mute them.

Annoying, but it's a one-time thing.

Yeah though Im part of some slacks with 1200+ channels.

That would not be fun in Discord-land.

I was wondering when Discord would use Slack's recent announcement as PR for their own service. It's begun. I don't think I'll be falling for it this time though. Slack has made me skeptical of companies and their commitments to interoperability.

We've actually had plans for an open source page and showcasing open source communities that use Discord for the better part of a year. We finally got around to doing it though - completely unrelated to Slack's recent announcements.

Wow. I have been seeing links to discordapp.com for a while now and didn't bother to go through their registration process. Now I see why I never saw links to actual conversations: they have no URLs. How can someone suggest using a walled garden for open source collaboration?

Can anyone provide any insight into why Discord can afford to host these large communities and Slack can't?

From my understanding, the free Slack version doesn't offer unlimited history, so I'm wondering how Discord can offer these features.

Not sure if this answers you question about how Discord can afford it while Slack can't, but the topic of how they store all those messages was addressed very well in this article. https://blog.discordapp.com/how-discord-stores-billions-of-m...

Based on the description given in that article it's a technical hassle to store that many messages, and it could be Slack just thought it didn't want to deal with that.

Maybe Slack was so sure of it's moat that it could afford to demand payment.

Discord might forgo some profits right now for a better future.

But now I'm pretty sure Slack is in panic mode internally. Discord had unbelievable growth in the last months.

Back then they had mentioned how their architecture was fairly low cost (they use a much more modern stack than Slack does, for one). That was before search though.

With search, I'm really not sure how they pull it off.

I'm the engineer who worked on the Search backend. Read our blog here: https://blog.discordapp.com/how-discord-indexes-billions-of-...

Cost isn't actually too bad, given how we've designed our search schema - and how we lazily index.

Makes sense. I did read that blog before, but I just can't keep thinking about just the cost of storing that much text on disc, even if it was compressed, would quickly add up.

Maybe my mental math is failing me (or I'm overestimating how many messages there are), but that still seemed expensive.

In the end, as long as you don't go out of business, because I'd be very very sad :)

Storage is actually really cheap for this, we don't store the message data in ES, it just builds the inverted indices. I explain this more in-depth on the blog post.

On GCP, 50TB of Persistent SSD is roughly $9000/month before any discounts.

The thing that most annoys me about Discord, and i confess that this is utterly pathetic, is that i can never remember which one is Discord, and which one is Discourse.

So, for my own benefit:

Discourse is the open source born-again web forum software from the people behind Stack Overflow: https://github.com/discourse/discourse

Discord is a proprietary Slack clone whose main attactions are bundled TeamSpeak and a dark theme: https://discordapp.com/

Seems lik Slack is being pretty short sighted by kicking public communities off it. Slackin (https://github.com/rauchg/slackin) makes it really easy to set up a public Slack community and people love it. But it seems like Slack isn't that interested.

Sure there's plenty of people using their service and not paying for it, but it's also great marketing. If I do need chat for my paid organization, I'm much more likely to pick Slack if I'm using it daily for public channels.

I like Discord and use it to talk to friends while playing games, but I would be hesitant to use to use it for any big project. Unlike Slack which has a viable business model, I have to wonder what will happen when discord consumes their runway and has to start making money. A company can't live of VC funds forever. Accessibility and whatnot is obviously important, but after being 'kicked' of Slack I would be hesitant to switch to another propitiatory platform.

Discord uses a freemium model. We have a subscription service called Nitro[0] which adds some cool non-essential perks that is very popular with our user-base.

Additionally, we run a very slim and optimized infrastructure relative to other chat apps (elixir/BEAM makes this very effective; our current VM footprint for our real time services is ~4 thousand CPUs over a hundred or so VMs). We realized early on we needed to write efficient code that is cheap to run in order to be viable as a business.

I read a blog-post back in 2016 from Slack which mentioned their footprint was in the 5k+ VMs [1]. In 2016, Slack was roughly at 1/8th the scale we are at now.

[0]: https://discordapp.com/nitro [1]: https://slack.engineering/syscall-auditing-at-scale-e6a3ca8a...

10 upvotes in 4 minutes is unlikely.

If you're asking people to upvote this submission, that's against HN rules and that doesn't work.

EDIT: Since this submission got unpenalized (and this comment now obsolete), the Discord page the article links to (http://discordapp.com/open-source) may be a better source.

It's been posted in some Discord servers, which is where I come from, I don't think sharing the link with communities is forbidden, is it?

There are two reasons you might want to share the link to an HN discussion: if there is interesting discussion going on, or if you want to encourage people to upvote it.

In this case, there is no discussion about the article, just about the upvote brigade. So the only reason for sharing the link to the HN discussion would be to get people to upvote it.

Oh stop with the elitist act and maybe actually contribute to the discussion.

Yes it is. There's no reason to draw attention to a fresh HN submission other than to draw upvotes.

Unlike a company where an employee just posted an HN, the majority of people in a discord community might not even know Hacker News is a thing, nevermind knowing someone posted something interesting on it.

If it was a few hours after the submission was made, with plenty of discussion in the comments, sure. But not a few minutes after.

!remindme to check with the upvote police before sharing articles.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact