|
| 1 | +# The Library Team |
| 2 | + |
| 3 | +The Rust standard library and the official `rust-lang` crates are |
| 4 | +the responsibility of the Library Team. |
| 5 | +The Library team makes sure the libraries are maintained, |
| 6 | +PRs get reviewed, and issues get handled in time, |
| 7 | +although that does not mean the team members are doing all the work themselves. |
| 8 | +Many team members and other contributors are involved in this work, |
| 9 | +and the team's main task is to guide and enable that work. |
| 10 | + |
| 11 | +## The Library API Team |
| 12 | + |
| 13 | +A very critical aspect of maintaining and evolving the standard library is its stability. |
| 14 | +Unlike other crates, we can not release a new major version once in a while for backwards |
| 15 | +incompatible changes. Every version of the standard library is semver-compatible |
| 16 | +with all previous versions since Rust 1.0. |
| 17 | + |
| 18 | +This means that we have to be very careful with additions and changes to the public interface. |
| 19 | +We can deprecate things if necessary, |
| 20 | +but removing items or changing signatures is almost never an option. |
| 21 | +As a result, we are very careful with stabilizing additions to the standard library. |
| 22 | +Once something is stable, we're basically stuck with it forever. |
| 23 | + |
| 24 | +To guard the stability and prevent us from adding things we'll regret later, |
| 25 | +we have a team that specifically focuses on the public API. |
| 26 | +Every RFC and stabilization of a library addition/change goes through a FCP process |
| 27 | +in which the members of the Library API Team are asked to sign off on the change. |
| 28 | + |
| 29 | +The members of this team are not necessarily familiar with the implementation details |
| 30 | +of the standard library, but are experienced with API design and understand the details |
| 31 | +of breaking changes and how they are avoided. |
| 32 | + |
| 33 | +## The Library Contributors |
| 34 | + |
| 35 | +In addition to the two teams above, we also have a the Library Contributors, |
| 36 | +which is a somewhat more loosely defined team consisting of those who regularly contribute |
| 37 | +or review changes to the standard libraries. |
| 38 | + |
| 39 | +Many of these contributors have a specific area of expertise, |
| 40 | +for example certain data structures or a specific operating system. |
| 41 | + |
| 42 | +## Team Membership |
| 43 | + |
| 44 | +The Library Team will privately discuss potential new members for itself and Library Contributors, |
| 45 | +and extend an invitation after all members and the moderation team is on board with the potential addition. |
| 46 | + |
| 47 | +See [Membership](./membership.md) for details. |
| 48 | + |
| 49 | +### r+ permission |
| 50 | + |
| 51 | +All members of the Library Team, the Library API Team, and the Library Contributors |
| 52 | +have the permission to approve PRs, and are expected handle this with care. |
| 53 | +See [Reviewing](./reviewing.md) for details. |
| 54 | + |
| 55 | +### high-five rotation |
| 56 | + |
| 57 | +Some of the members of the team are part of the 'high-five rotation'; |
| 58 | +the list from which the high-five bot picks reviewers to assign new PRs to. |
| 59 | + |
| 60 | +Being a member of one of the teams does not come with the expectation to be on this list. |
| 61 | +However, members of this list should be on at least one of the three library teams. |
| 62 | +See [Reviewing](./reviewing.md) for details. |
0 commit comments