Auto merge of #12481 - xFrednet:add-team-docs, r=flip1995

RFC: Document Clippy's teams and team duties

First the big announcement:

**We want to add a new subteam for regular contributors to give them triage rights.**

---

This PR adds a new section to the book which describes the Clippy and Clippy-Contributor teams, with their duties and membership requirements. This is just an initial draft, that outlines what, I think, their responsibilities should be.

I hope everyone in the team is okay with me posting this directly to GitHub. I think a PR makes collaboration a bit easier.

[🖼️ Rendered 🖼️](https://github.com/xFrednet/rust-clippy/blob/add-team-docs/book/src/development/the_team.md)

---

Once we've decided on this document, I'll create a PR to add the new team on GitHub. As part of this, we'll also reach out to some active contributors, to ask if they would like to join the new team.

---

cc: `@rust-lang/clippy`

cc: #6627

changelog: none

r? `@flip1995`
This commit is contained in:
bors 2024-03-26 09:01:41 +00:00
commit 13ef8457be
2 changed files with 131 additions and 0 deletions

View File

@ -32,3 +32,4 @@
- [Proposals](development/proposals/README.md)
- [Roadmap 2021](development/proposals/roadmap-2021.md)
- [Syntax Tree Patterns](development/proposals/syntax-tree-patterns.md)
- [The Team](development/the_team.md)

View File

@ -0,0 +1,130 @@
# The team
Everyone who contributes to Clippy makes the project what it is. Collaboration
and discussions are the lifeblood of every open-source project. Clippy has a
very flat hierarchy. The teams mainly have additional access rights to the repo.
This document outlines the onboarding process, as well as duties, and access
rights for members of a group.
All regular events mentioned in this chapter are tracked in the [calendar repository].
The calendar file is also available for download: [clippy.ics]
## Everyone
Everyone, including you, is welcome to join discussions and contribute in other
ways, like PRs.
You also have some triage rights, using `@rustbot` to add labels and claim
issues. See [labeling with @rustbot].
A rule for everyone should be to keep a healthy work-life balance. Take a break
when you need one.
## Clippy-Contributors
This is a group of regular contributors to Clippy to help with triaging.
### Duties
This team exists to make contributing easier for regular members. It doesn't
carry any duties that need to be done. However, we want to encourage members of
this group to help with triaging, which can include:
1. **Labeling issues**
For the `good-first-issue` label, it can still be good to use `@rustbot` to
subscribe to the issue and help interested parties, if they post questions
in the comments.
2. **Closing duplicate or resolved issues**
When you manually close an issue, it's often a good idea, to add a short
comment explaining the reason.
3. **Ping people after two weeks of inactivity**
We try to keep issue assignments and PRs fairly up-to-date. After two weeks,
it can be good to send a friendly ping to the delaying party.
You might close a PR with the `I-inactive-closed` label if the author is
busy or wants to abandon it. If the reviewer is busy, the PR can be
reassigned to someone else.
Checkout: https://triage.rust-lang.org/triage/rust-lang/rust-clippy to
monitor PRs.
While not part of their duties, contributors are encouraged to review PRs
and help on Zulip. The team always appreciates help!
### Membership
If you have been contributing to Clippy for some time, we'll probably ask you if
you want to join this team. Members of this team are also welcome to suggest
people who they think would make a great addition to this group.
For this group, there is no direct onboarding process. You're welcome to just
continue what you've been doing. If you like, you can ask for someone to mentor
you, either in the Clippy stream on Zulip or privately via a PM.
If you have been inactive in Clippy for over three months, we'll probably move
you to the alumni group. You're always welcome to come back.
## The Clippy Team
[The Clippy team](https://www.rust-lang.org/governance/teams/dev-tools#Clippy%20team)
is responsible for maintaining Clippy.
### Duties
1. **Respond to PRs in a timely manner**
It's totally fine, if you don't have the time for reviews right now.
You can reassign the PR to a random member by commenting `r? clippy`.
2. **Take a break when you need one**
You are valuable! Clippy wouldn't be what it is without you. So take a break
early and recharge some energy when you need to.
3. **Be responsive on Zulip**
This means in a reasonable time frame, so responding within one or two days
is totally fine.
It's also good, if you answer threads on Zulip and take part in our Clippy
meetings, every two weeks. The meeting dates are tracked in the [calendar repository].
4. **Sync Clippy with the rust-lang/rust repo**
This is done every two weeks, usually by @flip1995.
5. **Update the changelog**
This needs to be done for every release, every six weeks. This is usually
done by @xFrednet.
### Membership
If you have been active for some time, we'll probably reach out and ask
if you want to help with reviews and eventually join the Clippy team.
During the onboarding process, you'll be assigned pull requests to review.
You'll also have an active team member as a mentor who'll stay in contact via
Zulip DMs to provide advice and feedback. If you have questions, you're always
welcome to ask, that is the best way to learn. Once you're done with the review,
you can ping your mentor for a full review and to r+ the PR in both of your names.
When your mentor is confident that you can handle reviews on your own, they'll
start an informal vote among the active team members to officially add you to
the team. This vote is usually accepted unanimously. Then you'll be added to
the team once you've confirmed that you're still interested in joining. The
onboarding phase typically takes a couple of weeks to a few months.
If you have been inactive in Clippy for over three months, we'll probably move
you to the alumni group. You're always welcome to come back.
[calendar repository]: https://github.com/rust-lang/calendar/blob/main/clippy.toml
[clippy.ics]: https://rust-lang.github.io/calendar/clippy.ics
[labeling with @rustbot]: https://forge.rust-lang.org/triagebot/labeling.html