mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
portico: Add Rust case study.
This commit is contained in:
@@ -43,6 +43,9 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="/case-studies/ucsd/">{{ _("University of California San Diego") }}</a>
|
<a href="/case-studies/ucsd/">{{ _("University of California San Diego") }}</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/case-studies/rust/">{{ _("Rust language community") }}</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="/case-studies/lean/">{{ _("Lean theorem prover community") }}</a>
|
<a href="/case-studies/lean/">{{ _("Lean theorem prover community") }}</a>
|
||||||
</li>
|
</li>
|
||||||
|
@@ -26,7 +26,7 @@ but also as an interested spectator,” wrote Peter Scholze in a [blog post
|
|||||||
describing the
|
describing the
|
||||||
project](https://xenaproject.wordpress.com/2021/06/05/half-a-year-of-the-liquid-tensor-experiment-amazing-developments/).
|
project](https://xenaproject.wordpress.com/2021/06/05/half-a-year-of-the-liquid-tensor-experiment-amazing-developments/).
|
||||||
“It was exactly the interactions via the Zulip chat that convinced me that a
|
“It was exactly the interactions via the Zulip chat that convinced me that a
|
||||||
proper verification was going on," he commented.
|
proper verification was going on,” he commented.
|
||||||
|
|
||||||
|
|
||||||
> “It was exactly the interactions via the Zulip chat that convinced me that a
|
> “It was exactly the interactions via the Zulip chat that convinced me that a
|
||||||
|
167
templates/zerver/for/rust-case-study.md
Normal file
167
templates/zerver/for/rust-case-study.md
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
## Rust: A popular programming language built by 1000s of contributors
|
||||||
|
|
||||||
|
[Rust](https://www.rust-lang.org/) 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](https://www.rust-lang.org/governance)
|
||||||
|
who oversee the work of [more than 6000
|
||||||
|
contributors](https://thanks.rust-lang.org/).
|
||||||
|
|
||||||
|
|
||||||
|
## 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](https://www.rust-lang.org/governance/teams/compiler),
|
||||||
|
[Language](https://www.rust-lang.org/governance/teams/lang),
|
||||||
|
[Library](https://www.rust-lang.org/governance/teams/library) and
|
||||||
|
[Infrastructure](https://www.rust-lang.org/governance/teams/infra) 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](https://www.rust-lang.org/governance/teams/lang) co-lead [Josh
|
||||||
|
Triplett](https://joshtriplett.org/).
|
||||||
|
|
||||||
|
|
||||||
|
> “Zulip lets us have focused conversations at scale.”
|
||||||
|
>
|
||||||
|
> — [Rust compiler team](https://www.rust-lang.org/governance/teams/compiler) co-lead [Felix
|
||||||
|
> Klock](https://github.com/pnkfelix)
|
||||||
|
|
||||||
|
|
||||||
|
## The Language team moves from Discord to Zulip: “It’s better in all the ways I care about”
|
||||||
|
|
||||||
|
Let’s 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](https://www.rust-lang.org/governance/teams/lang) co-lead [Josh
|
||||||
|
Triplett](https://joshtriplett.org/), “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 I’ve worked with.” The team made
|
||||||
|
the move in November 2019 and has never looked back.
|
||||||
|
|
||||||
|
“I’m personally ecstatically happy with Zulip,” says Josh, who also uses the
|
||||||
|
Zulip instances for the [Bytecode Alliance](https://bytecodealliance.org/),
|
||||||
|
[Rust for Linux](https://github.com/Rust-for-Linux), and
|
||||||
|
[http-rs](https://github.com/http-rs/tide) Zulip communities. “It’s better in
|
||||||
|
all the ways I care about and a joy to use.”
|
||||||
|
|
||||||
|
|
||||||
|
> “Zulip is wildly simpler than most other tools I’ve worked with.”
|
||||||
|
>
|
||||||
|
> — [Rust Language team](https://www.rust-lang.org/governance/teams/lang) co-lead
|
||||||
|
> [Josh Triplett](https://joshtriplett.org/)
|
||||||
|
|
||||||
|
|
||||||
|
## Zulip enables organized, searchable conversations
|
||||||
|
|
||||||
|
Zulip’s 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](https://davidtw.co/), member of the [Rust compiler
|
||||||
|
team](https://www.rust-lang.org/governance/teams/compiler). “In Zulip, I can
|
||||||
|
instantly see the context for each message.”
|
||||||
|
|
||||||
|
Afterwards, Zulip’s 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. It’s **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](https://joshtriplett.org/) says.
|
||||||
|
|
||||||
|
|
||||||
|
> “Slack and Discord feel opaque. Zulip feels like an open room.”
|
||||||
|
>
|
||||||
|
> — [Rust Language team](https://www.rust-lang.org/governance/teams/lang) co-lead
|
||||||
|
> [Josh Triplett](https://joshtriplett.org/)
|
||||||
|
|
||||||
|
Because information on Zulip is **well-organized**, one can easily find and
|
||||||
|
review earlier conversations, even if months have passed. The organization’s
|
||||||
|
**rich history** continues to provide value indefinitely. “I can find and
|
||||||
|
re-read old conversations,” says [Rust Language
|
||||||
|
team](https://www.rust-lang.org/governance/teams/lang) co-lead [Niko
|
||||||
|
Matsakis](https://github.com/nikomatsakis). “If I send someone a link to a
|
||||||
|
discussion, they can jump right in; this would be impossible in other chat tools
|
||||||
|
I’ve 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 don’t feel overwhelmed: I can skim topics
|
||||||
|
looking for the ones that seem important, and scroll briefly through the rest,”
|
||||||
|
says [Rust Language team](https://www.rust-lang.org/governance/teams/lang)
|
||||||
|
co-lead [Niko Matsakis](https://github.com/nikomatsakis).
|
||||||
|
|
||||||
|
|
||||||
|
> “When I come back after a break, I don’t feel overwhelmed.”
|
||||||
|
>
|
||||||
|
> — [Rust Language team](https://www.rust-lang.org/governance/teams/lang)
|
||||||
|
> co-lead [Niko Matsakis](https://github.com/nikomatsakis)
|
||||||
|
|
||||||
|
|
||||||
|
## 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](https://github.com/rust-lang/rust/issues/57640)
|
||||||
|
[hundred](https://github.com/rust-lang/rust/issues/34511)
|
||||||
|
[messages](https://github.com/rust-lang/rust/issues/28237). “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](https://www.rust-lang.org/governance/teams/lang) co-lead [Josh
|
||||||
|
Triplett](https://joshtriplett.org/).
|
||||||
|
|
||||||
|
|
||||||
|
> “Some decisions that were blocked for months on GitHub were resolved within 24
|
||||||
|
> hours on Zulip.”
|
||||||
|
>
|
||||||
|
> — [Rust Language team](https://www.rust-lang.org/governance/teams/lang) co-lead
|
||||||
|
> [Josh Triplett](https://joshtriplett.org/)
|
||||||
|
|
||||||
|
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](https://joshtriplett.org/) says. The [mobile
|
||||||
|
applications](/apps/) make it easy to participate wherever you
|
||||||
|
are. “The Android app is extremely functional,” says Josh. “It’s 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](https://www.rust-lang.org/governance/teams/lang) co-lead [Josh
|
||||||
|
Triplett](https://joshtriplett.org/). “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](https://www.rust-lang.org/governance/teams/lang) co-lead
|
||||||
|
> [Josh Triplett](https://joshtriplett.org/)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Check out our guide on using Zulip for [open source](/for/open-source), and
|
||||||
|
learn how Zulip [helps communities scale](/for/communities)!
|
@@ -71,6 +71,9 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="/case-studies/ucsd/">University of California San Diego</a>
|
<a href="/case-studies/ucsd/">University of California San Diego</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/case-studies/rust/">Rust language community</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="/case-studies/lean/">Lean theorem prover community</a>
|
<a href="/case-studies/lean/">Lean theorem prover community</a>
|
||||||
</li>
|
</li>
|
||||||
|
36
templates/zerver/rust-case-study.html
Normal file
36
templates/zerver/rust-case-study.html
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{% extends "zerver/portico.html" %}
|
||||||
|
{% set entrypoint = "landing-page" %}
|
||||||
|
|
||||||
|
{% block title %}
|
||||||
|
<title>Case study: Rust programming language community</title>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block customhead %}
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block portico_content %}
|
||||||
|
|
||||||
|
{% include 'zerver/landing_nav.html' %}
|
||||||
|
|
||||||
|
<div class="portico-landing why-page solutions-page case-study-page">
|
||||||
|
<div class="hero bg-pycon">
|
||||||
|
<div class="bg-dimmer"></div>
|
||||||
|
<div class="content">
|
||||||
|
<h1 class="center">Case study: Rust<br/>programming language community</h1>
|
||||||
|
</div>
|
||||||
|
<div class="hero-text">
|
||||||
|
Learn more about using Zulip for<br /> <a href="/for/open-source">open
|
||||||
|
source projects</a> and <a href="/for/communities">communities</a>.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="main">
|
||||||
|
<div class="padded-content">
|
||||||
|
<div class="inner-content markdown">
|
||||||
|
{{ render_markdown_path('zerver/for/rust-case-study.md') }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
@@ -159,9 +159,10 @@ class DocPageTest(ZulipTestCase):
|
|||||||
self._test("/for/open-source/", "for open source projects")
|
self._test("/for/open-source/", "for open source projects")
|
||||||
self._test("/for/events/", "for conferences and events")
|
self._test("/for/events/", "for conferences and events")
|
||||||
self._test("/for/education/", "education pricing")
|
self._test("/for/education/", "education pricing")
|
||||||
self._test("/case-studies/lean/", "Lean theorem prover")
|
|
||||||
self._test("/case-studies/tum/", "Technical University of Munich")
|
self._test("/case-studies/tum/", "Technical University of Munich")
|
||||||
self._test("/case-studies/ucsd/", "UCSD")
|
self._test("/case-studies/ucsd/", "UCSD")
|
||||||
|
self._test("/case-studies/rust/", "Rust programming language")
|
||||||
|
self._test("/case-studies/lean/", "Lean theorem prover")
|
||||||
self._test("/for/research/", "for research")
|
self._test("/for/research/", "for research")
|
||||||
self._test("/for/companies/", "Communication efficiency represents")
|
self._test("/for/companies/", "Communication efficiency represents")
|
||||||
self._test("/for/communities/", "Zulip for communities")
|
self._test("/for/communities/", "Zulip for communities")
|
||||||
|
@@ -621,6 +621,7 @@ i18n_urls = [
|
|||||||
path("for/companies/", landing_view, {"template_name": "zerver/for-companies.html"}),
|
path("for/companies/", landing_view, {"template_name": "zerver/for-companies.html"}),
|
||||||
path("case-studies/tum/", landing_view, {"template_name": "zerver/tum-case-study.html"}),
|
path("case-studies/tum/", landing_view, {"template_name": "zerver/tum-case-study.html"}),
|
||||||
path("case-studies/ucsd/", landing_view, {"template_name": "zerver/ucsd-case-study.html"}),
|
path("case-studies/ucsd/", landing_view, {"template_name": "zerver/ucsd-case-study.html"}),
|
||||||
|
path("case-studies/rust/", landing_view, {"template_name": "zerver/rust-case-study.html"}),
|
||||||
path("case-studies/lean/", landing_view, {"template_name": "zerver/lean-case-study.html"}),
|
path("case-studies/lean/", landing_view, {"template_name": "zerver/lean-case-study.html"}),
|
||||||
path(
|
path(
|
||||||
"for/communities/",
|
"for/communities/",
|
||||||
|
Reference in New Issue
Block a user