zulip/templates/zerver/for/rust-case-study.md

8.0 KiB
Raw Blame History

Rust is a popular modern programming language, designed for performance, reliability and productivity, and used by hundreds of companies around the world. Organized into teams and working groups, the Rust project is led by over 100 team members who oversee the work of more than 6000 contributors.

Rust moves to Zulip, one team at a time

Each Rust team decides independently how to organize itself and what communication tools to use. Every major Rust team has chosen Zulip as their chat platform, including the Compiler, Language, Library and Infrastructure teams. Some Rust teams have migrated between collaboration tools two or even three times in search of an effective solution. No team has moved away from Zulip after trying it.

“Zulip lets us move faster, connect with each other better, and have interactive technical discussions that are organized, recorded, and welcoming to other people,” says Rust Language team co-lead Josh Triplett.

“Zulip lets us have focused conversations at scale.”

Rust compiler team co-lead Felix Klock

The Language team moves from Discord to Zulip: “Its better in all the ways I care about”

Lets take a closer look at the story of the Rust Language team, which works on designing and helping to implement new language features. The team started out by using Gitter, but moved to Discord in 2018 in search of a more stable solution.

Some community members advocated for trying out Zulip, but the team leadership was reluctant to make another change. “Everyone in our community who was familiar with Zulip seemed thrilled with it,” says Language team co-lead Josh Triplett, “but moving our team seemed like too much of a pain.”

Eventually, Josh had to sign up for Zulip in order to get in touch with another Rust team. “After a day of using Zulip, I became an advocate myself,” he says. “Zulip is wildly simpler than most other tools Ive worked with.” The team made the move in November 2019 and has never looked back.

“Im personally ecstatically happy with Zulip,” says Josh, who also uses the Zulip instances for the Bytecode Alliance, Rust for Linux, and http-rs Zulip communities. “Its better in all the ways I care about and a joy to use.”

“Zulip is wildly simpler than most other tools Ive worked with.”

Rust Language team co-lead Josh Triplett

Zulip enables organized, searchable conversations

Zulips threading model provides a two-layer organizational hierarchy. It offers the advantages of a forum or a mailing list, reimagined in the context of a modern chat tool.

In contrast with other chat tools, Zulip makes it pleasant to have multiple conversations going on at once, with each conversation being easy to follow. “Slack and Discord both suffer when trying to collaborate with others at scale — you end up with conversations happening across each other,” says David Wood, member of the Rust compiler team. “In Zulip, I can instantly see the context for each message.”

Afterwards, Zulips thread-based organization creates a clear record of past discussions, documenting the decision-making process. “Zulip creates a transparent record of what we do,” says Josh. Its easy to link to Zulip threads from other tools in order to provide background context. “We link to Zulip threads all the time on GitHub, Twitter, email, Discourse, and from other Zulip messages,” Josh Triplett says.

“Slack and Discord feel opaque. Zulip feels like an open room.”

Rust Language team co-lead Josh Triplett

Because information on Zulip is well-organized, one can easily find and review earlier conversations, even if months have passed. The organizations rich history continues to provide value indefinitely. “I can find and re-read old conversations,” says Rust Language team co-lead Niko Matsakis. “If I send someone a link to a discussion, they can jump right in; this would be impossible in other chat tools Ive used.”

Unlike other chat tools, a discussion on Zulip can even be revived after weeks or months have passed if new information or ideas come to light, with no loss of surrounding context.

Catching up works great, whether you were away for hours, days, or even weeks. “When I come back after a break, I dont feel overwhelmed: I can skim topics looking for the ones that seem important, and scroll briefly through the rest,” says Rust Language team co-lead Niko Matsakis.

“When I come back after a break, I dont feel overwhelmed.”

Rust Language team co-lead Niko Matsakis

Zulip makes the Rust community more agile

In addition to being well-organized, Zulip interactions are conversational, enabling faster decision-making. GitHub issues about controversial Rust language decisions can devolve into incomprehensible comment threads with several hundred messages. “Some decisions that were blocked for months on GitHub were resolved within 24 hours by starting the right conversation on Zulip,” says Rust Language team co-lead Josh Triplett.

“Some decisions that were blocked for months on GitHub were resolved within 24 hours on Zulip.”

Rust Language team co-lead Josh Triplett

With the features and feel of a modern chat tool, Zulip makes it easy to have quick, light-weight, friendly conversations to get work done. “Zulip strikes just the right balance between ephemeral and permanent,” Josh Triplett says. The mobile applications make it easy to participate wherever you are. “The Android app is extremely functional,” says Josh. “Its easy to set notification preferences, and the default level of notifications is just right.”

Adopting Zulip has been transformational for how the Rust community makes progress. “Rust development would not be moving at the pace that it has been without Zulip,” says Rust Language team co-lead Josh Triplett. “Without Zulip, the Rust community would be more stuck, more slow-moving, less agile, and a little less human.”

“Rust development would not be moving at the pace that it has been without Zulip.”

Rust Language team co-lead Josh Triplett


Check out our guide on using Zulip for open source, and learn how Zulip helps communities scale!