Rustacean Principles

Dancing Ferris

A DRAFT set of principles guiding Rust development and its open source organization.

What is Rust?

  • A language empowering everyone to build reliable and efficient software.
  • An open-source community focused on creating, designing, and maintaining that language and its ecosystem.

What are the Rustacean Principles?

The Rustacean principles are a set of principles which guide us in building Rust. They begin with a description of how Rust empowers its users. This section describes the various goals that we shoot for when designing elements of Rust.

Rust is developed and maintained by the members of its various teams. The next section of this site, How to Rustacean, is a guide for the ways that members of those teams are expected to act. You can think of it like a companion to the Code of Conduct: whereas the CoC describes the bare minimum expected of any Rust participant, the How to Rustacean section describes what is means to excel.

Finally, the case studies section applies both the previous sections to various examples from Rust's history, and shows how the principles can help guide us.

How can the principles be used?

For the principles to be a success, they need to be more than words on a website. The hope is that they will become something that we actively reference all the time as we go about our work in the Rust org.

As an example, when working through a design tradeoff, it may be helpful to see whether you can phrase the underlying values in terms of named values like [productivity] or [transparency]. The ordering and prioritization may help in resolving the tradeoff. We can also rate designs along these axes, which may help spur useful ideas for how designs can be improved.

When it comes to the How to Rustacean section, it's a great guide that we can all use for ourselves. It's also a good idea to look for opportunities to point out when people are doing a good job -- e.g., "great job paying it forward". The principles can also be useful when thinking about prospective members of a team. Can you come up with concrete examples where they exemplified these principles? What about places where they fell short? The principles can be a useful tool for communicating this to people without it feeling like personal criticism.