
Why Reactiflux, Vue Land, Yarn, and other open source communities use Discord - jhgg
https://blog.discordapp.com/open-source-and-discord-b7466080fbf2
======
swyx
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](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.

~~~
acemarke
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](https://twitter.com/acemarke/status/953804604046749696)

~~~
blocked_again
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.

~~~
acemarke
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.

------
EtDybNuvCu
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.

~~~
devwastaken
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.

------
Lazare
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"?

~~~
doorbumper
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?

~~~
Lazare
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?

[https://botbot.me/freenode/docker/2017-08-03/?msg=89344351&p...](https://botbot.me/freenode/docker/2017-08-03/?msg=89344351&page=4)

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.

------
unicornporn
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](https://news.ycombinator.com/item?id=16567269)

------
yani
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

~~~
21
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.

~~~
yani
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.

------
danielvf
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.

------
vjeux
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 :)

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

~~~
vjeux
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.

~~~
lttlrck
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.

------
chapill
One reason for the move not mentioned in OP,

[https://reactjs.org/blog/2015/10/19/reactiflux-is-moving-
to-...](https://reactjs.org/blog/2015/10/19/reactiflux-is-moving-to-
discord.html)

"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.

[https://www.jsxc.org/](https://www.jsxc.org/)

It puzzles me why no one uses such things.

------
JepZ
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.

~~~
devwastaken
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.

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

------
shados
(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.

~~~
acemarke
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.

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

That would not be fun in Discord-land.

------
Karrot_Kream
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.

~~~
jhgg
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.

------
mcculley
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?

------
iooi
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.

~~~
shados
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.

~~~
jhgg
I'm the engineer who worked on the Search backend. Read our blog here:
[https://blog.discordapp.com/how-discord-indexes-billions-
of-...](https://blog.discordapp.com/how-discord-indexes-billions-of-
messages-e3d5e9be866f)

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

~~~
shados
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 :)

~~~
jhgg
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.

------
twic
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](https://github.com/discourse/discourse)

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

------
jacquesc
Seems lik Slack is being pretty short sighted by kicking public communities
off it. Slackin
([https://github.com/rauchg/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.

------
consto
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.

~~~
jhgg
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](https://discordapp.com/nitro) [1]:
[https://slack.engineering/syscall-auditing-at-
scale-e6a3ca8a...](https://slack.engineering/syscall-auditing-at-
scale-e6a3ca8ac1b8)

------
minimaxir
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](http://discordapp.com/open-source)) may be a better source.

~~~
Xenthys
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?

~~~
lambda
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.

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

