Skip to content

Latest commit

 

History

History
231 lines (142 loc) · 8.8 KB

File metadata and controls

231 lines (142 loc) · 8.8 KB

Governance

This document outlines the roles and processes that govern Bombshell projects. We favor clear roles and written decisions over invisible hierarchies—progress shouldn't depend on proximity to a small group of insiders.

Important

All community members must follow the Code of Conduct (CoC). CoC violations are handled according to our Moderation process.

Get Involved

Every contribution matters—writing code, fixing typos, chatting in Discord, sharing on social media, reviewing PRs, or blogging about Bombshell. We recognize all contributions that improve our community.

Contributor Roles

Each role comes with specific privileges and responsibilities. Roles are available to all members—not just people who write code.

We look for two things in contributors:

  • Being present—showing up and participating.
  • Being kind—fostering welcoming communication in PRs, issues, Discord, and beyond.

Roles recognize contributions you've already made. If you wish to step back, you can—no questions asked. See Alumni for details.

Contributors who violate our Code of Conduct may have their role revoked.

Contributor

Have you contributed to the health, success, or growth of Bombshell? You're a Contributor.

Examples of contributions

  • Submitting a merged PR, filing a detailed bug report, or updating docs
  • Helping people on GitHub, Discord, Stack Overflow, BlueSky, etc.
  • Blogging, vlogging, podcasting, or livestreaming about Bombshell
  • Similar contributions are also recognized

Privileges

  • New role on Discord: @contributor
  • Early access to new projects, occasional swag drops, and more!

Responsibilities

None required—but we hope you stick around!

Nomination

Self-nominate via Discord or a GitHub issue, or any existing contributor can nominate you. No vote required—the barrier is intentionally low.

Maintainer

Maintainers show up consistently and are invested in the long-term health of Bombshell. Some focus on code, others on Discord, docs, support, or design.

Privileges

  • All privileges of the Contributor role, plus...
  • @maintainer role on Discord
  • Access to the private #maintainers channel on Discord
  • Invitation to the bombshell-dev organization on GitHub
  • Ability to moderate Discord to remove spam, harmful speech, etc.
  • Ability to push branches directly to the organization (personal forks no longer needed)
  • Ability to review and merge GitHub PRs
  • Ability to vote on role nominations

Responsibilities

  • Participate in the project as a team player
  • Bring a friendly, welcoming voice to the Bombshell community
  • Triage new issues
  • Review pull requests

Nomination

  • To be nominated, you should already be performing some of the responsibilities of a Maintainer
  • Any existing Maintainer (or above) can nominate you
  • Once nominated, existing Maintainers vote; simple majority approves

Core

Core members are Maintainers with outsized impact and significant influence on project direction. Not every Maintainer will reach this level, and that's okay.

Privileges

  • All privileges of the Maintainer role, plus...
  • @core role on Discord
  • Access to the private #core channel on Discord
  • Invitation to the core team on GitHub
  • Ability to vote on major initiatives and RFDs

Responsibilities

  • All responsibilities of Maintainer, plus...
  • Ownership over specific areas and the long-term health of the project
  • Leadership as a role model to other contributors

Nomination

  • To be nominated, you should already be performing some of the responsibilities of a Core member
  • Any existing Core member can nominate you
  • Once nominated, existing Core members vote; simple majority approves

Organizer

The Organizer role exists to resolve disputes, keep the project accountable, and break ties when needed.

This is not a "leader" role—the Organizer is a facilitator and tiebreaker. The role can be held by a single person and is reevaluated on an annual basis.

Responsibilities

  • Resolve disputes that Core cannot reach consensus on
  • Break ties in votes when needed
  • Ensure governance processes are followed
  • Hold the project accountable to its stated values

Nomination

  • Core members nominate an Organizer when the need arises
  • Requires consensus among Core members

Decision Making

We bias toward async, written communication. Most decisions happen through:

  • GitHub Issues and PRs: For code changes, bug fixes, and smaller improvements
  • Discord discussions: For quick questions and informal coordination
  • RFDs: For significant changes that need broader input (see below)

Voting

When a vote is needed (role nominations, contested decisions):

  • Simple majority approves for role nominations
  • Core consensus for major project decisions
  • Organizer breaks ties when consensus cannot be reached

Request For Discussion (RFD)

When decisions need broader input, we use a Request For Discussion process inspired by Oxide.

When to use an RFD

  • Significant new features or architectural changes
  • Process or governance changes
  • Anything that benefits from written discussion and a permanent record

Process

  1. Draft: Author creates an RFD as a markdown file in the bombshell-dev/rfd repository and opens a PR
  2. Discussion: Discussion happens async in PR comments (minimum 5 business days)
  3. Decision: Core reviews feedback and decides; Organizer breaks ties if needed
  4. Record: Merged RFDs become a permanent organizational record

Proposals are written down, discussed publicly, and resolved in the open.

Other Roles

Project Teams

Beyond contributor roles, there are teams organized around specific projects and initiatives. Joining a team is a good way to start contributing.

Moderator

Moderator is available to Maintainers+ who actively take on moderation duties. Trivial tasks (removing spam) can be handled unilaterally; non-trivial issues (CoC violations) should involve the full Moderator team or Core.

Privileges

  • @mods role on Discord
  • Access to the private #moderators channel on Discord

Nomination

Any Maintainer (and above) can self-nominate by messaging the maintainers on Discord.

Alumni

Alumni is a designation for Maintainers+ who have stepped away from the project and no longer contribute regularly.

Life is fluid—it's natural that involvement shifts as priorities do. There's never any shame in stepping back, so the Alumni role exists for a few practical reasons:

  • Security: Inactive accounts with administrative access pose a risk if compromised. Moving to Alumni reduces that surface area.
  • Funding: When resources are allocated among contributors, it's simpler to distribute them among active members.
  • Ecosystem health: Keeping decision-making power with people who are actively engaged helps the project stay responsive.

Becoming Alumni

You can become Alumni in two ways:

  • Voluntary: Resign from your role at any time by notifying Core. No questions asked, no hard feelings.
  • Inactivity: After an extended period of inactivity, Core will reach out. If there's no response within 30 days, the contributor moves to Alumni status. This keeps the process fair for everyone while ensuring active maintenance isn't blocked.

Privileges

  • @alumni role on Discord
  • You remain part of the Bombshell community

Alumni are always welcome to return! Rejoining as an active contributor follows the normal nomination process for the relevant role.

Moderation

How Code of Conduct violations are reviewed.

Reporting

Anyone may report a violation:

  • Private: Email or DM a Core member
  • Public: GitHub comment (@bombshell-dev/core) or Discord (@mods)

Review

If a report lacks detail, reviewers will gather more information before acting. They will determine:

  • What happened
  • Whether this event constitutes a Code of Conduct violation
  • Who, if anyone, was involved in the violation
  • Whether this is an ongoing situation

In the event of any conflict of interest, reviewers must recuse themselves.

Resolution

Responses are determined based on the information gathered and may include:

  • Taking no further action
  • Issuing a reprimand (private or public)
  • Asking for an apology (private or public)
  • Permanent ban from the GitHub org and Discord server
  • Revoked contributor status

Inspired by Astro and Oxide