Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 27 additions & 2 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down
Loading