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
Initial PR outlining the governance for the project #345
Changes from all commits
7ea75d4
c2227b0
13b381d
148719e
7bcb273
ffa6104
e0fd768
8fa8bbf
8cb7eae
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# Project Governance | ||
|
||
The Valkey project is managed by a Technical Steering Committee (TSC) composed of the maintainers of the Valkey repository. | ||
The Valkey project includes all of the current and future repositories under the Valkey-io organization. | ||
Maintainers are defined as individuals with full commit access to a repository, which shall be in sync with the MAINTAINERS.md file in a given projects repository. | ||
Maintainers of other repositories within the Valkey project are not members of the TSC unless explicitly added. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm a bit confused about the relationship between "maintainers" and "TSC". Although currently all TSC members are maintainers of the valkey core repo, but in the future these two groups may be changed separately. I think it would be better to describe them separately. For example, we could use There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. At least for now, practically maintainers = TSC. I think it makes the most sense to amend the document when that needs to change. |
||
|
||
## Technical Steering Committee | ||
|
||
The TSC is responsible for oversight of all technical, project, approval, and policy matters for Valkey. | ||
|
||
The TSC members are listed in the [MAINTAINERS.md](MAINTAINERS.md) file in the Valkey repository. | ||
Maintainers (and accordingly, TSC members) may be added or removed by no less than 2/3 affirmative vote of the current TSC. | ||
The TSC shall appoint a Chair responsible for organizing TSC meetings. | ||
If the TSC Chair is removed from the TSC (or the Chair steps down from that role), it is the responsibility of the TSC to appoint a new Chair. | ||
The TSC can amend this governance document by no less than a 2/3 affirmative vote. | ||
|
||
The TSC may, at its discretion, add or remove members who are not maintainers of the main Valkey repository. | ||
madolson marked this conversation as resolved.
Show resolved
Hide resolved
|
||
The TSC may, at its discretion, add or remove maintainers from other repositories within the Valkey project. | ||
|
||
## Voting | ||
|
||
The TSC shall strive for all decisions to be made by consensus. | ||
While explicit agreement of the entire TSC is preferred, it is not required for consensus. | ||
Rather, the TSC shall determine consensus based on their good faith consideration of a number of factors, including the dominant view of the TSC and nature of support and objections. | ||
The TSC shall document evidence of consensus in accordance with these requirements. | ||
If consensus cannot be reached, the TSC shall make the decision by a vote. | ||
|
||
A vote shall also be called when an issue or pull request is marked as a major decision, which are decisions that have a significant impact on the Valkey architecture or design. | ||
Examples of major decisions: | ||
madolson marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* Fundamental changes to the Valkey core datastructures | ||
* Adding a new data structure or API | ||
* Changes that affect backward compatibility | ||
* New user visible fields that need to be maintained | ||
* Modifications to the TSC or other governance documents | ||
* Adding members to other roles within the Valkey project | ||
* Delegation of maintainership for projects to other groups or individuals | ||
* Adding or removing a new external library such as a client | ||
or module to the project. | ||
|
||
Any member of the TSC can call a vote with reasonable notice to the TSC, setting out a discussion period and a separate voting period. | ||
Any discussion may be conducted in person or electronically by text, voice, or video. | ||
The discussion shall be open to the public, with the notable exception of discussions involving embargoed security issues or the addition or removal of maintainers, which will be private. | ||
In any vote, each voting TSC member will have one vote. | ||
The TSC shall give at least two weeks for all members to submit their vote. | ||
Except as specifically noted elsewhere in this document, decisions by vote require a simple majority vote of all voting members. | ||
zuiderkwast marked this conversation as resolved.
Show resolved
Hide resolved
|
||
It is the responsibility of the TSC chair to help facilitate the voting process as needed to make sure it completes within the voting period. | ||
|
||
## Termination of Membership | ||
|
||
A maintainer's access (and accordingly, their position on the TSC) will be removed if any of the following occur: | ||
|
||
* Resignation: Written notice of resignation to the TSC. | ||
madolson marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* TSC Vote: 2/3 affirmative vote of the TSC to remove a member | ||
* Unreachable Member: If a member is unresponsive for more than six months, the remaining active members of the TSC may vote to remove the unreachable member by a simple majority. | ||
|
||
## Technical direction for other Valkey projects | ||
|
||
The TSC may delegate decision making for other projects within the Valkey organization to the maintainers responsible for those projects. | ||
Delegation of decision making for a project is considered a major decision, and shall happen with an explicit vote. | ||
Projects within the Valkey organization must indicate the individuals with commit permissions by updating the MAINTAINERS.md within their repositories. | ||
|
||
The TSC may, at its discretion, overrule the decisions made by other projects within the Valkey organization, although they should show restraint in doing so. | ||
|
||
## License of this document | ||
|
||
This document may be used, modified, and/or distributed under the terms of the | ||
[Creative Commons Attribution 4.0 International (CC-BY) license](https://creativecommons.org/licenses/by/4.0/legalcode). |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
## Overview | ||
|
||
This document contains a list of maintainers in this repo. | ||
See [GOVERNANCE.md](GOVERNANCE.md) that explains the function of this file. | ||
|
||
## Current Maintainers | ||
|
||
madolson marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Maintainers listed in alphabetical order by their github ID. | ||
|
||
| Maintainer | GitHub ID | Affiliation | | ||
madolson marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ------------------- | ----------------------------------------------- | ----------- | | ||
| Zhu Binbin | [enjoy-binbin](https://github.com/enjoy-binbin) | Tencent | | ||
| Wen Hui | [hwware](https://github.com/hwware) | Huawei | | ||
| Madelyn Olson | [madolson](https://github.com/madolson) | Amazon | | ||
| Ping Xie | [pingxie](https://github.com/pingxie) | Google | | ||
madolson marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| Zhao Zhao | [soloestoy](https://github.com/soloestoy) | Alibaba | | ||
| Viktor Söderqvist | [zuiderkwast](https://github.com/zuiderkwast) | Ericsson | | ||
|
||
|
||
### Former Maintainers | ||
|
||
| Maintainer | GitHub ID | Affiliation | | ||
| ------------------- | ----------------------------------------------- | ----------- | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"the Valkey-io organization" just means the github org. It sounds like were defining our project in terms of whats under the github org, but it's rather the other way around. Can we write it in a different way?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't want to tie the governance to specifically to github. Maybe I'll word it like:
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure. Or just keep it as is. It doesn't matter much.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it "Valkey" or "Valkey-io" organization?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's currently valkey-io organization. We're working on getting valkey though.