22
33## Leadership Election
44
5- Qualified new maintainers are approved via consensus by the group of existing
6- maintainers.
5+ For most roles, candidates can self-nominate or be nominated
6+ and are approved through consensus by the existing maintainers.
77
8- ## Technical Committee
8+ ### Nomination Protocol
99
10- Technical committee provides technical oversight for the overall architectural
11- design and project development.
10+ #### Submit Nomination
1211
13- Responsibilities include:
12+ The candidate or an existing maintainer creates
13+ a [ maintainer nomination issue] ( .github/ISSUE_TEMPLATE/maintainer_nominate.yaml )
14+ and submits a pull request (PR) to modify the ` MAINTAINERS.md `
15+ or ` ADVISORS.md ` file to add the nominee.
16+
17+ #### Voting
18+
19+ The PR requires approval from ** at least three maintainers** ,
20+ including the nominator if they are not self-nominating.
21+ Maintainers indicate their approval by approving on the PR.
22+
23+ #### Approval and Merge
24+
25+ Once the required approvals are met, the PR can be merged.
26+
27+ If the nominee is not yet added as a maintainer to the repository,
28+ they should be added at this point,
29+ officially confirming their maintainer status.
30+
31+ ## Maintainers
32+
33+ Maintainers are responsible for the overall health and progress of the project.
34+
35+ Their roles and responsibilities are organized into functional areas:
36+
37+ ### 1. Project Lead
38+
39+ - Provide overall vision and strategic direction for the project
40+ - Facilitate collaboration and communication among maintainers,
41+ contributors, and stakeholders
42+ - Make final decisions on major project proposals and conflicts
43+ - Represent the project publicly in meetings, conferences, and external communications
44+ - Ensure the project adheres to its goals, timelines, and governance policies
45+ - Mentor maintainers and foster a healthy, inclusive community culture
46+ - Oversee release planning and high-level project milestones
47+
48+ ### 2. Technical Committee
1449
1550- Oversee the overall direction of the Kepler project.
1651- Provide guidance for the project maintainers and the onboarding process for
1752 new maintainers.
1853- Actively engage in the technical committee meetings.
54+ - Participate in design and technical discussions
55+ - Review and approve pull requests,
56+ especially those involving significant technical changes or core areas
1957
20- The current list of technical committee members is published and updated in
21- [ Contributors.md] ( Contributors.md ) .
58+ #### Becoming a Technical Committee Member
2259
23- ### Becoming a Technical Committee Member
60+ Technical Committee membership is reserved for contributors with a strong,
61+ demonstrated commitment to the project.
62+ Members are elected or invited based on their ongoing,
63+ significant contributions including:
2464
25- Proficient in one or more of the following areas:
65+ - Core Kepler development and maintenance
66+ - Test suite maintenance
67+ - Deployment and integration (including
68+ the [ Kepler Operator] ( https://github.com/sustainable-computing-io/kepler-operator ) ,
69+ [ Helm Chart] ( https://github.com/sustainable-computing-io/kepler-helm-chart ) )
70+ - [ Model server] ( https://github.com/sustainable-computing-io/kepler-model-server )
71+ and model development
72+ - [ Continuous integration] ( https://github.com/sustainable-computing-io/kepler-action )
73+ - [ Core documentation] ( https://github.com/sustainable-computing-io/kepler-doc )
2674
27- - Developing and maintaining Kepler core
28- - Developing and maintaining Kepler deployment and integration (including
29- Operator)
30- - Developing and maintaining Kepler model server and models
31- - Developing and maintaining test suites
32- - Developing and maintaining CI infra
33- - Maintaining documentation.
75+ ### 3. Release Management
3476
35- ## Responsibilities
77+ - Oversee planning and coordination of releases
78+ - Approve release blockers and guide final cut
79+ - Ensure changelogs, versioning, and release notes are accurate
3680
37- ### Maintainer's Responsibilities
81+ ### 4. Repository Oversight
3882
39- Responsibilities include:
83+ - Monitor GitHub issues and PR queues
84+ - Label, prioritize, and assign appropriately
85+ - Close stale or unmaintained issues when needed
86+ - Enforce code of conduct and contribution guidelines
87+ - Maintain project security policies and dependencies
88+ - Review and approve pull requests,
89+ especially those involving project or repository management
4090
41- - Strong commitment to the project
42- - Participate in design and technical discussions
43- - Contribute non-trivial pull requests
44- - Actively attend the community meetings
45- - Perform code reviews on other's pull requests
46- - Regularly triage GitHub issues.
47- - Make sure that ongoing PRs are moving forward at the right pace or closing
48- them
49- - Monitor Kepler Slack (delayed response is perfectly acceptable), particularly
50- for the area of your expertise
51-
52- ### Reviewer's Responsibilities
53-
54- Responsibilities include:
55-
56- - Perform code reviews on other's pull requests
57- - Regularly triage GitHub issues.
58- - Make sure that ongoing PRs are moving forward at the right pace or closing
59- them
60- - Monitor Kepler Slack (delayed response is perfectly acceptable), particularly
61- for the area of your expertise
91+ ### 5. Community Engagement
92+
93+ - Promote the project through community calls, social channels, and events
94+ - Host or rotate as facilitator for community calls
95+ - Respond to contributor questions in forums, Slack, GitHub Discussions
96+ - Connect contributors with the appropriate maintainers or domain experts
97+ - Welcome new contributors and guide them toward first issues
98+ - Review and approve pull requests, especially those involving community engagement
99+
100+ The current list of maintainers is published and updated in
101+ [ MAINTAINERS.md] ( ./MAINTAINERS.md ) .
102+
103+ ## Reviewer
104+
105+ A Reviewer has responsibility for specific code, documentation, test,
106+ or other project areas.
107+ They are collectively responsible, with other Reviewers,
108+ for reviewing all changes to those areas and indicating whether
109+ those changes are ready to merge.
110+ They have a track record of contribution and review in the project.
111+
112+ Reviewers are responsible for a "specific area."
113+ This can be a specific code directory, driver, chapter of the docs,
114+ test job, event, or other clearly-defined project component
115+ that is smaller than an entire repository or subproject.
116+ Most often it is one or a set of directories in one or more Git repositories.
117+
118+ The "specific area" below refers to this area of responsibility:
119+
120+ ### Responsibilities
121+
122+ - Following the reviewing guide
123+ - Reviewing most Pull Requests against their specific areas of responsibility
124+ - Helping other contributors become reviewers
125+
126+ #### Becoming a Reviewer
127+
128+ The contributor is nominated by opening a PR against the appropriate repository,
129+ which adds their GitHub username to
130+ one or more [ OWNERS file] ( https://www.kubernetes.dev/docs/guide/owners/ ) .
131+
132+ At least one member of the maintainer or the team
133+ that owns that repository or main directory,
134+ who are already Approvers, approve the PR.
62135
63136## Advisory Committee
64137
@@ -73,4 +146,8 @@ project, including but not limited to:
73146Members of the advisory committee are expected to be active in the Kepler
74147community and attend the advisory committee meetings. Members are expected to
75148serve for a term of one year, with the option to renew for additional terms.
149+
76150Members are invited and approved by the Kepler maintainers.
151+
152+ The current list of advisory committee is published and updated in
153+ [ ADVISORS.md] ( ./ADVISORS.md ) .
0 commit comments