What are these principles?

The Rustacean principles are a set of principles which guide us in building Rust and shaping the Rust open source organization. Read more here.

Who developed these principles? Are they "official"?

No -- right now, this is a work-in-progress being developed by nikomatsakis, joshtriplett, and others within the Rust community. When it takes settled shape, it may indeed move to the Rust org as something more official.

Are these principles complete?

No! They are still in draft form. We are still iterating on them and are interested in hearing from people who are active in the Rust community about whether they reflect what you love about Rust (and, if not, what might be changed). That said, some aspects have gone through more iteration than others. Here is a list of some aspects of site and how well understood they are:

The qualities listed in How Rust empowersHigh: we've iterated quite a bit on these
Ordering of the qualitiesMedium: might still change this a bit
Mechanisms (e.g., type safety)Low: these have not seen a lot of iteration
The qualities listed in How to RustaceanMedium: expect to tweak these
Examples in the qualities listed in How to RustaceanLow: most of these aren't even written yet!
Case studiesLow: these have not seen a lot of iteration

Why develop these principles?

The goal of these principles is to help us to be more precise as we go about our work in the Rust org. The Rust empowers by being... section is primarily intended to help guide discussions about the effects of features on our users. The How to Rustacean section is meant to help us in describing the kinds of behaviors that we are looking for when we select Rust team members. This makes it hard for people to know what they ought to do, but it also makes it very hard for us to communicate where improvement is needed.

How can these principles be used?

These principles can guide us when having design discussions or questions of team membership. Read more here..