Skip to content
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

chore: introduce governance board #1634

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitvote.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ profiles:
pass_threshold: 51
periodic_status_check: "1 week"
close_on_passing: true
close_on_passing_min_wait: "7 days"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new feature CNCF added on our request 💪🏼 now we can really hold a vote open for 7 days, to respect TSC members time

allowed_voters:
teams:
- tsc_members
93 changes: 58 additions & 35 deletions CHARTER.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
---
<p align="center"><strong>Technical Charter (the “Charter”)</strong></p>
<p align="center">
for</br>
AsyncAPI Project a Series of LF Projects, LLC</br>
Adopted 03-19-2021
Adopted 03-19-2021, Amended [TODO:set a date once agreed with LF]
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LF is super slow in responses, so we will eventually apply lazy consensus, when we agree and long term vote that change is needed, we will wait for them some time and then merge if no veto

</p>

<!-- TOC -->

- [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)

<!-- /TOC -->

Expand All @@ -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.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my perspective, a director, who knows GB is not taking power away from TSC - I think the only controversial part of the proposal is to let Ambassadors be part of TSC

correct me if I'm wrong

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, 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.
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;
Expand All @@ -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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why 5? I get it has to be an odd number but why not 3 or more than 5? I'm honestly curious.

3. The Board initially comprises three members and expands to five members after the first 12 months.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related to the previous point. What about we don't make it a fixed number and instead we say something like "The Board must have either 3 or 5 members". 5 is just an example here.

4. The Board members are elected for 24-month cadence.
5. The Board member is also a TSC member with all it's rights.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
5. The Board member is also a TSC member with all it's rights.
5. The Board members are also TSC members with all their rights.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused about this. Does it mean that Board members must be TSC members before they're even elected Board members? Or can someone who's not in the TSC be elected a Board member and therefore they become a TSC member?

6. The Board will follow a 12-month election cycle, with members eligible for re-election only once.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 So people are elected for 24 months but they have to face elections every 12 months? Wouldn't it be confusing? What about we change point 4 above to be 12 months too? Or we run elections every 24 months?

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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we put a time limit in which these summaries must be available?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth to mention, Imho, the expectations of such a summaries. For example, and not limited to, a link to the recording + the transcription.

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 sponsorships;
- 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”);
Expand All @@ -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 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.

### 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:
Expand All @@ -88,24 +111,24 @@ 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.
3. When amending or adopting any policy applicable to the Project, LF Projects will publish such policy, as to be amended or adopted, on its web site at least 30 days prior to such policy taking effect; provided, however, that in the case of any amendment of the Trademark Policy or Terms of Use of LF Projects, any such amendment is effective upon publication on LF Project’s web site.
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.
Expand Down
Loading
Loading