From eda6c94d4d62914bbd9418aa135417755cc49744 Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Wed, 8 Jan 2025 19:51:06 +0100 Subject: [PATCH 1/2] chore: introduce governance board --- .gitvote.yml | 1 + CHARTER.md | 93 ++++++++++++++++++++++++++++++++------------------- GOVERNANCE.md | 88 ++++++++++++++++++++++++++++++++++-------------- voting.md | 45 ++++++++++++++++--------- 4 files changed, 150 insertions(+), 77 deletions(-) diff --git a/.gitvote.yml b/.gitvote.yml index c1dffc24b..f06d038af 100644 --- a/.gitvote.yml +++ b/.gitvote.yml @@ -4,6 +4,7 @@ profiles: pass_threshold: 51 periodic_status_check: "1 week" close_on_passing: true + close_on_passing_min_wait: "7 days" allowed_voters: teams: - tsc_members \ No newline at end of file diff --git a/CHARTER.md b/CHARTER.md index c78275201..d4b5cdf9b 100644 --- a/CHARTER.md +++ b/CHARTER.md @@ -1,21 +1,23 @@ +---

Technical Charter (the “Charter”)

for
AsyncAPI Project a Series of LF Projects, LLC
- Adopted 03-19-2021 + Adopted 03-19-2021, Amended [TODO:set a date once agreed with LF]

- [1. Mission and Scope of the Project](#1-mission-and-scope-of-the-project) - [2. Technical Steering Committee](#2-technical-steering-committee) -- [3. Committers and Contributors](#3-committers-and-contributors) -- [4. TSC Voting](#4-tsc-voting) -- [5. Amendments](#5-amendments) -- [6. Intellectual Property Policy](#6-intellectual-property-policy) -- [7. Compliance with Policies](#7-compliance-with-policies) -- [8. General Rules and Operations](#8-general-rules-and-operations) -- [9. Community Assets](#9-community-assets) +- [3. Governance Board](#3-governance-board) +- [4. Committers and Contributors](#4-committers-and-contributors) +- [5. TSC Voting](#5-tsc-voting) +- [6. Amendments](#6-amendments) +- [7. Intellectual Property Policy](#7-intellectual-property-policy) +- [8. Compliance with Policies](#8-compliance-with-policies) +- [9. General Rules and Operations](#9-general-rules-and-operations) +- [10. Community Assets](#10-community-assets) @@ -29,22 +31,20 @@ This Charter sets forth the responsibilities and procedures for technical contri ### 2. Technical Steering Committee -1. The Technical Steering Committee (the “TSC”) will be responsible for the oversight of the open-source Project. -2. From the inception of the Project to March 31, 2022 (or such other date as determined by the TSC, such period of time the “Startup Period”), the members of the TSC will be those individuals named as the initial TSC members on the Project’s code repository. The TSC may appoint an Executive Director (“ED”) to be responsible during the Startup Period for the overall architectural vision of the Project. The ED also has to understand the community as a whole and strive to satisfy as many conflicting needs as possible, while ensuring that the project survives in the long term. The name of the ED will be specified in the GOVERNANCE file in the Project’s code repository. The role of the ED will disappear after the conclusion of the Startup Period. -3. Following the conclusion of the Startup Period, composition of the TSC will be determined through an open mechanism to be set by the TSC (and described on the Project’s code repository). -4. TSC membership is not time-limited. There’s no maximum size of TSC. The size is expected to vary in order to ensure adequate coverage of important areas of expertise, balanced with the ability to make decisions efficiently. Following the Startup Period, the TSC must have at least three members. -5. No more than one-fourth of the TSC members may be affiliated with the same employer. If the removal or resignation of a TSC member, or a change of employment/affiliation by a TSC member, creates a situation where more than one-fourth of the TSC membership shares an employer, then the situation must be assessed by TSC. In any case, the number of TSC members affiliated with the same employer must not be higher than one-third (round half up number). -6. Committers are the voting members of the TSC and must be listed in the VOTERS file within the Project’s code repository. The TSC may choose an alternative approach for determining the voting members of the TSC, and any such alternative approach will be documented in the Project’s GOVERNANCE file. -7. TSC members may resign from their right to vote and ask to be removed from the VOTERS file within the Project’s code repository. -8. Any meetings of the TSC are intended to be open to the public, recorded, and can be conducted electronically, via teleconference, or in person. -9. TSC projects generally will involve Contributors and Committers. The TSC may adopt or modify roles so long as the roles are documented in the Project’s GOVERNANCE file. -10. TSC members are expected to regularly participate in TSC voting. -11. In the case where an individual TSC member -- within any three-month period -- does not participate in TSC votes, the member shall be automatically removed from the TSC. -12. A TSC member may be removed from the TSC by the majority approval of the other TSC members. -13. The TSC may elect a TSC Chair, who will preside over meetings of the TSC and will serve until their resignation or replacement by the TSC. In the case of replacement, TSC voting must follow the approach described in Section 4. -14. The TSC may decide to change the Project’s vision and strategy. In that case, TSC voting must follow the approach described in Section 4. -15. The TSC may (1) establish workflow procedures for the submission, approval, and closure/archiving of projects, (2) set requirements for the promotion of Contributors to Committer status, as applicable, and (3) amend, adjust, refine and/or eliminate the roles of Contributors, and Committers, and create new roles, and publicly document any TSC roles, as it sees fit. -16. Responsibilities: The TSC will be responsible for all aspects of oversight relating to the Project, which may include: +1. The Technical Steering Committee (the “TSC”) will be responsible for the oversight of the open-source Project. +2. The TSC appoints the Governance Board as described in Section 3. +3. TSC membership is not time-limited. There’s no maximum size of TSC. The size is expected to vary in order to ensure adequate coverage of important areas of expertise, balanced with the ability to make decisions efficiently. The TSC must have at least three members. +4. No more than one-fourth of the TSC members may be affiliated with the same employer. If the removal or resignation of a TSC member, or a change of employment/affiliation by a TSC member, creates a situation where more than one-fourth of the TSC membership shares an employer, then the situation must be assessed by TSC. In any case, the number of TSC members affiliated with the same employer must not be higher than one-third (round half up number). +5. Voting members of the Technical Steering Committee (TSC) include committers of any Project's code repository and AsyncAPI Ambassadors. The TSC documents in the project’s GOVERNANCE file the method for determining voting members. +6. TSC members may resign anytime and also ask to be added to TSC list anytime, as long as the requirements are met. +7. Any meetings of the TSC are intended to be open to the public, recorded, and can be conducted electronically, via teleconference, or in person. +8. TSC projects generally will involve Contributors and Committers. The TSC may adopt or modify roles so long as the roles are documented in the Project’s GOVERNANCE file. +9. TSC members are expected to regularly participate in TSC voting. +10. In the case where an individual TSC member -- within any three-month period -- does not participate in TSC votes, the member shall be automatically removed from the TSC. +11. A TSC member may be removed from the TSC by the majority approval of the other TSC members. +12. The TSC may decide to change the Project’s vision and strategy. In that case, TSC voting must follow the approach described in Section 5. +13. The TSC may (1) establish workflow procedures for the submission, approval, and closure/archiving of projects, (2) set requirements for the promotion of Contributors to Committer status, as applicable, and (3) amend, adjust, refine and/or eliminate the roles of Contributors, and Committers, and create new roles, and publicly document any TSC roles, as it sees fit. +14. Responsibilities: The TSC will be responsible for all aspects of oversight relating to the Project, which may include: 1. coordinating the technical direction of the Project; 2. approving project or system proposals (including, but not limited to, incubation, deprecation, and changes to a sub-project’s scope); 3. organizing sub-projects and removing sub-projects; @@ -56,7 +56,29 @@ This Charter sets forth the responsibilities and procedures for technical contri 9. discussions, seeking consensus, and where necessary, voting on technical matters relating to the code base that affect multiple projects; and 10. coordinating any marketing, events, or communications regarding the Project. -### 3. Committers and Contributors +### 3. Governance Board + +1. The Project Governance Board (the “Board”) will provide oversight and guidance on strategic and operational matters, but will not replace the TSC in making decisions, unless the TSC delegates some responsibilities to the Board. Exceptions will be specified in the GOVERNANCE document. +2. The Board must have five members. +3. The Board initially comprises three members and expands to five members after the first 12 months. +4. The Board member is elected for 24-month cadence. +5. The Board member is also a TSC member with all it's rights. +6. The Board will follow a 12-month election cycle, with members eligible for re-election only once. +7. The Board elections are not managed as regular TSC vote. Details of the voting process will be specified in the GOVERNANCE document. +8. The Board member can be removed only upon resignation or the TSC majority vote. New Board member election must be organized withing 60 days. +9. The Board will appoint a chairperson from within its members. Cadence is 12 months. The chair can be replaced only upon resignation or the Board majority vote. +10. The Board chairperson coordinates work of the board and ensures it operates effectively. +11. The Board is responsible for presenting votes to the TSC. The Board is preparing and managing high-sensitivity issues before the vote especially in cases involving sponsorships, external partnerships, or policy considerations. +12. The Board assures effective voting process, participation and vote conclusion. +13. Board members are expected to hold private monthly meetings under `Chatham House Rule` guidelines, with meeting summaries made available publicly. +14. Details on Board roles, duties, and operational processes are documented in a separate GOVERNANCE document for clarity and flexibility, covering: + - Management of finances to ensure sustainability; + - Engagement with external companies and sponsorship; + - Oversight of Project programs and initiatives; + - Tools, people, and process management to support community growth; + - Collaboration with the TSC on strategic initiatives. + +### 4. Committers and Contributors 1. Contributors include anyone in the community that contributes code, documentation, pull request reviews, or other technical artifacts to the Project (“Contributors”); 2. Committers are Contributors who have earned the ability to modify (“commit”) source code, documentation, or other technical artifacts in a project’s repository (“Committers”); @@ -65,20 +87,21 @@ This Charter sets forth the responsibilities and procedures for technical contri 5. A Committer may be removed from a Project’s repository by the majority approval of the other Committers of the same repository. 6. Participation in the Project through becoming a Contributor and Committer is open to anyone so long as they abide by the terms of this Charter. -### 4. TSC Voting +### 5. TSC Voting 1. While the Project aims to operate as a consensus-based community, if any TSC decision requires a vote to move the Project forward, the voting members of the TSC will vote on a one vote per voting member basis. -2. Quorum is not needed to make a decision. -3. Except as provided in Section 5, decisions require a majority of votes. +2. Quorum requirements and voting rules will be specified in the GOVERNANCE document. If quorum is not reached after four weeks, the vote will be canceled, and the Board will reassess the topic. +3. Except as provided in Section 6, decisions require a majority of votes. 4. Decisions must be always made offline, by electronic vote. -5. The voting process is described in the GOVERNANCE. In any case, TSC members must have no more and no less than 7 calendar days to vote. +5. The voting process is described in the GOVERNANCE. In any case, TSC members must have no more and no less than seven calendar days to vote. +6. Voting topics are proposed by the Board, which filters topics and prepares necessary context and guidelines before presentation to the TSC. -### 5. Amendments +### 6. Amendments 1. This charter may be amended by a two-thirds vote of the entire TSC and is subject to approval by LF Projects. 2. A quorum of two-thirds is needed to amend this charter. If after two amendment attempts, the quorum is not reached then a last amendment attempt will be conducted without the need for quorum and only two-thirds of the votes will be needed. -### 6. Intellectual Property Policy +### 7. Intellectual Property Policy 1. Collaborators acknowledge that the copyright in all new contributions will be retained by the copyright holder as independent works of authorship and that no contributor or copyright holder will be required to assign copyrights to the Project. 2. Except as described in Section 6.3., all contributions to the Project are subject to the following: @@ -88,10 +111,10 @@ This Charter sets forth the responsibilities and procedures for technical contri 4. Documentation excluding specifications will be received and made available by the Project under the Creative Commons Attribution 4.0 International License (available at [http://creativecommons.org/licenses/by/4.0/](http://creativecommons.org/licenses/by/4.0/)). 5. To the extent a contribution includes or consists of data, any rights in such data shall be made available under the [CDLA-Permissive 1.0 License](https://cdla.dev/permissive-1-0/). 6. The Project may seek to integrate and contribute back to other open-source projects (“Upstream Projects”). In such cases, the Project will conform to all license requirements of the Upstream Projects, including dependencies, leveraged by the Project. Upstream Project code contributions not stored within the Project’s main code repository will comply with the contribution process and license terms for the applicable Upstream Project. -3. The TSC may approve the use of an alternative license or licenses for inbound or outbound contributions on an exception basis. To request an exception, please describe the contribution, the alternative open source license(s), and the justification for using an alternative open source license for the Project. License exceptions must follow the approach described in Section 5. +3. The TSC may approve the use of an alternative license or licenses for inbound or outbound contributions on an exception basis. To request an exception, please describe the contribution, the alternative open source license(s), and the justification for using an alternative open source license for the Project. License exceptions must follow the approach described in Section 6. 4. Contributed files should contain license information, such as SPDX short form identifiers, indicating the open-source license or licenses pertaining to the file. -### 7. Compliance with Policies +### 8. Compliance with Policies 1. This Charter is subject to the Series Agreement for the Project and the Operating Agreement of LF Projects. Contributors will comply with the policies of LF Projects as may be adopted and amended by LF Projects, including, without limitation the policies listed at [https://lfprojects.org/policies/](https://lfprojects.org/policies/). 2. The TSC may adopt a code of conduct (“CoC”) for the Project, which is subject to approval by the Series Manager. In the event that a Project-specific CoC has not been approved, the LF Projects Code of Conduct listed at [https://lfprojects.org/policies](https://lfprojects.org/policies) will apply for all Collaborators in the Project. @@ -99,13 +122,13 @@ This Charter sets forth the responsibilities and procedures for technical contri 4. All Collaborators must allow open participation from any individual or organization meeting the requirements for contributing under this Charter and any policies adopted for all Collaborators by the TSC, regardless of competitive interests. Put another way, the Project community must not seek to exclude any participant based on any criteria, requirement, or reason other than those that are reasonable and applied on a non-discriminatory basis to all Collaborators in the Project community. 5. The Project will operate in a transparent, open, collaborative, and ethical manner at all times. The output of all Project discussions, proposals, timelines, decisions, and status should be made open and easily visible to all. Any potential violations of this requirement should be reported immediately to the Series Manager. -### 8. General Rules and Operations +### 9. General Rules and Operations 1. The Project will: 1. engage in the work of the Project in a professional manner consistent with maintaining a cohesive community, while also maintaining the goodwill and esteem of LF Projects, Joint Development Foundation, and other partner organizations in the open-source community; and 2. respect the rights of all trademark owners, including any branding and trademark usage guidelines. -### 9. Community Assets +### 10. Community Assets 1. LF Projects will hold title to all trade or service marks used by the Project (“Project Trademarks”), whether based on common law or registered rights. Project Trademarks will be transferred and assigned to LF Projects to hold on behalf of the Project. Any use of any Project Trademarks by Collaborators in the Project will be in accordance with the license from LF Projects and inure to the benefit of LF Projects. 2. The Project will, as permitted and in accordance with such license from LF Projects, develop and own all Project GitHub and social media accounts, and domain name registrations created by the Project community. diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 32f49fbdd..e01e5f0c9 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -1,38 +1,74 @@ -## Executive Director +## Governance Board (GB) members -### Current appointed person +You can determine who is the current GB member from [MAINTAINERS.yaml](MAINTAINERS.yaml) and [AMBASSADORS_MEMBERS.json](AMBASSADORS_MEMBERS.json), `isBoardMember` and `isBoardChair` properties. We also transparently list all the GB members in [AsyncAPI Website](`https://asyncapi.com/community/board`) -The current Executive Director is Lukasz Gornicki. +To become GB member you need to be a member of Technical Steering Committee (TSC). To become a member of TSC, you need to be either Ambassador or Maintainer. + +### Election + +Election takes place every 12-months. First time 3 board members are elected, then after 12-months another 2 members are elected. Then again, since board members are elected for 24-months, we run election to reelect or pick new board members, and so on. + +- Minimum 60 days before elections, GB must ask community for candidates. +- People can also submit their application on their own. +- Information about candidate must be sent to info@asyncapi.io not later than 30 days before elections. +- Nominee must agree to be nominated. +- List of candidates must be published at least on AsyncAPI Website not later than 2 weeks before elections. +- Concerns about candidates should be reported to Code of Conduct Committee. -||| -|---|---| -|Email|lpgornicki@gmail.com| -|AsyncAPI Slack|Lukasz Gornicki (User ID: `UD698Q5LM`)| -|GitHub|https://github.com/derberg| -|Twitter|https://twitter.com/derberq| +GB calls out for voting by presenting the candidates and instructing how people should vote. Voting is private because we need to respect candidates and possible issues related to public rejection. Candidates know their results. Only winners and their votes are presented to public. -### Duties and Responsibilities +TSC members are free to share publicly who they voted on. -Among others, the duties and responsibilities of the Executive Director are the following: +### Duties and responsibilities -* Make sure the [charter](./CHARTER.md) is respected. -* Make sure AsyncAPI is a safe and inclusive community for everyone to thrive. -* Make sure AsyncAPI is economically viable, i.e., get more sponsors or other ways of funding. -* Safely hold all the passwords of the services AsyncAPI uses. -* Guarantee everyone who needs it (and has the right to) has access to the services AsyncAPI uses. -* Make sure that regularly sucessions of the Executive Director are done through a transparent voting process. -* Takes care of the funding management, e.g., Open Collective, Github Sponsors, etc. -* Must be a servant leader and has no power other than the specified in the [charter](./CHARTER.md). Everything that is proposed should be voted by the TSC. +Among others, the duties and responsibilities of the GB are the following: + +- Make sure the [charter](./CHARTER.md) is respected. +- Make sure AsyncAPI is a safe and inclusive community for everyone to thrive. +- Make sure AsyncAPI is economically viable, i.e., get more sponsors or other ways of funding. +- Safely hold all the passwords of the services AsyncAPI uses. +- Manage AsyncAPI Initiative employees and hiring process. +- Guarantee everyone who needs it (and has the right to) has access to the services AsyncAPI uses. +- Make sure that regularly sucessions of the GB are done through a transparent voting process. +- Takes care of the funding management, e.g., Open Collective, Github Sponsors, etc. +- Must be a servant leader and has no power other than the specified in the [charter](./CHARTER.md). Everything that is proposed should be voted by the TSC. Please note that the list above is not an exhaustive list and should not be treated as a legal document but just for reference. -### Past directors +## Technical Steering Committee (TSC) members + +You can determine who is TSC member and has right to vote from [MAINTAINERS.yaml](MAINTAINERS.yaml) and [AMBASSADORS_MEMBERS.json](AMBASSADORS_MEMBERS.json), `isTSCMember` properties. We also transparently list all the TSC members in [AsyncAPI Website](`https://asyncapi.com/community/tsc`). + +Any maintainer and any ambassador can change their status by editing `isTSCMember` properties. + +## Voting + +TSC Voting process and all related rules are describe in detail in [voting procedure document](voting.md). + +GB election voting is a separate manual process run by current GB members: +- Vote should be sent to info@asyncapi.io not later than two weeks after elections start +- Vote should be a list of candidates that voter want to be GB members. If there are 2 slots available, voter should send 2 names, if 3 then voter should send 3 names. We follow [first-past-the-post](https://en.wikipedia.org/wiki/First-past-the-post_voting) voting process. Candidates with the highest number of votes win. + +## Past directors + +We no longer have Executive Directors in the project #### Fran Mendez -||| -|---|---| -|Email|fmvilas@gmail.com| -|AsyncAPI Slack|Fran Méndez (User ID: `U34F2JRRS`)| -|GitHub|https://github.com/fmvilas| -|Mastodon|https://social.fmvilas.me/@fran| \ No newline at end of file +| | | +| -------------- | ---------------------------------- | +| Email | fmvilas@gmail.com | +| AsyncAPI Slack | Fran Méndez (User ID: `U34F2JRRS`) | +| GitHub | https://github.com/fmvilas | +| Mastodon | https://social.fmvilas.me/@fran | + +### Lukasz Gornicki + +The current Executive Director is Lukasz Gornicki. + +| | | +| -------------- | -------------------------------------- | +| Email | lpgornicki@gmail.com | +| AsyncAPI Slack | Lukasz Gornicki (User ID: `UD698Q5LM`) | +| GitHub | https://github.com/derberg | +| Twitter | https://twitter.com/derberq | diff --git a/voting.md b/voting.md index 47bc821e4..ff9bb87d1 100644 --- a/voting.md +++ b/voting.md @@ -1,6 +1,8 @@ ## Overview -In the [search for the right governance model](https://www.asyncapi.com/blog/governance-motivation), we ended up defining a Technical Steering Committee (TSC) that can help make decisions related to the entire AsyncAPI Initiative and not only a specific repository. TSC voting is described in the official [Charter](https://github.com/asyncapi/community/blob/master/CHARTER.md#4-tsc-voting). +In the [search for the right governance model](https://www.asyncapi.com/blog/governance-motivation), we ended up defining a Technical Steering Committee (TSC) that can help make decisions related to the entire AsyncAPI Initiative and not only a specific repository. TSC voting is described in the official [Charter](CHARTER.md#4-tsc-voting). + +The Governance Board (GB) manages the voting process. To make the voting process easier with proper automation, we use [**Git Vote**](https://github.com/cncf/gitvote) bot. @@ -15,17 +17,29 @@ In the majority of cases, topics we vote on introduce new rules or ways of doing ### Voting Rules -* Only votes from [TSC members](https://www.asyncapi.com/community/tsc) are counted. You are still encouraged to participate in voting, even if your vote is not binding. -* TSC members have at least 7 calendar days to vote. As a community, we did not set an exact voting deadline and only have a rule that you can translate into: "Just be nice and give people at least 7 days to get familiar with the topic so they can vote." Our automation is set for 4 weeks to take into account all possible limitations related to holidays and other events. -* TSC members can skip some votes, although, if you do not have an opinion, please participate with 👀 to indicate that you saw a vote but you have no opinion and abstain. There is one strict rule, though: if you do not participate in voting within three months, you will stop being a TSC member. It has nothing to do, though, with your maintainer responsibilities. -* The vote is completed when more than 50% of the voting is in favor. +- Only votes from [TSC members](https://www.asyncapi.com/community/tsc) are counted. You are still encouraged to participate in voting, even if your vote is not binding. +- TSC members have at least 7 calendar days to vote. We have 4 weeks to reach quorum otherwise voting topic needs reassesment by the Governance Board. +- TSC members can skip some votes, although, if you do not have an opinion, please participate with 👀 to indicate that you saw a vote but you have no opinion, or cannot make public statement about it and abstain. There is one strict rule, though: if you do not participate in voting within three months, you will stop being a TSC member. It has nothing to do, though, with your maintainer responsibilities. +- The vote is completed when more than 50% of the voting is in favor. +- Only Govenance Board members can start the vote and close the vote. +- Quorum is required. The number depends on a current number of TSC members. We require majority to pass the vote. If TSC has 40 members, than we calculate quorum like: 51% multiply by 40. Assuming all votes are positive, we must have at least 21 people taking the vote. ### Voting Process +#### Propose a Vote + +1. Create an issue in the [community](https://github.com/asyncapi/community) repository. +2. Describe the topic of the vote and provide as much context as possible. +3. Tag GB members by mentioning `@asyncapi/gb` team asking for running a vote. +4. GB members will review the request: + - Check if vote is needed, + - What context is missing, + - Is larger debate with TSC is needed first. + #### Start Voting -1. The TSC member adds a `/vote` comment to an Issue or a Pull Request. -2. The Git Vote bot creates a comment with instructions on how the voting should be done. It is based on 👍🏼 , 👎🏼 and 👀 emojis. You can still put comments or suggestions. +1. The GB member adds a `/vote` comment to an Issue or a Pull Request. +2. The Git Vote bot creates a comment with instructions on how the voting should be done. It is based on 👍🏼 , 👎🏼 and 👀 emojis. You can still put comments or suggestions. 3. The AsyncAPI bot adds a `vote` label, making it easier to extract information about voted topics and participation. #### Check Status @@ -35,7 +49,7 @@ In the majority of cases, topics we vote on introduce new rules or ways of doing ### Cancel Voting -1. The TSC member adds `/cancel-vote` comment to an Issue or a Pull Request. +1. The GB member adds `/cancel-vote` comment to an Issue or a Pull Request. 2. The Git Vote bot creates a comment. 3. The AsyncAPI bot removes the `vote` label. @@ -45,19 +59,18 @@ Voting cannot be concluded with a comment; it ends when more than half of the us The Git Vote bot adds a comment that voting is completed. -### Tracking Voting +### Tracking Voting We store [the voting history of entire TSC](TSC_VOTING_OVERVIEW.md) since voting automation was introduces. -* 🔕 indicates that the member did not vote. -* 👍 indicates that the member was in favor. -* 👎 indicates that the member was against. -* 👀 indicates that the member abstained from voting. +- 🔕 indicates that the member did not vote. +- 👍 indicates that the member was in favor. +- 👎 indicates that the member was against. +- 👀 indicates that the member abstained from voting. Tracking file is automatically updated by a bot after each vote is completed. It also records whether the member has voted in the last 3 months, helping to identify inactive TSC Members. ### Note -* As per the [Charter](./CHARTER.md), a quorum is not needed. However, Git Vote has technical limitations, and a quorum should be reached. That's why we allocate 4 weeks for voting, and it's important to actively encourage participation to ensure that the quorum (where votes cast exceed 50% of eligible voters) is met. -* The abstain votes are included in the total number of votes; they are not removed. -* At present, Git Vote is enabled in the community repo only, and the Git Vote bot handles all voting processes. We will add Git Vote to other projects in the future. +- The abstain votes are included in the total number of votes; they are not removed. +- At present, Git Vote is enabled in the community repo only, and the Git Vote bot handles all voting processes. From 16d42f21146b3a5d2cc43982d1923a8c65485a0f Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Thu, 9 Jan 2025 14:13:59 +0100 Subject: [PATCH 2/2] applying mostly editorials MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Fran Méndez --- CHARTER.md | 22 +++++++++++----------- GOVERNANCE.md | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/CHARTER.md b/CHARTER.md index d4b5cdf9b..93edafe02 100644 --- a/CHARTER.md +++ b/CHARTER.md @@ -38,7 +38,7 @@ This Charter sets forth the responsibilities and procedures for technical contri 5. Voting members of the Technical Steering Committee (TSC) include committers of any Project's code repository and AsyncAPI Ambassadors. The TSC documents in the project’s GOVERNANCE file the method for determining voting members. 6. TSC members may resign anytime and also ask to be added to TSC list anytime, as long as the requirements are met. 7. Any meetings of the TSC are intended to be open to the public, recorded, and can be conducted electronically, via teleconference, or in person. -8. TSC projects generally will involve Contributors and Committers. The TSC may adopt or modify roles so long as the roles are documented in the Project’s GOVERNANCE file. +8. TSC projects generally will involve Contributors, Committers, and Ambassadors. The TSC may adopt or modify roles so long as the roles are documented in the Project’s GOVERNANCE file. 9. TSC members are expected to regularly participate in TSC voting. 10. In the case where an individual TSC member -- within any three-month period -- does not participate in TSC votes, the member shall be automatically removed from the TSC. 11. A TSC member may be removed from the TSC by the majority approval of the other TSC members. @@ -61,19 +61,19 @@ This Charter sets forth the responsibilities and procedures for technical contri 1. The Project Governance Board (the “Board”) will provide oversight and guidance on strategic and operational matters, but will not replace the TSC in making decisions, unless the TSC delegates some responsibilities to the Board. Exceptions will be specified in the GOVERNANCE document. 2. The Board must have five members. 3. The Board initially comprises three members and expands to five members after the first 12 months. -4. The Board member is elected for 24-month cadence. +4. The Board members are elected for 24-month cadence. 5. The Board member is also a TSC member with all it's rights. 6. The Board will follow a 12-month election cycle, with members eligible for re-election only once. -7. The Board elections are not managed as regular TSC vote. Details of the voting process will be specified in the GOVERNANCE document. -8. The Board member can be removed only upon resignation or the TSC majority vote. New Board member election must be organized withing 60 days. -9. The Board will appoint a chairperson from within its members. Cadence is 12 months. The chair can be replaced only upon resignation or the Board majority vote. -10. The Board chairperson coordinates work of the board and ensures it operates effectively. -11. The Board is responsible for presenting votes to the TSC. The Board is preparing and managing high-sensitivity issues before the vote especially in cases involving sponsorships, external partnerships, or policy considerations. -12. The Board assures effective voting process, participation and vote conclusion. +7. The Board elections will not be managed as regular TSC votes. Details of the voting process will be specified in the GOVERNANCE document. +8. A Board member can only be removed upon resignation or a majority of the TSC votes. New Board member election must be organized within 60 days. +9. The Board will appoint a chairperson from within its members every 12 months. The chairperson can only be replaced upon resignation or the majority of the Board members votes. +10. The Board chairperson coordinates work of the board and ensures it operates efficiently. +11. The Board is responsible for presenting votes to the TSC. The Board must prepare and manage high-sensitivity issues before the vote, especially in cases involving sponsorships, external partnerships, or policy considerations. +12. The Board must assure efficient voting processes, participation and vote conclusions. 13. Board members are expected to hold private monthly meetings under `Chatham House Rule` guidelines, with meeting summaries made available publicly. -14. Details on Board roles, duties, and operational processes are documented in a separate GOVERNANCE document for clarity and flexibility, covering: +14. Details on Board roles, duties, and operational processes must be documented in a separate GOVERNANCE document for clarity and flexibility. They should cover: - Management of finances to ensure sustainability; - - Engagement with external companies and sponsorship; + - Engagement with external companies and sponsorships; - Oversight of Project programs and initiatives; - Tools, people, and process management to support community growth; - Collaboration with the TSC on strategic initiatives. @@ -93,7 +93,7 @@ This Charter sets forth the responsibilities and procedures for technical contri 2. Quorum requirements and voting rules will be specified in the GOVERNANCE document. If quorum is not reached after four weeks, the vote will be canceled, and the Board will reassess the topic. 3. Except as provided in Section 6, decisions require a majority of votes. 4. Decisions must be always made offline, by electronic vote. -5. The voting process is described in the GOVERNANCE. In any case, TSC members must have no more and no less than seven calendar days to vote. +5. The voting process is described in the GOVERNANCE file. In any case, TSC members must have no more and no less than seven calendar days to vote. 6. Voting topics are proposed by the Board, which filters topics and prepares necessary context and guidelines before presentation to the TSC. ### 6. Amendments diff --git a/GOVERNANCE.md b/GOVERNANCE.md index e01e5f0c9..ad6eba246 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -1,8 +1,8 @@ ## Governance Board (GB) members -You can determine who is the current GB member from [MAINTAINERS.yaml](MAINTAINERS.yaml) and [AMBASSADORS_MEMBERS.json](AMBASSADORS_MEMBERS.json), `isBoardMember` and `isBoardChair` properties. We also transparently list all the GB members in [AsyncAPI Website](`https://asyncapi.com/community/board`) +You can determine who are the current GB members by filtering the [maintainers](MAINTAINERS.yaml) and the [ambassadors](AMBASSADORS_MEMBERS.json) with the ìsBoardMember` set to `true`. We also transparently list all the GB members in [AsyncAPI Website](`https://asyncapi.com/community/board`) -To become GB member you need to be a member of Technical Steering Committee (TSC). To become a member of TSC, you need to be either Ambassador or Maintainer. +To become a GB member, you need to be a member of Technical Steering Committee (TSC). To become a member of TSC, you need to be either Ambassador or Maintainer. ### Election