-
Notifications
You must be signed in to change notification settings - Fork 128
Add governance document in the repository #3710
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 12 commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
fed30b9
Add governance document
ekouts e16da73
Update GOVERNANCE.md
ekouts 1991d6e
Update GOVERNANCE.md
ekouts 3f14c92
Update GOVERNANCE.md
ekouts 2f88ff6
Update GOVERNANCE.md
ekouts c3f5802
Update GOVERNANCE.md
ekouts 078e91e
Update GOVERNANCE.md
ekouts e619811
Update GOVERNANCE.md
ekouts 96c7b6c
Update GOVERNANCE.md
ekouts 7afceb8
Update GOVERNANCE.md
ekouts e496c80
remove empty line
ekouts dcf4291
Define voting process
ekouts aedab32
Apply suggestion from @vkarak
ekouts 87b8558
Apply suggestion from @vkarak
ekouts 19b7952
Apply suggestion from @vkarak
ekouts f30622f
Apply suggestion from @vkarak
ekouts 1269a47
Apply suggestion from @vkarak
ekouts a2f0a6e
Merge branch 'develop' into governance
ekouts File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,81 @@ | ||
| # ReFrame Governance | ||
|
|
||
| This document describes how the project is governed. | ||
| It complements the [Code of Conduct](CODE_OF_CONDUCT.md), the [contribution guidelines](CONTRIBUTING.md) and the [list of maintainers](MAINTAINERS.md). | ||
|
|
||
| ## Roles | ||
|
|
||
| - **Leadership team:** sets the direction of the project and has the final say when there is no consensus. | ||
| - **Maintainers:** have write access to the repository and can review and merge pull requests. | ||
| - **Contributors:** anyone who has contributed code, documentation, tests, reviews or bug reports. | ||
|
|
||
| ### Leadership team | ||
|
|
||
| Responsibilities: | ||
|
|
||
| - Roadmap and release planning | ||
| - Decisions on major features and architectural changes | ||
| - Adding and removing maintainers | ||
| - Representing the project in HPSF | ||
|
|
||
| Current members (alphabetically): | ||
|
|
||
| - Victor Holanda Rusu ([@victorusu](https://github.com/victorusu)), CSCS | ||
| - Vasileios Karakasis ([@vkarak](https://github.com/vkarak)), NVIDIA | ||
| - Eirini Koutsaniti ([@ekouts](https://github.com/ekouts)), CSCS | ||
| - Guilherme Peretti-Pezzi ([@gppezzi](https://github.com/gppezzi)), CSCS | ||
|
|
||
| Members are added by an absolute majority vote of the leadership team and removed by a 2/3 absolute majority. | ||
| The member to be removed is notified about the reasons and given the opportunity to respond. | ||
|
|
||
| An "absolute majority" means more than half of the current leadership team members, regardless of how many participate in the vote. | ||
|
|
||
| Formal votes take place during the regular development meetings, with the voting agenda announced at least 14 days in advance; a member unable to attend may submit their vote in writing beforehand. | ||
|
ekouts marked this conversation as resolved.
Outdated
|
||
|
|
||
| ### Maintainers | ||
|
|
||
| Maintainers review and merge pull requests, triage issues, keep the CI and the release tooling working and take part in the development meetings. | ||
| The current list is in [MAINTAINERS.md](MAINTAINERS.md). | ||
|
|
||
| Any maintainer can propose a contributor as a new maintainer. | ||
| The leadership team decides on an absolute majority basis. | ||
| We look for a track record of good contributions, a good understanding of the code base and constructive participation in reviews and discussions. | ||
|
|
||
| Maintainers can step down at any time. | ||
| Maintainers can also be removed by the leadership team with an absolute majority vote. | ||
| The maintainer to be removed is notified about the reasons and given the opportunity to respond. | ||
|
|
||
| ## How decisions are made | ||
|
|
||
| Most decisions happen in pull requests. | ||
| A pull request needs the approval of at least one maintainer other than the author, passing CI and documentation for any user-facing change. | ||
|
|
||
| Bigger changes (such as new major features, architectural changes, changes to the public API or the configuration syntax, deprecations, release planning) are discussed in a GitHub issue first, in the development meetings or on Slack. | ||
| We decide by consensus. | ||
| If we cannot agree, the leadership team votes and a simple majority wins. | ||
|
|
||
| Changes to this document needs a 2/3 vote of the leadership team. | ||
|
ekouts marked this conversation as resolved.
Outdated
|
||
|
|
||
| ## Releases | ||
|
|
||
| We follow [semantic versioning](https://semver.org). | ||
| Major or minor releases come out typically twice a year. | ||
| Patch releases come out when there are fixes to release. | ||
|
|
||
| What goes into the next release is tracked in the [GitHub milestones](https://github.com/reframe-hpc/reframe/milestones) and the [release board](https://github.com/orgs/reframe-hpc/projects/1/views/1). | ||
|
|
||
| ## Meetings and communication | ||
|
|
||
| - The maintainers meet every three weeks to go through open issues and pull requests and discuss the next release. | ||
|
ekouts marked this conversation as resolved.
Outdated
|
||
| - [GitHub issues](https://github.com/reframe-hpc/reframe/issues) and pull requests are where technical discussions and decisions should be recorded. | ||
| - [Slack](README.md#contact) is for user support, announcements and informal discussion. | ||
| - Documentation is at https://reframe-hpc.readthedocs.io. | ||
|
|
||
| ## Security | ||
|
|
||
| Dependencies are kept up to date with Dependabot. | ||
|
|
||
|
ekouts marked this conversation as resolved.
Outdated
|
||
| ## Code of Conduct | ||
|
|
||
| Everyone taking part in the project is expected to follow the [Code of Conduct](CODE_OF_CONDUCT.md). | ||
| Reports are handled by the leadership team; a member involved in a report does not take part in handling it. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.