Language team shepherds


The language team is creating a group of shepherds. These are experienced members of the community who have demonstrated both excellent technical acumen and the ability to build consensus and understand alternative perspectives. The language team will trust them to help steer discussion on RFCs and guide them towards a useful conclusion. They will work in close coordination with the team, conveying information both to and from the team with the broader community. We hope that by creating this group, we can improve the speed with which language RFCs are handled, and improve mentoring for those interested in language design.

The shepherds group is somewhat similar to the reviewers groups in the compiler and library teams - members of the community with an increased level of trust and responsibility, but outside the teams themselves. Of course, there is no actual code to review in the language domain.

The role of the shepherd group (based on the role of the shepherd in the RFC process) is:

  • guide discussion on RFCs, and try to reach consensus, including
    • writing summaries of discussion
    • identifying and working with stakeholders
    • involving the language team at appropriate times
    • signal when an RFC is ready to advance in the process
  • mentor RFC authors and collaborate on improving designs and expositions
  • keep the language team informed on RFCs (new RFCs, notable discussions, changes in direction, that an RFC is approaching consensus, etc.)
  • optionally attend language team meetings

The final decision on language RFCs will still be taken by the language team. Shepherds’ agreement is not required for the team to be considered in consensus, but shepherds are likely to be consulted on relevant decisions.

Shepherds will be selected from the community by the language team. We expect shepherds to have demonstrated technical excellence, a mature and productive approach to discussion, and skills in advancing RFCs. They should of course be interested and involved with language design in Rust. Having authored RFCs is not essential. We expect that some shepherds will cover a specific area of expertise, especially where that area is not well-covered by the language team.

We’re happy to announce that Scott Olson, Josh Triplett, and Whitequark will be the initial language team shepherds - congratulations and thank you for stepping up into the new roles! All three have demonstrated the qualities we look for in shepherds, and the lang team is looking forward to working with them. Since this is something of an experiment, we are starting with a small number of shepherds; we expect the number to grow over time.

Creating the shepherds group is part of our broad goal to improve mentoring at all levels in 2017 (see 2017 roadmap).

Announcement: cramertj and scottmcm join as Lang Team Shepherds!

Excellent. Well deserved, all three of you. Looking forward to some movement on these RFCs!


Great selection of folks! Excited to see how this works out.


Sounds great!

Is this only for RFCs, or do shepherds also take care of unstable features until they’re either deprecated or stabilized?


Congrats to Scott, Josh and Whitequark! To a Rust-y 2017!


Is this only for RFCs, or do shepherds also take care of unstable features until they’re either deprecated or stabilized?

Initial focus is RFCs, but no reason they can’t help with unstable features too, if they have the time and inclination.