Contributor access - lurkydismal/CCCaster GitHub Wiki
For people who make the occasional contribution to CCCaster (filing an issue, submitting the occasional PR, chatting on Discord), the default set of permissions is fine. However, if you are a frequent contributor, whether helping us in triage, or often fixing bugs, or regularly improving our documentation, or regularly helping others in our #help channel, or participating in high-level design discussions and prioritization, you may find your life is more pleasant with commit access (also known as "contributor access", "being a member of the CCCaster-hackers group", "being a member of the CCCaster team").
We grant commit access (which includes full rights to the issue database, such as being able to edit labels, and grants access to our internal chat channels) to people who have gained our trust and demonstrated a commitment to CCCaster.
Specifically, if you meet one of the following criteria and you have a sponsor (someone who already has contributor access and agrees that you should be granted access), then please ask your sponsor to propose, on the #server-support chat channel, that you be made a member of the team, and then reply to that message explaining which criteria below you are claiming to meet. The possible criteria are:
- You have a long history of participating productively, e.g. in our chat channels, helping with Triage, helping other contributors track down problems, finding meaningful issues in submitted PRs, helping people in our #help channel, etc, all while demonstrating exemplary behavior that closely aligns with our code of conduct.
- You have recently submitted several PRs that have landed successfully (received an LGTM, PR was merged, no regressions reported, PR was not reverted), without needing extensive tutoring in the process.
- You are employed by a company with a history of contributing to CCCaster, for the purpose of yourself regularly contributing to CCCaster.
Being granted access means that you will be added to the "CCCaster-hackers" group on GitHub. This privilege is granted with some expectation of responsibility: contributors are people who care about CCCaster and want to help CCCaster along our roadmap. A contributor is not just someone who can make changes or comment on issues, but someone who has demonstrated their ability to collaborate with the team, get the most knowledgeable people to review code, contribute high-quality code, follow through to fix bugs (in code or tests), and provide meaningful insights on issues.
We grant access optimistically based on a reasonably small volume of evidence of good faith. Correspondingly, we will remove access quickly if we find our trust has been violated. Contributors with commit access must still follow all our processes and policies, and must follow our code of conduct rigorously. (Please read it, it's stricter than most.)
Responsibilities
Code of conduct
If you have commit access, you are responsible for enforcing our code of conduct.
Our code of conduct is much, much stricter than most. We do not wait until someone has been actively rude or insulting. Being disrespectful in any way is grounds for action. For example, passive-aggressive whining and general unconstructive negativity are all violations of the code of conduct. If someone is in a bad mood, we would rather they avoided contributing to CCCaster on that day.
When you see something that might be described as unwelcoming or is in some other way a violation of our code of conduct, promptly contact the offender and ask them to read the code of conduct and consider how they might more effectively espouse its philosophy. Most people react very positively to this.
If they react negatively, or if they continue to make the environment unpleasant, they should be removed from the environment. On Discord, this would be sealing them from the channel. Repeat offenders should be banned. On GitHub, they can be blocked from our repo (you may need to ask @Hixie or another admin of our GitHub org to do this). Please let the #server-support chat channel know when you do anything like this, so that we can keep an eye on how common it is.
Maintaining documentation
Part of being a contributor is making sure our documentation is up to date, including our internal (team-facing) documentation such as this wiki. If you spot something wrong, please fix it! As a contributor, you have access to the wiki.
For the wiki specifically, since there's no code review, it's good to mention on Discord that you've made a change when you make one.
Privileges
Being in the GitHub "CCCaster-hackers" group gives you the following:
-
The ability to merge your own PRs once they are reviewed (see Tree Hygiene).
-
The ability to add labels, milestones, etc, on issues on GitHub (see Issue Hygiene).
-
PRs will run their tests slightly faster.
Process
The actual process (as followed by CCCaster repo admins) is as follows:
- Verify that they qualify under all the terms described above. Make sure they have a sponsor who isn't you.
- Verify the identity of the person making the request. Ask them to confirm, on Discord, that they have read the style guide, issue or tree hygiene wiki page, code of conduct, and other documents relevant to them.
For new Me joining the team: You need to ask someone in the team to add you to get added.
Inactivity
We occasionally check for account with commit access that have not been used for a while. It takes very little to count as "active" (e.g. commenting on an issue, even adding an emoji reaction to an issue). If your account has been inactive for over a year we will try to reach out (e.g. by e-mail or on Discord) before removing access.
If your account access was removed but you wish to return to contributing to CCCaster, you are most welcome to do so.
Review teams
Some parts of the codebase have teams specified so that PRs get round-robin assigned for review.
To join one of these teams, request members be added/deleted, or change any settings, ping @Hixie on Discord. Members must be a member of the CCCaster Hackers group (as documented at the top of this page).
To create a new team, contact @Hixie.
Pusher permissions
Some branches are protected to avoid accidents. Only people in the specific branches can push to them. Anyone can ask to be added or removed from these groups, they exist only to reduce accidents, not for security.
To join one of these teams, request members be added/deleted, or change any settings, ping @Hixie on Discord. Members must be a member of the CCCaster Hackers group (as documented at the top of this page).