diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 86e6aee9c2..cc807a79b6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,6 +3,10 @@ Contributing to Valkey Welcome and thank you for wanting to contribute! +# Project governance + +The Valkey project is led by a Technical Steering Committee, whose responsibilities are laid out in [GOVERNANCE.md](GOVERNANCE.md). + ## Get started * Have a question? Ask it on diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 0000000000..33c3887430 --- /dev/null +++ b/GOVERNANCE.md @@ -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. + +## 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. +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: + * 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. +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. +* 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). diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 0000000000..635bf25067 --- /dev/null +++ b/MAINTAINERS.md @@ -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 + +Maintainers listed in alphabetical order by their github ID. + +| Maintainer | GitHub ID | Affiliation | +| ------------------- | ----------------------------------------------- | ----------- | +| 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 | +| Zhao Zhao | [soloestoy](https://github.com/soloestoy) | Alibaba | +| Viktor Söderqvist | [zuiderkwast](https://github.com/zuiderkwast) | Ericsson | + + +### Former Maintainers + +| Maintainer | GitHub ID | Affiliation | +| ------------------- | ----------------------------------------------- | ----------- | \ No newline at end of file