Hi,
@softinio has asked me to write down the experience with the Rust Discord server. First of all, to counter a misconception, there’s multiple “Rust” chats:
- Rust Project Discord
- Rust Community Discord
- Rust Project Zulip
- The Embedded WG on Freenode
The project chats are first of all only set up for working groups to chat. They are open to the community and have some general spaces because we are an open project. The community discord is run by a community group and is open to all these kinds of changes.
All project venues are moderated under the Rust Code of Conduct by virtue of being part of the Rust project, the community Discord by virtue of having chosen so. All chats have different moderation people.
Now, to the question how each of these chats came to be. tl;dr: many preferences of working groups.
We tied a lot of chats. When we decide on products to use, we a) expect functionality, b) consider all use-cases of the people having to use them. The product being open source is a major concern, but not the main concern.
We decided to move away from IRC early because of the same problems why Mozilla shuts it down: rampant spam and harassment. IRC has no good moderation capabilities and is extremely prone to moderation incidents. Also, it has a high barrier of entry. We also tried Gitter, and it had terrible behaviour such as dropping messages and the interface locking up. For a chat systems, we consider “gets message from A to B reliably” a core feature ;). Slack is out, as it is fundamentally not built for open communities. It has almost no moderation features - which makes sense, given that their product design expects that your organisation has an HR team.
In the end, Discord became the favourite choice of many working groups for two reasons:
- A good, reliable experience both on the web and on mobile
- Good Moderation features, including spam protection and slow mode
- Modern features, e.g. emoji reactions
- Messages reach the recipient reliably and trigger a notification
That might seem basic, but this often doesn’t properly work.
Drawbacks of Discord are the non-threaded discussion model, and really hard overview on servers with lots of channels. It by default assumes that you want to read everything. It has a rather heavyweight graphical interface, which may be a drawback for some.
Other working groups are using Zulip, precisely for the reason that their threading is really useful and thought out. It allows for example to have thread topics to be links to the issue discussed.

Their moderation docs are use case driven and good. Their interface is okay and well arranged, but certainly not polished to the end.
And finally, the embedded WG decided to stick with IRC even after irc.mozilla.org shuts down and moved to freenode.
All in all, we found Discord useful, but it has it’s flaws,
I fundamentally believe that there’s a lot of open design space around chats for open organisations.
Hope that helps a little.