Skip to content

chore/update community governance#8

Open
mingcheng wants to merge 2 commits into
mainfrom
chore/update-community-governance
Open

chore/update community governance#8
mingcheng wants to merge 2 commits into
mainfrom
chore/update-community-governance

Conversation

@mingcheng

@mingcheng mingcheng commented Jun 12, 2026

Copy link
Copy Markdown
Contributor
  • 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

@mingcheng

Copy link
Copy Markdown
Contributor Author

This is a BIG PR, please review before merge!

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 .gitignore entries.

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.

Comment thread GOVERNANCE.md
Comment on lines +12 to +14
- **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.
Comment thread GOVERNANCE.md
Comment on lines +102 to +105
- 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)).
Comment on lines +41 to +43
- name: Get current timestamp
uses: mingcheng/get-timestamp-action@v1.1.0
id: timestamp
@mingcheng mingcheng force-pushed the chore/update-community-governance branch 2 times, most recently from b57d2f9 to fabab31 Compare June 12, 2026 09:52
@mingcheng mingcheng requested a review from Copilot June 12, 2026 09:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Comment thread roles/Security-Team.md
Comment on lines +8 to +10
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.
@mingcheng mingcheng added the documentation Improvements or additions to documentation label Jun 17, 2026
Comment thread COMMUNITY_MEMBERSHIP.md Outdated
Comment on lines +91 to +93
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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 be Contributor.

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?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Members can be self-nominated, but approver/maintainer nominations must have a nominee.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The relevant contents and terms have been updated.

@mingcheng mingcheng force-pushed the chore/update-community-governance branch from 222a7e8 to 8c26650 Compare June 23, 2026 07:08
- 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>
@mingcheng mingcheng force-pushed the chore/update-community-governance branch from 8c26650 to 227729f Compare June 23, 2026 07:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants