chore/update community governance#8
Conversation
|
This is a BIG PR, please review before merge! |
There was a problem hiding this comment.
Pull request overview
This PR modernizes the AReaL community governance documentation by introducing a structured contributor ladder and membership/election processes, splitting role holder lists into dedicated roles/ documents, and expanding contributor guidance. It also updates the weekly pulse workflow to generate and open PRs automatically with the generated report.
Changes:
- Reworks governance docs to define principles, decision-making, roles ladder, and formal membership/election procedures.
- Adds
roles/directory docs for Maintainers/Approvers/Members/Security Team and updates references from existing docs. - Enhances automation: weekly pulse workflow now writes reports to
reports/and opens a PR automatically; adds related.gitignoreentries.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| SECURITY.md | Updates private reporting guidance and points to the Security Team + Maintainers role docs. |
| roles/Security-Team.md | Adds Security Team definition, composition, responsibilities, and links back to SECURITY.md. |
| roles/README.md | Adds an index README for community role holder lists under roles/. |
| roles/Members.md | Adds a Members roster document (currently empty with guidance). |
| roles/Maintainers.md | Adds a Maintainers roster document listing current maintainers. |
| roles/Approvers.md | Adds an Approvers roster document (currently empty with guidance). |
| README.md | Refreshes “What lives here” and adds community communication + roles overview. |
| GOVERNANCE.md | Major rewrite: principles, scope, decision-making, PR policy, comms, legal/compliance, amendments. |
| CONTRIBUTING.md | Adds DCO/sign-off and licensing guidance and updates quick-start commit example. |
| COMMUNITY_MEMBERSHIP.md | Introduces election/voting/membership processes, inactivity rules, and worked example. |
| COMMUNITY_LADDER.md | Introduces the Contributor→Member→Approver→Maintainer ladder with responsibilities/qualifications/privileges. |
| .gitignore | Ignores /.cache and /pulse-report.md. |
| .github/workflows/pulse.yml | Adds timestamping, report file creation, and automatic PR creation for weekly pulse reports. |
| .github/ISSUE_TEMPLATE/nominate.md | Adds a nomination issue template aligned with the new membership/election process. |
| .github/ISSUE_TEMPLATE/departure.md | Adds a departure notice issue template aligned with the new membership process. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - **Openness.** All of our communication and decision-making happens in the open. | ||
| Discussions, proposals, and decisions are recorded in public issues, pull requests, | ||
| and community meetings so anyone can follow along. |
| - All pull requests require approval from at least **two Maintainers (or Approvers in | ||
| their area of ownership)** before they can be merged. At least one approval must come | ||
| from a code owner of the modified paths (see | ||
| [`.github/CODEOWNERS`](https://github.com/areal-project/AReaL/blob/main/.github/CODEOWNERS)). |
| - name: Get current timestamp | ||
| uses: mingcheng/get-timestamp-action@v1.1.0 | ||
| id: timestamp |
b57d2f9 to
fabab31
Compare
| The Security Team consists of all current active Maintainers as listed in | ||
| [Maintainers.md](Maintainers.md). All Maintainers are members of the Security Team by | ||
| virtue of their role. |
| New Members are nominated by an existing Approver or Maintainer (through a nomination | ||
| issue) and need a simple majority vote from the current eligible voters to be approved. | ||
| See the [Election Process](#election-process) for details. |
There was a problem hiding this comment.
On the Member level, this reads as if a nomination has to come from an existing Approver or Maintainer. A few other places seem to describe the same step more openly, though:
- Election Process (line 201): "You may create it yourself, or ask an existing Approver or Maintainer to help."
- Worked Example (below): Jane, a Contributor, opens her own nomination issue with no Approver/Maintainer as the nominator.
- Nomination template (
.github/ISSUE_TEMPLATE/nominate.md, line 22): the Nominator's "Current role" can beContributor.
So it's a bit ambiguous whether self-nomination (or nomination by a Contributor/Member) is allowed for becoming a Member, or whether it's meant to be restricted to Approvers/Maintainers. Which behavior is intended here?
There was a problem hiding this comment.
Members can be self-nominated, but approver/maintainer nominations must have a nominee.
There was a problem hiding this comment.
The relevant contents and terms have been updated.
222a7e8 to
8c26650
Compare
- Add contributor ladder and membership process documents - Refactor GOVERNANCE.md with principles, roles, and voting rules - Move maintainer list from GOVERNANCE.md to roles/Maintainers.md - Add roles directory for Members, Approvers, and Security Team - Update README, CONTRIBUTING, SECURITY, and Code of Conduct Signed-off-by: mingcheng <mingcheng@apache.org>
- Add issue template for role nominations (Member, Approver, Maintainer) - Add issue template for voluntary departure notices - Include checklists for nominees, nominators, and maintainers - Reference contributor ladder and community membership docs Signed-off-by: mingcheng <mingcheng@apache.org>
8c26650 to
227729f
Compare
Uh oh!
There was an error while loading. Please reload this page.