Skip to content

Commit ed850c3

Browse files
committed
wip: add governance doc
1 parent e31f60a commit ed850c3

File tree

1 file changed

+255
-0
lines changed

1 file changed

+255
-0
lines changed

GOVERNANCE.md

+255
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,255 @@
1+
# Governance
2+
3+
This document outlines the roles and processes which govern all Bombshell projects. As a volunteer-based, community-run open source project, we value transparency in the pursuit of building a high trust organization.
4+
5+
> [!IMPORTANT]
6+
> All community members must follow the [Code of Conduct (CoC)](CODE_OF_CONDUCT.md). CoC violations are handled according to our [Moderation](#moderation) process.
7+
8+
## Get Involved
9+
10+
**Anything that supports the Bombshell community is a valuable contribution!**
11+
12+
Every contribution is meaningful. Whether you are writing code, fixing a typo, posting in [Discord](https://bomb.sh/chat), sharing on social media, reviewing a pull request, or writing about Bombshell on your personal blog—no contribution is too small!
13+
14+
Everyone can become a Bombshell contributor! We strive to recognize all contributions that improve the health of our community, regardless of a contributor's age, body
15+
size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
16+
17+
## Contributor Roles
18+
19+
Each level of contribution to the Bombshell community comes with a specific set of privileges and responsibilites. These levels are referred to as **Contributor Roles**.
20+
21+
Roles are available to **all members** of the Bombshell community and are not limited to "people who write code."
22+
23+
The two most important things we look for in a contributor are:
24+
25+
- **Being present**—the fact that you've decided to spend your valuable time contributing to our project is amazing! Thank you for being in this with us.
26+
27+
- **Being kind**—you go above and beyond our [Code of Conduct](CODE_OF_CONDUCT.md) to foster welcoming, healthy communication in pull requests, issue discussions, Discord conversations, and interactions outside of our immediate ecosystem (for example, on social media.)
28+
29+
Contributor roles are a _recognition of contributions you have already made_ to our community. If you ever wish to resign from your current role at any time, you are invited to do so—no questions asked and no hard feelings. See [Resignation](#resignation-alumni) for more information.
30+
31+
In extreme cases, contributors who violate our [Code of Conduct](CODE_OF_CONDUCT.md) may have their role revoked at the discretion of the core maintainers.
32+
33+
### Contributor
34+
35+
Have you done something to contribute to the health, success, or growth of Bombshell? **Congratulations, you are now officially recognized as a Bombshell Contributor! 🎉**
36+
37+
#### Examples of contributions
38+
39+
- **GitHub:** Submitting a merged pull request.
40+
- **GitHub:** Filing a detailed bug report.
41+
- **GitHub:** Updating documentation to fix a typo.
42+
- Helping people on GitHub, Discord, etc.
43+
- Answering questions on Stack Overflow, Bluesky, etc.
44+
- Blogging, Vlogging, Podcasting, and Livestreaming about Bombshell.
45+
- **This list is incomplete!** Similar contributions are also recognized.
46+
47+
#### Privileges
48+
49+
- New role on [Discord](https://bomb.sh/chat): `@contributor`
50+
- New color on Discord: **green**
51+
- Early access to new projects, ocassional swag drops, and more!
52+
53+
#### Responsibilities
54+
55+
This role does not come with any additional responsibilities or commitment, but we hope you stick around and keep participating in our community!
56+
57+
#### Nomination
58+
59+
TODO
60+
<!-- You may self-nominate by running the `/contribute` command in any Discord channel. If you do this, please include a link or description of your contribution so that people can recognize you for the contribution.
61+
62+
You may also be granted this role automatically if you are active and helpful on Discord.
63+
64+
If you're interested in reaching the next level and becoming a **Maintainer**, you can explore some of those responsibilities in the [next section](#level-2-l2---maintainer).
65+
-->
66+
67+
### Maintainer
68+
69+
The **Maintainer** role is available to contributors who want to join the team and take part in the long-term maintenance and growth of Bombshell.
70+
71+
<!--
72+
The Maintainer role is critical to the long-term health of Astro. Maintainers act as the first line of defense when it comes to new issues, pull requests and Discord activity. Maintainers are most likely the first people that a user will interact with on Discord or GitHub.
73+
74+
**Maintainers are not required to write code!** Some Maintainers spend most of their time inside of Discord, maintaining a healthy community there. Others work on technical documentation, support, or design.
75+
76+
**A Maintainer has moderation privileges!** All maintainers are trusted with the ability to help moderate our Discord and GitHub communities for things like spam. There is also a special (optional, opt-in) `@mods` role open to maintainers who are also interested in helping out when a community member reaches out for moderation help.
77+
78+
#### Recognized Contributions
79+
80+
There is no strict minimum number of contributions needed to reach this level, as long as you can show **sustained** involvement over some amount of time (at least a few months).
81+
82+
- **GitHub:** Submitting multiple non-trivial pull requests and RFCs
83+
- **GitHub:** Reviewing multiple non-trivial pull requests and RFCs
84+
- **Discord:** Supporting users in Discord, especially in the #support channel
85+
- **Discord:** Active participation in RFC calls and other events
86+
- **GitHub + Discord:** Triaging and confirming user issues
87+
- This list is incomplete! Similar contributions are also recognized.
88+
89+
#### Privileges
90+
91+
- All privileges of the [Contributor role](#level-1---contributor), plus...
92+
- Invitation to the `@maintainer` role on [Discord](https://astro.build/chat)
93+
- Invitation to the private `#maintainers` channel on Discord.
94+
- Invitation to the `withastro` organization on GitHub.
95+
- Invitation to the `@maintainers` team on GitHub.
96+
- New name color on Discord: **blue**.
97+
- Ability to moderate Discord to remove spam, harmful speech, etc.
98+
- Ability to join the `@mods` role on Discord (optional, opt-in).
99+
- Ability to push branches directly to the `withastro` GitHub organization (personal forks no longer needed).
100+
- Ability to review GitHub PRs.
101+
- Ability to merge _some_ GitHub PRs.
102+
- Ability to vote on _some_ initiatives (see [Voting](#voting) below).
103+
104+
#### Responsibilities
105+
106+
- Participate in the project as a team player.
107+
- Bring a friendly, welcoming voice to the Astro community.
108+
- Be active on Discord, especially in the #support channel.
109+
- Triage new issues.
110+
- Review pull requests.
111+
- Merge some, non-trivial community pull requests.
112+
- Merge your own pull requests (once reviewed and approved).
113+
114+
#### Nomination
115+
116+
- To be nominated, a nominee is expected to already be performing some of the responsibilities of a Maintainer.
117+
- You can be nominated by any existing Maintainer (L2 or above).
118+
- Once nominated, there will be a vote by existing Maintainers.
119+
- See [vote rules & requirements](#voting) for info on how the vote works.
120+
121+
-->
122+
123+
### Core
124+
<!--
125+
The **Core** role is available to community members who have a larger-than-usual impact on the Astro project and community. They are seen as leaders in the project and are listened to by the wider Astro community, often before they have even reached this level. A Core member is recognized for contributing a significant amount of time and energy to the project through issues, pull requests, bug fixes, implementing advanced enhancements/features, and/or actively posting on Discord.
126+
127+
Not every contributor will reach this level, and that's okay! L2 Maintainers still have significant responsibility and privileges within our community.
128+
129+
#### Privileges
130+
131+
- All privileges of the [Maintainer role](#level-2---maintainer), plus...
132+
- `@core` role on [Discord](https://astro.build/chat)
133+
- New name color on Discord: **yellow**.
134+
- Invitation to the private `#core` channel on Discord.
135+
- Invitation to the `core` team on GitHub.
136+
- Ability to vote on most initiatives (see [Voting](#voting) below).
137+
138+
#### Responsibilities
139+
140+
- All of the responsibilities of L2, including...
141+
- Ownership over specific part(s) of the project.
142+
- Ownership over the long-term health and success of Astro.
143+
- Leadership as a role-model to other maintainers and community members.
144+
145+
#### Nomination
146+
147+
- To be nominated, a nominee is expected to already be performing some of the responsibilities of a Core member.
148+
- You can be nominated by any existing Core member (L3 or above).
149+
- Once nominated, there will be a vote by existing Core members.
150+
- See [vote rules & requirements](#voting) for info on how the vote works.
151+
152+
-->
153+
154+
## Other Roles
155+
156+
### Project Teams
157+
158+
Besides our contributor levels described above, there are additional roles and teams available that community members are welcome to join. Roles are a great way to organize around different projects and initiatives in our community. For example:
159+
160+
- `@team-docs` runs the `#docs` channel and organizes the growth and development of our documentation.
161+
162+
Many of these team roles can be browsed and joined automatically by visiting the `#manage-roles` channel in our Discord. Getting involved with a team is a great way to start contributing to Astro!
163+
164+
### Moderator
165+
166+
**Moderator** is a special role available to Maintainers+. While all maintainers are granted permissions to moderate for bad behavior across our community, a Moderator actively takes on this the responsibility. For example, a community member may ping moderators (via the `@mods` role) to resolve spam posts or Code of Conduct violations.
167+
168+
Trivial tasks (like removing spam) can be acted on unilaterally by a Moderator. Other non-trivial tasks (like assisting with or resolving a Code of Conduct violation) should involve the entire Moderator team (and in some cases, the rest of core).
169+
170+
#### Privileges
171+
172+
- `@mods` role on [Discord](https://astro.build/chat)
173+
- Invitation to the private `#moderators` channel on Discord
174+
175+
#### Nomination
176+
177+
Any Maintainer (L2 and above) can self-nominate by messaging the maintainers on Discord.
178+
179+
### Alumni
180+
181+
**Alumni** is a special designation for Maintainers+ who have stepped away from the project and no longer contribute regularly. See [Retiring a Role](#retiring-a-role-alumni) below for more information.
182+
183+
TODO
184+
<!--
185+
#### Privileges
186+
187+
- `@alumni` role on [Discord](https://astro.build/chat)
188+
- New name color on Discord: **light blue**.
189+
- Invitation to the `alumni` team on GitHub. -->
190+
191+
<!-- ## Retiring a Role (Alumni)
192+
193+
Contributor roles are granted for as long as the person wishes to engage with the project. However, over time an active community member may choose to step away from the Astro project to work on other things. Moving on from a project is a natural and well-understood part of any open source community, and we celebrate it! -->
194+
<!--
195+
**Alumni** is a special designation and role for any person who was once an active maintainer (L2 or above) but is now no longer actively involved. By retiring and joining Alumni you trade-in your current set of roles, privileges, and responsibilities for a new, special Alumni role (which comes with its own set of Privileges, as described above).
196+
197+
As a Maintainer (L2 or above) you can retire your role at any time by pinging the project Steward and requesting Alumni status. You can initiate this action yourself if you know ahead-of-time that you need to step away from the project.
198+
199+
If you are not actively contributing to Astro’s repositories or the Astro community for longer than six months, the project Steward may proactively retire your role, designate you as a project alumnus, and notify you of the change.
200+
201+
As an Alumni member, you are still a part of the Astro community and can continue to be a part of our Discord, GitHub, and anywhere else. You may also request to have your old roles reinstated at any time through the normal nomination & voting process for that role.
202+
203+
Rejoining the project as a contributor (L1 or above) will automatically remove you from the Alumni role. -->
204+
205+
## Moderation
206+
207+
Outlined below is the process for Code of Conduct violation reviews.
208+
209+
TODO
210+
211+
<!-- ### Reporting
212+
213+
Anyone may report a violation. Violations can be reported in the following ways:
214+
215+
- In private, via email to one or more core members.
216+
- In private, via direct message to a core member on Discord.
217+
- In public, via a GitHub comment (mentioning `@withastro/maintainers`).
218+
- In public, via the project Discord server (mentioning `@mods`).
219+
220+
### Who gets involved?
221+
222+
Each report will be assigned reviewers. These will initially be all project [stewards](#stewards).
223+
224+
In the event of any conflict of interest - ie. stewards who are personally connected to a situation, they must immediately recuse themselves.
225+
226+
At request of the reporter and if deemed appropriate by the reviewers, another neutral third-party may be involved in the review and decision process.
227+
228+
### Review
229+
230+
If a report doesn’t contain enough information, the reviewers will strive to obtain all relevant data before acting.
231+
232+
The reviewers will then review the incident and determine, to the best of their ability:
233+
234+
- What happened.
235+
- Whether this event constitutes a Code of Conduct violation.
236+
- Who, if anyone, was involved in the violation.
237+
- Whether this is an ongoing situation.
238+
239+
The reviewers should aim to have a resolution agreed very rapidly; if not agreed within a week, they will inform the parties of the planned date.
240+
241+
### Resolution
242+
243+
Responses will be determined by the reviewers on the basis of the information gathered and of the potential consequences. It may include:
244+
245+
- taking no further action
246+
- issuing a reprimand (private or public)
247+
- asking for an apology (private or public)
248+
- permanent ban from the GitHub org and Discord server
249+
- revoked contributor status
250+
251+
-->
252+
253+
---
254+
255+
Inspired by [Astro](https://astro.build/governance)

0 commit comments

Comments
 (0)