Skip to content

Proposal: Lead/Deputy maintainers, and PROJECT_STATUS.md#32

Open
hydrosquall wants to merge 1 commit into
mainfrom
cameron.yick/repo-leadership-proposal
Open

Proposal: Lead/Deputy maintainers, and PROJECT_STATUS.md#32
hydrosquall wants to merge 1 commit into
mainfrom
cameron.yick/repo-leadership-proposal

Conversation

@hydrosquall

@hydrosquall hydrosquall commented May 27, 2026

Copy link
Copy Markdown
Member

Motivation

As a pre-requisite to several changes related to building the community and project health around Vega (for code and non-code contributions alike), I'd like to propose updating the governance structure to recognize Lead Maintainers. This was presented at the most recent latest steering committee meeting

Changes

This PR proposes two governance additions for the Vega org.

1. Lead and Deputy Maintainer roles (project-docs/roles/REPO-LEADERSHIP.md)

A lightweight per-repository Lead Maintainer role to make coordination responsibility visible. The Lead is responsible for coordination health (triage routing, unblocking PRs, release-readiness visibility, escalation) , essentially a "DRI" for the open source project. A Deputy is strongly recommended to ensure continuity when the Lead is unavailable , but not required for a repo to have a Lead.

This does not change Admin or Steering Committee roles.

2. Active vs. maintenance status tied to staffing (PROJECT_STATUS.md)

A repository is active only when it has a named Lead Maintainer. A repository drawing from the shared maintainer pool is maintenance, regardless of activity level. This makes it straightforward for new contributors and supporting organizations to know which projects are currently active and may be good fits for contributing to, vs which projects could become active if someone was capable and willing to help maintain it.

3. Emeritus policy for Lead/Deputy roles

An inactivity-based offboarding process scoped to the per-repo roles, separate from the org-wide Maintainer emeritus process. The inactivity window is 6 months scoped to the specific repository. Outreach is required before acting, with a 30-day wait and 60-day deadline. If no replacement is found, the repo moves to maintenance. Emeritus Leads and Deputies may return through the normal nomination process.

Notes

I have a separate proposal around identifying/recognizing lead maintainers

Given that Vega does not have a primary corporate sponsor, is intentionally lighter weight than the structure of more "federated" projects like K8s and Apache PMC projects.

I also based this proposal on discussions with @BridgeAR of the NodeJS TSC, the many contributors to the Github Open Source Guides for the advice on open source project structure, and writings from both Nadia Eghbal (Roads and Bridges) and Karl Fogel on Producing Open Source Software

- Add project-docs/roles/REPO-LEADERSHIP.md proposing Lead and Deputy
  Maintainer roles for active repositories. Includes responsibilities,
  selection criteria, lifecycle status linkage (active requires a named
  Lead; without one a repo is maintenance), and an emeritus/stepping-down
  policy for the per-repo roles.

- Add PROJECT_STATUS.md defining lifecycle_status and owner_model values.
  Explicitly ties 'active' status to having a named_lead, and 'maintenance'
  to org_shared ownership, so the distinction between the two statuses is
  grounded in real staffing rather than just activity level.
@hydrosquall hydrosquall self-assigned this May 27, 2026
@hydrosquall hydrosquall changed the title Propose repo leadership roles and active/maintenance status distinction Proposal: Lead/Deputy maintainers, and PROJECT_STATUS.md May 27, 2026

Emeritus Leads and Deputies retain community membership and remain welcome participants. They may return to a Lead or Deputy role through the normal nomination and approval process.

This per-repo emeritus process is separate from, and in addition to, the org-wide Maintainer emeritus process described in [GOVERNANCE.md](../GOVERNANCE.md).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will arrive separately in #33

@joelostblom

Copy link
Copy Markdown
Contributor

Thanks for putting this together @hydrosquall. I added my thumbs up as it seems like this doesn't add any extra work to people currently already acting as the core maintainers of specific repos and, if I understand correctly, it mostly to make things more explicit which I think can be helpful.

@domoritz domoritz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this a lot but it feels a bit more verbose than the other docs we have. I think after some compression I would feel more comfortable with having this as part of the official project docs


## Motivation

As the Vega ecosystem has grown across multiple (100+) repositories, it became harder to tell where maintenance capacity exists, which work is blocked, and who is coordinating review, triage, and release readiness for each repo. There was also not a clear path for sponsors or new contributors to identify who within the current volunteer team is both available and equipped to provide this kind of support.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need this full documentation in the project docs. Let's keep the docs lightweight.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A general tightening pass over the document may help to make it easier to comprehend.


This document creates a lightweight Lead Maintainer role for repositories. The goal is to make coordination responsibility visible, reduce ambiguity, and improve contributor understanding of the level of support available for each Vega repository.

This proposal does not change existing admin or Steering Committee roles. It aims to address a gap in responsibilities for the existing Maintainer role.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We definitely need to make a pass to move over there what makes sense and reference the lead maintainer role there.


A repository is considered **active** only when it has a named Lead Maintainer. A named Deputy Maintainer is strongly recommended to ensure continuity when the Lead is unavailable and to avoid PR freezes.

A repository that cannot sustain a named Lead — drawing instead from the shared maintainer pool — should be marked **maintenance** rather than active. This is not a judgment on the project's value; it is an honest signal about the level of dedicated coordination currently available.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do we do this exactly? Do we use badges? Maybe something like https://gist.github.com/taiki-e/ad73eaea17e2e0372efb76ef6b38f17b

Comment on lines +25 to +50
## Responsibilities

The Lead Maintainer is responsible for activities such as:

- being a point of contact for new contributors
- ensuring issues and PRs are labeled and routed on a regular basis
- ensuring contributors (of code or issues) are able to receive quality feedback
- identifying blocked or stale PRs
- making release blockers and release-readiness tasks visible
- routing contributor questions to the right place
- documenting major decisions publicly
- keeping the repo health status current
- escalating cross-repo/spec/API issues
- making the repo's need for additional maintainer, reviewer, docs, or triage capacity visible to the Steering Committee

## Non-responsibilities

The Lead Maintainer is not expected to:

- personally fix each bug
- personally review each PR
- guarantee response times
- carry the repository alone
- accept new features without a maintenance path
- make unilateral breaking changes
- override maintainer consensus

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are great but feel a bit too vague to be part of the official governance docs. If we say "routing contributor questions to the right place" is a responsibility, I think it's hard to make this concrete. The governance docs (so far at least) are to me almost like laws we wrote which is why we carefully crafted them to be concise and concrete. This document differs a bit from the others (e.g. https://github.com/vega/.github/blob/main/project-docs/GOVERNANCE.md in that regard).

Comment thread PROJECT_STATUS.md
| `experimental` | Exploratory work. APIs, scope, or long-term maintenance may change. |
| `maintenance` | Kept working, but limited new feature development. No named Lead; draws from the shared maintainer pool. |
| `deprecated` | Users should migrate elsewhere. A replacement should be listed where possible. |
| `archived` | Historical or read-only project. No support is expected. |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Archived is already something GitHub supports natively.

Comment thread PROJECT_STATUS.md

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be in project docs


## Responsibilities

The Lead Maintainer is responsible for activities such as:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The Lead Maintainer is responsible for activities such as:
The Lead Maintainer is responsible for:


- being a point of contact for new contributors
- ensuring issues and PRs are labeled and routed on a regular basis
- ensuring contributors (of code or issues) are able to receive quality feedback

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- ensuring contributors (of code or issues) are able to receive quality feedback
- ensuring contributors (of code or issues) receive quality feedback

The Lead Maintainer is responsible for activities such as:

- being a point of contact for new contributors
- ensuring issues and PRs are labeled and routed on a regular basis

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How regular? I liked our discussion about letting leads (generally, not just lead maintainers) set rules for their role themselves. We can leave it intentionally vague.

- being a point of contact for new contributors
- ensuring issues and PRs are labeled and routed on a regular basis
- ensuring contributors (of code or issues) are able to receive quality feedback
- identifying blocked or stale PRs

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe cut or say more concretely what to do after identifying those. Are lead maintainers expected to be admins?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants