Skip to content

Latest commit

 

History

History
45 lines (31 loc) · 5.66 KB

charter.md

File metadata and controls

45 lines (31 loc) · 5.66 KB

Style Team

Aims: Evolving the Rust Style over time

  1. Defining the style for new Rust constructs
  2. Evolving the existing style over the course of Rust editions (without breaking backwards compatibility)
  3. Defining mechanisms to evolve the Rust style while taking backwards compatibility into account, such as via Rust editions or similar mechanisms

Domains

  1. Style Guide
  2. T-style team repo
  3. #T-style Zulip stream
  4. #T-style/private Zulip stream
  5. rust-lang issues with the T-style or I-style-nominated labels

Membership

The active membership of the style team can be found on rust-lang.org/governance.

The Rust style team shall have at least 3 members and at most 8. If the team has fewer than 3 members it shall seek new members as its primary focus.

Members of the style team are nominated by existing members. All existing members of the team must affirmatively agree to the addition of a member, with zero objections; if there is any objection to a nomination, the new member will not be added. In addition, the team lead or another team member will check with the moderation team regarding any person nominated for membership, to provide an avenue for awareness of concerns or red flags.

Becoming a member of T-Style

Contributors who believe they'd be a good fit for the style team are encouraged to request an invite1 to the team, by reaching out via Zulip private message to one or more team members. The style team will consider all such requests as as a proposal to become a team member and provide clear feedback to the contributor if there are any objections so that any issues may be resolved and the contributor can apply again in the future. The style team will not consider having previously been rejected as a basis for future rejections.

Team Member Characteristics

The style team is committed to building a diverse and capable team comprising individuals who possess the following characteristics:

  1. Representation and Perspectives: The style team values representation from various parts of the Rust organization and ecosystem. We aim to include members with many different perspectives on the Rust language and ecosystem, to ensure that the Rust style works well for a wide variety of Rust users.
  2. Familiarity with Rust: Prospective members should have a general familiarity with Rust, including a solid understanding of its constructs, how they interact, and the overall language ecosystem. This knowledge is crucial for making informed decisions regarding style and formatting guidelines.
  3. Interest in Rust Style: Members should have a genuine interest in Rust style and a willingness to contribute to the team's efforts. It is important that members are not solely focused on advocating for their personal style preferences but are dedicated to promoting a collective and consensus-based approach.
  4. Effective Collaboration Skills: Successful candidates will have a proven track record of effective collaboration, showcasing their ability to work together with others, consider diverse perspectives, navigate conflicts, and address emotional challenges in a constructive manner.
  5. Effective Communication in Charged Conversations: Members will need to carefully navigate charged conversations and evocative feedback, and respond constructively and with empathy, to each other and to the community. Members should be able to handle passionate discussions about code style, recognize miscommunication and misunderstandings, and promote empathy and listening.
  6. Familiarity with Rust Project: Members should be familiar with the Rust project's structure, culture, and expectations upon maintainers. This knowledge helps members navigate the ecosystem more effectively, and align their style decisions with the project's broader goals.
  7. Consent to Principles and Aims: Members are expected to align with and consent to the principles and aims of the style team, as outlined in the Rust style guide principles and the style team's charter.
  8. Pragmatic Approach: Members should prioritize pragmatism over dogmatism, even when dealing with style and formatting aspects they feel particularly strongly about. The ability to make practical and reasonable decisions that benefit the community at large is essential.
  9. Openness to Change and Learning: Members should demonstrate a willingness to seek out and receive new information, introspect on their underlying values, change their opinions based on evidence and rationale, and adapt their perspectives accordingly.
  10. Interest in Language and Syntax: Members should show interest in tracking changes to the Rust language and syntax. Keeping up-to-date with the latest developments helps inform style decisions.
  11. Ability to weigh subjective decisions, and seek out "better" rather than "perfect": We need a default Rust style, and even in the face of conflicting requirements we still need to make a decision. Style team decisions will attempt to best satisfy most members of the Rust community, but can never be perfect. Members will need to keep this in mind and help the style team make the best consent-based decisions it can.

Footnotes

  1. We suggest reaching out via zulip DM to one of the current team members, and contacting the lead by default if you're unsure who to reach out to.