The Rust Community
The Rust programming language has many qualities, but Rust’s greatest strength is the community of people who come together to make working in Rust a rewarding experience.
We are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, disability, ethnicity, religion, or similar personal characteristic. Our code of conduct sets the standards for behavior in all official Rust forums.
If you feel you have been or are being harassed or made uncomfortable by a community member, please contact any of the Rust Moderation Team immediately. Whether you are a regular contributor or a newcomer, we care about making the community a safe space for you.
Getting Started
The most important community resources for those new to Rust are:
- #rust-beginners, an IRC channel that loves answering questions at any depth.
- The Users Forum, for discussion of all things Rust.
You may also find help on the question and answer site, Stack Overflow.
News
This Week in Rust collects the latest news, upcoming events and a week-by-week account of changes in the Rust language and libraries. The Rust Blog is where the Rust team makes announcements about major developments. And nearly everything happening in Rust is discussed on the unofficial subreddit, /r/rust.
We also have a Twitter account. If you can’t read English, you can also follow our Weibo for Chinese.
IRC Channels
Rustaceans maintain a number of friendly, high-traffic IRC channels on Mozilla’s IRC network, irc.mozilla.org.
The #rust channel is a venue for general discussion about Rust, and a good place to ask for help. You’ll find people willing to answer any questions about Rust, and responses are typically fast.
Rust’s developers coordinate in #rust-internals. It is for real-time discussion about hacking on Rust itself. It is also the channel to ask questions about contributing to Rust.
Main channels
- #rust is for all things Rust
- #rust-beginners is a space for those new to Rust, lower traffic than #rust
- #rust-internals is for discussion of working on the Rust project itself
International channels
- #rust-br é dedicado à discussão sobre Rust no Brasil
- #rust-de ist für die allgemeine Diskussion über Rust auf Deutsch
- #rust-es es para una discusión general sobre Rust en español
- #rust-fr est dédié à la programmation en Rust en français
- #rust-ru для общих дискуссий о Rust на русском языке
- #rust-sv är för allmän diskussion om Rust på svenska
- Rust中文 Rust 语言中文 Chat 社区(非IRC频道)
Team channels
- #cargo is for discussion of Cargo, Rust’s package manager and home of the cargo team
- #rust-community is the home of the community team
- #rustc is the home of the compiler team
- #rust-dev-tools is the home of the developer tools team
- #rust-docs is the home of the documentation team
- #rust-infra is the home of the infrastructure team
- #rust-lang is the home of the language team
- #rust-libs is the home of the libraries team
- #rust-mods is the irc channel for the moderation team
- #rust-style is the home of the style strike team
- #rustdoc is the home of the Rustdoc team.
Topical channels
These channels are of the wider Rust community, and are not moderated by the moderation team.
- #rust-bots notifications about Rust from a selection of bots
- #rust-crypto is for discussion of cryptography in Rust
- #rust-embedded is for people doing embedded software in Rust
- #rust-gamedev is for people doing game development in Rust
- #rust-geo is for discussion on GeoRust, geospatial tools written in Rust
- #rust-machine-learning is for people doing machine learning in Rust
- #rust-networking is for people doing computer networking and development in Rust
- #rust-osdev is for people doing OS development in Rust
- #rust-sci is for people doing scientific computing in Rust
- #rust-wasm is for discussion on using Rust with WebAssembly
- #rust-webdev is for people doing web development in Rust
- #hyper is for discussion on Hyper, a popular Rust http library
- #iron is for discussion on Iron, the extensible Rust web framework
- #nom is for discussion on Nom, a Rust parser combinator library
- #redox is for discussion on Redox, the operating system written in Rust
- #rocket is for discussion on Rocket, a popular Rust http framework
- #serde if for discussion on Serde, a popular Rust serialization library
- #servo is for discussion of Servo, the browser engine written in Rust
- #xi is for discussion of Xi, the text editor written in Rust
Discussion Forums
We have two forums for asynchronous discussion:
-
The Users Forum, a space for asking questions, posting code snippets, talking about Rust projects, and so on.
-
The Internals Forum, a space dedicated to design and implementation discussion about Rust itself (which includes Cargo, the standard library, and other core bits of infrastructure).
YouTube Channel
Rust has a YouTube channel where presentations given at user groups and conferences by members of the Rust community are uploaded.
User Groups and Meetups
There are more than 90 Rust User Groups worldwide in over 35 countries. Rustaceans meet periodically in Rust User Groups. Its a great introduction to the community and a great way to learn and socialize with other people with a similar interest. Meetings are usually held monthly and very informal. Meetings are open to everyone.
There is a global calendar for keeping up with Rust events. Contact the community team to add your own.
The Rust Team
Rust has a community-driven development process where most decisions are made through open discussion and consensus, under the stewardship of various teams:
-
The Core Team is responsible for steering the design and development process, overseeing the introduction of new features, and ultimately making decisions for which there is no consensus (this happens rarely).
-
The Language Team is responsible for the design of new language features.
-
The Library Team is responsible for the Rust standard library, rust-lang crates, and conventions.
-
The Compiler Team is responsible for compiler internals and optimizations.
-
The Dev tools team is responsible for setting the overall direction of tools for working with Rust code.
-
The Cargo team is responsible for the design and implementation of Cargo.
-
The Infrastructure Team is responsible for infrastructure that supports the project itself: CI, release generation, bots, and metrics.
-
The Crates.io Team is responsible for managing the operations development, and policies of crates.io.
-
The Community Team is responsible for coordinating events, outreach, commercial users, teaching materials, and exposure. They can also direct inquiries to the correct parties when its not clear who to contact about something Rusty.
-
The Moderation Team is responsible for helping to uphold the code of conduct.
-
The Documentation Team is responsible for ensuring Rust has fantastic documentation.
In addition to the official team rosters, most teams also have a larger set of reviewers who are knowledgeable about the area and can sign off on code. If you’re interested in getting involved in one of these teams, feel free to reach out to the team leader or any other member, who can help get you started.
Rust Development
Rust has had over 2,000 different contributors, a number that grows every single week. We’d love for you to join that list!
As mentioned above, the Rust Internals Forum is dedicated to discussing the design and implementation of Rust. A lot of discussion also happens on GitHub:
-
The main repository and issue tracker are the front lines of the implementation work. Our reviewers strive to be friendly and to help mentor newcomers, so don’t hesitate to open a pull request!
-
The RFC repo tracks our Request for Comment process, the main pathway through which the Rust community and the teams reach consensus on new features proposed for the language and official libraries and tools.