From aace664bf276c0c833a088ec60949aeb5971b136 Mon Sep 17 00:00:00 2001 From: Jim Schreckengast Date: Tue, 10 Nov 2026 21:20:23 -0700 Subject: [PATCH] Name Chris Miller as the backup maintainer GOVERNANCE.md now names Chris Miller as the backup maintainer, adds the role to the roles table, and describes how the project continues if the maintainer can't: what the backup maintainer does in the first week, the access they already hold (write access to the repository, co-ownership of the crate and the maintainer's GitHub successor designation), and why no passwords or keys need to change hands. Signed-off-by: Jim Schreckengast --- GOVERNANCE.md | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 5946258..175e8f8 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -2,8 +2,9 @@ Intersection Lab is a one-maintainer project. Jim Schreckengast ([schreck61](https://github.com/schreck61)) started it, maintains it and makes the final -decisions about it. This document describes how those decisions are made and who does -what. +decisions about it. Chris Miller ([csm0513](https://github.com/csm0513)) is the backup +maintainer, ready to keep the project going if Jim can't (see [Continuity](#continuity)). +This document describes how decisions are made and who does what. ## How decisions are made @@ -32,9 +33,33 @@ what. | Role | Who | Responsibilities | |---|---|---| | Maintainer | Jim Schreckengast ([schreck61](https://github.com/schreck61)) | Sets the project's direction; triages issues; reviews and merges pull requests; keeps CI, dependencies and documentation up to date; makes releases and publishes them on GitHub and crates.io; manages the code-signing and publishing settings; responds to vulnerability reports as [SECURITY.md](SECURITY.md) describes; enforces the [Code of Conduct](CODE_OF_CONDUCT.md) | +| Backup maintainer | Chris Miller ([csm0513](https://github.com/csm0513)) | Keeps the project going if the maintainer can't, as [Continuity](#continuity) describes: answers and closes issues, merges pull requests whose required checks pass, makes releases, and settles the project's long-term future; has no duties otherwise | | Contributor | Anyone who opens an issue or pull request | Follows [CONTRIBUTING.md](CONTRIBUTING.md), signs off every commit under the [Developer Certificate of Origin](https://developercertificate.org/), and follows the Code of Conduct | | Security reporter | Anyone who finds a vulnerability | Reports it privately as [SECURITY.md](SECURITY.md) describes, not in a public issue | +## Continuity + +If the maintainer dies, is incapacitated or can no longer maintain the project, the +backup maintainer keeps it going. Within a week of learning of it, they answer and close +issues, merge pull requests whose required checks pass, and make releases. They then +settle the project's long-term future: carrying it on, handing it to a new maintainer, +or archiving it. + +The backup maintainer already has the access this takes: + +* write access to this repository, which covers issues, pull requests and the version + tags that build and publish releases; +* co-ownership of the [crate on crates.io](https://crates.io/crates/intersection-lab); +* the maintainer's GitHub *successor* designation, under which GitHub can transfer this + repository to the backup maintainer if the maintainer dies. + +No passwords or keys change hands. Every release is built, signed and published by +GitHub Actions rather than on anyone's own computer, and if the code-signing accounts +lapse, the release workflow can be switched to unsigned packages (see +[packaging/README.md](packaging/README.md#making-a-release)). The backup maintainer has +written instructions for each step, and the maintainer and the backup maintainer check +this access once a year. + ## Changing this document If the project gains more maintainers, this document will be updated to say how they