With open source projects as big as Rust, the people involved have a variety of communications needs. These can largely be categorized into “synchronous” and “asynchronous” methods, each useful for different things. For example, in the early days of Rust, we had
#rust on Mozilla’s IRC network for synchronous communication, and the
rust-dev mailing list for asynchronous communication. As we’ve grown, we’ve changed in many ways, and communications is one of them.
rust-dev no longer exists, and was replaced by this forum. Furthermore, we have “official” spaces run by the project, and “unofficial” spaces run by others. The /r/rust subreddit is a good example of an unofficial space. One of the earliest channels, as mentioned before, is IRC. At first, it was only
#rust, but eventually grew. In 2015, we had 53 channels! Many more have been created since.
We’ve experimented with other chat platforms in the past; all have their pros and cons. We’ve also had discussions in the past about switching to other platforms. One thing that’s become clear in these discussions is that no choice will satisfy everyone. IRC stays today due to inertia, but the core team is increasingly unhappy with it for a variety of reasons. We tried Gitter for the impl period last year, but ultimately it didn’t work for us either, due in part to persistent bugs.
The latest experiment the core team has tried is Discord. Like all platforms, it has its problems, but also several significant advantages:
- Users are persistent without needing a bouncer.
- Both web-based and desktop-based official clients exist, so you can install a client if you’d like, but aren’t required to. Phone apps are also available.
- Rich media is supported, including voice-based (and eventually video) chat, which help facilitate meetings.
- Discord has strong, clear, and easy-to-use moderation tools.
- The Discord team has been very responsive to requests and is interested in supporting the Rust team.
The core team has moved over to Discord for the past month or two, and had a positive experience. Subsequently, some other Rust teams and working groups have also chosen to move over. No overall decision has been made, and each individual team is choosing where to conduct its business at this time. The IRC channels remain available, and people are generally reachable from either location.
Churn in chat platforms is painful, and the current situation — with some channels existing in both IRC and Discord — is not great. We plan, after the 2018 Edition is finished, to revisit this topic more comprehensively, probably with an RFC of some kind. In the meantime, though, many of the teams have found the productivity boost to be significant enough to warrant moving as we work to ship.
If you’d like to try out the Discord, https://discordapp.com/invite/rust-lang will get you going!