From ac62041a3693987741c7fd9f1a932f37fa317b89 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Wed, 20 May 2026 19:54:44 +0300 Subject: [PATCH 1/3] add GOVERNANCE.md Signed-off-by: Davanum Srinivas --- GOVERNANCE.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 GOVERNANCE.md diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 00000000..c13be766 --- /dev/null +++ b/GOVERNANCE.md @@ -0,0 +1,32 @@ +# Governance + +> **Status: Draft — under review and discussion.** This document is a proposal and has not yet been ratified by the Substrate maintainers. Feedback welcome via PR review or on the `ate-dev@groups.google.com` mailing list. + +Substrate is an Apache-2.0 open-source project. This document describes how decisions get made and how contributors can take on more responsibility over time. + +For day-to-day collaboration norms (PR workflow, communication, AI-tool disclosure), see [COLLABORATING.md](COLLABORATING.md). For build and contribution instructions, see [CONTRIBUTING.md](CONTRIBUTING.md). For community conduct, see [code-of-conduct.md](code-of-conduct.md). + +## Roles + +**Contributors** — anyone who opens issues, PRs, or joins discussions. Must follow the Code of Conduct and sign the [Google Contributor License Agreement](https://cla.developers.google.com/about) before their first contribution is merged (see [CONTRIBUTING.md](CONTRIBUTING.md)). + +**Reviewers** — contributors with sustained, high-quality work in a specific area. They review PRs, triage issues, and mentor newcomers. Nominated by a Reviewer or Maintainer; confirmed by majority of Maintainers. + +**Maintainers** — Reviewers with broad responsibility for project health. They approve and merge PRs, make architectural decisions, manage releases, and represent the project externally. Nominated by an existing Maintainer; confirmed by a 2/3 supermajority of Maintainers. + +The current list of Maintainers and per-area Reviewers lives in the [`CODEOWNERS`](.github/CODEOWNERS) file. + +## Decisions + +- **Code changes.** Every PR needs at least one Maintainer approval and green CI before merge. Authors do not merge their own PRs. +- **Design changes.** File a GitHub issue or discussion describing the proposal and tag relevant Maintainers. Allow at least one week for feedback. Significant changes require majority Maintainer support. +- **Disputes.** Try to resolve on the PR or issue first. If that fails, any participant can ask the Maintainers to decide; Maintainers resolve by majority vote. +- **Code-of-Conduct issues.** Reported and handled per [code-of-conduct.md](code-of-conduct.md). + +## Activity + +Roles require ongoing participation. Reviewers and Maintainers inactive for six months may have their status reviewed, with allowances for known absences (e.g., sabbatical, parental leave). + +## Changing this document + +Open a PR. Allow at least one week for discussion. Requires a 2/3 supermajority of Maintainers to merge. From 31e7dcc29a9a5af1c82d658a4d7a0e8659eaaa95 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Wed, 20 May 2026 20:00:18 +0300 Subject: [PATCH 2/3] add initial .github/CODEOWNERS Signed-off-by: Davanum Srinivas --- .github/CODEOWNERS | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..5c9c1dc0 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,8 @@ +# CODEOWNERS — see GOVERNANCE.md. +# +# Initial owners derived from current commit and PR activity. This list is +# intentionally coarse for now; per-area owners can be added as the project +# grows and contributors take on sustained responsibility for specific +# subsystems. + +* @BenTheElder @rakyll @thockin From 8a8d524b6658acdcae80144da56498eafbbd8c46 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Tue, 26 May 2026 09:56:56 -0400 Subject: [PATCH 3/3] address review: drop CODEOWNERS, codify role tiers, fix mailing list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Drop .github/CODEOWNERS — defer to a separate discussion per https://github.com/agent-substrate/substrate/pull/11#discussion_r2110108878 - Fix mailing list address: groups.google.com -> googlegroups.com per https://github.com/agent-substrate/substrate/pull/11#discussion_r2110109839 - Codify a four-tier role model (Default / Contributor / Reviewer / Maintainer) with Read / Triage / Write permission mapping and a "enough contributions + 2 Maintainer vouches" promotion criterion, per thockin's 2026-05-21 proposal in https://github.com/agent-substrate/substrate/pull/11#issuecomment-2898012180 - Replace "majority / 2/3 supermajority of Maintainers" language with "Maintainer support / approval" and note that authority will be delegated to per-subsystem owners as the project grows, per https://github.com/agent-substrate/substrate/pull/11#discussion_r2110127124 --- .github/CODEOWNERS | 8 -------- GOVERNANCE.md | 20 ++++++++++++-------- 2 files changed, 12 insertions(+), 16 deletions(-) delete mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 5c9c1dc0..00000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,8 +0,0 @@ -# CODEOWNERS — see GOVERNANCE.md. -# -# Initial owners derived from current commit and PR activity. This list is -# intentionally coarse for now; per-area owners can be added as the project -# grows and contributors take on sustained responsibility for specific -# subsystems. - -* @BenTheElder @rakyll @thockin diff --git a/GOVERNANCE.md b/GOVERNANCE.md index c13be766..f43b9ccb 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -1,6 +1,6 @@ # Governance -> **Status: Draft — under review and discussion.** This document is a proposal and has not yet been ratified by the Substrate maintainers. Feedback welcome via PR review or on the `ate-dev@groups.google.com` mailing list. +> **Status: Draft — under review and discussion.** This document is a proposal and has not yet been ratified by the Substrate maintainers. Feedback welcome via PR review or on the `ate-dev@googlegroups.com` mailing list. Substrate is an Apache-2.0 open-source project. This document describes how decisions get made and how contributors can take on more responsibility over time. @@ -8,19 +8,23 @@ For day-to-day collaboration norms (PR workflow, communication, AI-tool disclosu ## Roles -**Contributors** — anyone who opens issues, PRs, or joins discussions. Must follow the Code of Conduct and sign the [Google Contributor License Agreement](https://cla.developers.google.com/about) before their first contribution is merged (see [CONTRIBUTING.md](CONTRIBUTING.md)). +We distinguish four tiers. Promotion to each tier requires sustained, high-quality contributions; "enough" is intentionally judgment-based and decided among current Maintainers. -**Reviewers** — contributors with sustained, high-quality work in a specific area. They review PRs, triage issues, and mentor newcomers. Nominated by a Reviewer or Maintainer; confirmed by majority of Maintainers. +**Default** — not yet a collaborator. Anyone may open issues and PRs. -**Maintainers** — Reviewers with broad responsibility for project health. They approve and merge PRs, make architectural decisions, manage releases, and represent the project externally. Nominated by an existing Maintainer; confirmed by a 2/3 supermajority of Maintainers. +**Contributor** — has made at least one non-trivial contribution and is known to or vouched for by a Maintainer, or has accumulated enough contributions over time. Granted `Read` access on the repository. Must follow the Code of Conduct and sign the [Google Contributor License Agreement](https://cla.developers.google.com/about) before their first contribution is merged (see [CONTRIBUTING.md](CONTRIBUTING.md)). -The current list of Maintainers and per-area Reviewers lives in the [`CODEOWNERS`](.github/CODEOWNERS) file. +**Reviewer** — Contributor who has made enough contributions in a specific area and is vouched for by at least 2 Maintainers. Granted `Triage` access: can review, label, and comment on PRs and issues, but cannot merge. + +**Maintainer** — Reviewer who has made enough sustained contributions across the project and is vouched for by at least 2 existing Maintainers. Granted `Write` access: can approve and merge PRs, manage releases, and represent the project externally. + +A formal list of Maintainers and per-area Reviewers (e.g., via `CODEOWNERS` or `OWNERS` files) is a separate discussion and will land as roles are formalized. ## Decisions - **Code changes.** Every PR needs at least one Maintainer approval and green CI before merge. Authors do not merge their own PRs. -- **Design changes.** File a GitHub issue or discussion describing the proposal and tag relevant Maintainers. Allow at least one week for feedback. Significant changes require majority Maintainer support. -- **Disputes.** Try to resolve on the PR or issue first. If that fails, any participant can ask the Maintainers to decide; Maintainers resolve by majority vote. +- **Design changes.** File a GitHub issue or discussion describing the proposal and tag relevant Maintainers. Allow at least one week for feedback. Significant changes require Maintainer support; as the project grows, more authority will be delegated to per-subsystem owners. +- **Disputes.** Try to resolve on the PR or issue first. If that fails, any participant can ask the Maintainers to decide. - **Code-of-Conduct issues.** Reported and handled per [code-of-conduct.md](code-of-conduct.md). ## Activity @@ -29,4 +33,4 @@ Roles require ongoing participation. Reviewers and Maintainers inactive for six ## Changing this document -Open a PR. Allow at least one week for discussion. Requires a 2/3 supermajority of Maintainers to merge. +Open a PR. Allow at least one week for discussion. Requires Maintainer approval to merge.