|
| 1 | +# Membership |
| 2 | +This section discusses membership in the rustdoc team. |
| 3 | + |
| 4 | +## The path to membership |
| 5 | + |
| 6 | +People who are looking to contribute on the rustdoc tool generally start on either fixing bugs |
| 7 | +or implementing a new feature. If you need guidance or help, don't hesitate to ask on the |
| 8 | +[t-rustdoc channel on Zulip](https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc)! |
| 9 | + |
| 10 | +## Rustdoc member |
| 11 | +Once an individual has been contributing regularly for some time, they can be promoted to the |
| 12 | +level of a **rustdoc team member** (see the section on [how decisions are made][hdam] below). |
| 13 | +This title indicates that they are someone who contributes regularly. |
| 14 | + |
| 15 | +It is hard to define the precise conditions when such a promotion is appropriate. Being promoted |
| 16 | +to member is not just a function of checking various boxes. But the general sense is that someone |
| 17 | +is ready when they have demonstrated three things: |
| 18 | + |
| 19 | +- "Staying power" -- the person should be contributing on a regular basis in some way. This might |
| 20 | + for example mean that they have completed a few projects. |
| 21 | +- "Independence and familiarity" -- they should be acting somewhat independently when taking on |
| 22 | + tasks, at least within the scope of their "rustdoc area". They should plausibly be able to mentor |
| 23 | + others on simple PRs. |
| 24 | +- "Cordiality" -- rustdoc team members will be part of the Rust organization and are held to a |
| 25 | + higher standard with respect to the [Code of Conduct][CoC]. They should not only obey the |
| 26 | + letter of the CoC but also its spirit. |
| 27 | + |
| 28 | +[CoC]: https://www.rust-lang.org/policies/code-of-conduct |
| 29 | + |
| 30 | +Being promoted to member implies a number of privileges: |
| 31 | + |
| 32 | +- Members have `r+` (approve a pull request) privileges and can do reviews (they are expected to |
| 33 | + use those powers appropriately, as discussed previously). They also have access to control |
| 34 | + perf/rustc-timer and other similar bots. See the documentation for `bors` and `r+` |
| 35 | + [here](https://rustc-dev-guide.rust-lang.org/contributing.html#r-1). |
| 36 | + |
| 37 | + Tip: some baseline rules around bors permissions are: don't do a `try` build unless you have |
| 38 | + done a check for malicious code first and don't `r+` unless you are reasonably confident that |
| 39 | + you can effectively review the code in question. |
| 40 | +- Rustdoc team members are members of the Rust organization so they can modify labels and be |
| 41 | + assigned to issues. |
| 42 | +- Members become a part of the `rust-lang/rustdoc` team on GitHub, so that they receive pings |
| 43 | + when people are looking to address the team as a whole. |
| 44 | +- Members are listed on the [rust-lang.org web page]. |
| 45 | + |
| 46 | +It also implies some obligations (in some cases, optional obligations): |
| 47 | + |
| 48 | +- Members may take part in various other [maintainer activities] to help the team. |
| 49 | +- Members are held to a higher standard than ordinary folk when it comes to the [Code of |
| 50 | + Conduct][CoC]. |
| 51 | + |
| 52 | +[rust-lang.org web page]: https://www.rust-lang.org/governance/teams/dev-tools#team-rustdoc |
| 53 | + |
| 54 | +## What it means to be a rustdoc member |
| 55 | +Once you're a member of the rustdoc team, a number of events will happen: |
| 56 | + |
| 57 | +- You will gain access to a private Zulip stream, where internal discussions happen. |
| 58 | +- You will also be subscribed to the `all@rust-lang.org` mailing list. See |
| 59 | + [this file](https://github.com/rust-lang/team/blob/HEAD/teams/all.toml) to check how subscriptions |
| 60 | + to mailing lists work. It's a very low-volume mailing list (maybe a few emails per year), it's a |
| 61 | + way to communicate things to all contributors. We will not send you spam from this address. |
| 62 | + |
| 63 | +## Roles in the rustdoc team |
| 64 | + |
| 65 | +Rustdoc has multiple different areas and team members are not working on all of them. Currently |
| 66 | +we have three main areas: |
| 67 | + |
| 68 | +- Front-end: Everything related to HTML/CSS/JS |
| 69 | +- JSON backend: Work on the `--output-format=json` backend. |
| 70 | +- Internals: The internals of rustdoc: interacting with the compiler, doctests, generating |
| 71 | + rustdoc internal code representation, parsing command line arguments, lints, etc. |
| 72 | + |
| 73 | +These groups are NOT full-fledge teams, and as such, to be part of any of these groups, you need to |
| 74 | +be a member of the rustdoc team. |
| 75 | + |
| 76 | +For now, only the front-end group has an official status in the |
| 77 | +[team repository](https://github.com/rust-lang/team) and is called `rustdoc-frontend`. If a rustdoc |
| 78 | +team member is interested to be part of this group, they can ask to be added into it. |
| 79 | + |
| 80 | +Being part of the front-end group doesn't change your rustdoc team membership. However |
| 81 | +you will be assigned for reviews on front-end pull requests and on front-end FCPs. |
| 82 | + |
| 83 | +## How promotion decisions are made |
| 84 | +[hdam]: #how-promotion-decisions-are-made |
| 85 | + |
| 86 | +After an individual has been contributing to rustdoc for a while, they may be nominated in the |
| 87 | +private Zulip rustdoc team channel by an existing team member. |
| 88 | + |
| 89 | +The rustdoc team members will check to see if there are concerns with extending a membership |
| 90 | +invitation to the individual and after a week (barring no objections), an invitation will be |
| 91 | +extended. |
| 92 | + |
| 93 | +If the invitation is accepted by the individual, the rustdoc team leads will update the [team] |
| 94 | +repository to reflect their new role. |
| 95 | + |
| 96 | +## Alumni status |
| 97 | +If at any time a rustdoc team member wishes to take a break from participating, they can opt to put |
| 98 | +themselves into alumni status. When in alumni status, they will be removed from |
| 99 | +GitHub aliases and the like, so that they need not be bothered with pings and messages. They will |
| 100 | +also not have r+ privileges. **Alumni members will however still remain members of the GitHub |
| 101 | +org overall.** |
| 102 | + |
| 103 | +People in alumni status can ask to return to "active" status at any time. This request would |
| 104 | +ordinarily be granted automatically barring extraordinary circumstances. |
| 105 | + |
| 106 | +People in alumni status are still members of the team at the level they previously attained and |
| 107 | +they may publicly indicate that, though they should indicate the time period for which they were |
| 108 | +active as well. |
| 109 | + |
| 110 | +### Automatic alumni status after 6 months of inactivity |
| 111 | +If a member or maintainer has been inactive in rustdoc for 6 months, then we will ask them if |
| 112 | +they would like to go to alumni status. If they respond yes or do not respond, they can be placed on |
| 113 | +alumni status. If they would prefer to remain active, that is also fine, but they will get asked |
| 114 | +again periodically if they continue to be inactive. |
| 115 | + |
| 116 | +[team]: https://github.com/rust-lang/team |
0 commit comments