Skip to content

Commit 43f5d89

Browse files
nateberkopecschneemsjoshuay03
authored
Add GOVERNANCE.md, MAINTAINERS (#3826)
* Add GOVERNANCE.md, MAINTAINERS [ci skip] * push->merge Co-authored-by: Richard Schneeman <richard.schneeman+no-recruiters@gmail.com> * rel->abs path Co-authored-by: Joshua Young <djry1999@gmail.com> * Link al profilers where explicitly mentioned Co-authored-by: Joshua Young <djry1999@gmail.com> --------- Co-authored-by: Richard Schneeman <richard.schneeman+no-recruiters@gmail.com> Co-authored-by: Joshua Young <djry1999@gmail.com>
1 parent 21afa66 commit 43f5d89

4 files changed

Lines changed: 58 additions & 10 deletions

File tree

.github/workflows/pr-label-status.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@ jobs:
2323
with:
2424
script: |
2525
// Configuration
26-
const MAINTAINERS_LIST = [
27-
'evanphx',
28-
'MSP-Greg',
29-
'dentarg',
30-
'schneems',
31-
'nateberkopec',
32-
'joshuay03'
33-
];
26+
const fs = require('fs');
27+
const path = require('path');
28+
const MAINTAINERS_LIST = fs
29+
.readFileSync(path.join(process.cwd(), 'MAINTAINERS'), 'utf8')
30+
.split('\n')
31+
.map((name) => name.trim())
32+
.filter(Boolean);
3433
3534
const LABELS = {
3635
CHANGES: 'waiting-for-changes',

CONTRIBUTING.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Any questions about contributing may be asked in our [Discussions](https://githu
3131

3232
Nate also [gave a 40 minute conference talk in 2022](https://www.youtube.com/watch?v=w4X_oBuPmTM) detailing how Puma works, a brief overview of its internals, and a quick guide on how to contribute.
3333

34-
#### Clone the repo
34+
#### Clone the repo
3535

3636
Clone the Puma repository:
3737
```sh
@@ -104,7 +104,7 @@ See the [Bundler docs](https://bundler.io/man/gemfile.5.html#PATH) for more deta
104104
To run rubocop + tests:
105105

106106
```sh
107-
bundle exec rake
107+
bundle exec rake
108108
```
109109

110110
To run the test suite only:
@@ -234,6 +234,8 @@ As a contributor, you may make pull requests against `-stable` branches to backp
234234

235235
If you're looking to contribute to Puma, please join us in [Discussions](https://github.com/puma/puma/discussions).
236236

237+
We govern this project according to the process in [GOVERNANCE.md](./GOVERNANCE.md).
238+
237239
## Bibliography/Reading
238240

239241
Puma can be a bit intimidating for your first contribution because there's a lot of concepts here that you've probably never had to think about before - Rack, sockets, forking, threads etc. Here are some helpful links for learning more about things related to Puma:

GOVERNANCE.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Governance
2+
3+
## The Short Version
4+
5+
Evan Phoenix ([@evanphx](https://github.com/evanphx)) created Puma and has final say on everything. [Maintainers](./MAINTAINERS) serve at his pleasure.
6+
7+
## Access Levels
8+
9+
We have two levels of access and privileges:
10+
11+
### Gem Release Access
12+
13+
This is kept intentionally small for security reasons. If you can cut a gem release, you can push code to a lot of production systems, so we're intentionally quite narrow here.
14+
15+
**Current members:** Evan Phoenix ([@evanphx](https://github.com/evanphx)), Nate Berkopec ([@nateberkopec](https://github.com/nateberkopec)), and Richard Schneeman ([@schneems](https://github.com/schneems)).
16+
17+
We cut releases ~whenever we feel like it.
18+
19+
We may add or remove people from this group if releases start getting bottlenecked, but security is the priority.
20+
21+
### Commit Bit ("Maintainers" or "Core Team")
22+
23+
We give commit bit if you make significant contributions to minor (or major) releases, consistently over time. Show up, do good work, stick around.
24+
25+
We review this access periodically, but we're looser with it than gem release access.
26+
27+
If you have commit bit, we trust you enough to merge to `main` without necessarily getting review first.
28+
29+
While all [security reports go to Evan directly](./SECURITY.md), maintainers will collaborate together on the fix.
30+
31+
**Current members:** Everyone on the [Maintainers](./MAINTAINERS) list.
32+
33+
## How Decisions Get Made
34+
35+
Evan has final say on who gets these rights. Maintainers make suggestions and talk things through, but ultimately it's his call.
36+
37+
In general, Puma maintainership works on the principle of [lazy consensus](https://openoffice.apache.org/docs/governance/lazyConsensus.html).
38+
39+
We try to mostly work in public, so that more people outside the maintainer team can contribute and help out.
40+
41+
If you have questions or want to suggest changes to how we run things, open an issue.

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dentarg
2+
evanphx
3+
joshuay03
4+
MSP-Greg
5+
nateberkopec
6+
schneems

0 commit comments

Comments
 (0)