diff --git a/TSC_MEMBERSHIP.md b/TSC_MEMBERSHIP.md index 95d5e556b..7c67128a9 100644 --- a/TSC_MEMBERSHIP.md +++ b/TSC_MEMBERSHIP.md @@ -1,48 +1,89 @@ -# BECOME A TSC MEMBER! +# Become a Technical Steering Committee (TSC) Member -In this article, you will learn how to become a member of the AsyncAPI Technical Steering Committee (TSC). You will know how to contribute, how to become a committer (maintainer), and the benefits of being a TSC member. +This article walks you through the journey of becoming a member of the AsyncAPI Technical Steering Committee (TSC). This journey includes: +* Actively contributing to the AsyncAPI Initiative projects +* Becoming a maintainer +* Becoming a TSC member -The following areas are covered: +This article also explains the benefits of being a TSC member. + +## Contents * [What is the Technical Steering Committee?](#what-is-the-technical-steering-committee) * [Why was the TSC formed?](#why-the-tsc-was-formed) * [Benefits of becoming a TSC member](#benefits-of-becoming-a-tsc-member) * [How to become a TSC member](#how-to-become-a-tsc-member) * [How to reach out to the TSC](#how-to-reach-out-to-the-tsc) -If you prefer video, watch our [YouTube video on becoming a TSC member](https://www.youtube.com/watch?v=uG_aLF9Z1F0). +If you prefer video, watch our [YouTube video on becoming a TSC member](https://www.youtube.com/watch?v=MfVUUbW2aos). **Common terms**: -* **Maintainers**: Are Contributors who have earned the ability to modify (“commit”) source code, documentation, or other technical artifacts in a project’s repository (“Committers”); They are also referred to as CODEOWNERS on [GitHub](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) -* **Contributors**: Include anyone in the community that contributes code, documentation, pull request reviews, designs, or other technical artifacts to the Project (“Contributors”); +* **Contributors**: Anyone in the community who contributes code, documentation, pull request reviews, designs, or other technical artifacts to the Project ("Contributors"); +* **Maintainers**: Contributors who have earned the ability to modify ("commit") source code, documentation, or other technical artifacts in a project's repository ("Committers"). They are also referred to as CODEOWNERS on [GitHub](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) ## What is the Technical Steering Committee? -The TSC is a group of maintainers that contribute to the maintenance of the AsyncAPI Initiative. This group helps make decisions that affect the entire initiative, not only a single project. The TSC members commit to participate in the voting process. +The Technical Steering Committee is a group of maintainers who contribute to the maintenance of the AsyncAPI Initiative. This group helps make decisions that affect the entire initiative, not just a single project. The TSC members commit to participating in the voting process. ## Why the TSC was formed The concept of the TSC was formed when AsyncAPI joined the Linux Foundation in 2021 to guarantee a system of open governance that promotes ownership and neutrality of all participants in the initiative. - -Some of the principles of the Linux Foundation partnership include: -* No founding members with special privileges -* Equality among all contributors -* Asynchronous decision making -* Every maintainer is allowed to become a TSC member automatically + +The TSC is the core of the AsyncAPI Initiative's governance model. Check [this article](https://www.asyncapi.com/blog/governance-motivation) to learn more on why did we choose it. + +## Governance principles +* The Executive Director and the TSC manage the project. The Executive Director role will be abolished by the end of 2024 or early 2025, and the TSC will take over. +* Membership is unlimited. As long as you maintain a repository, you'll remain a TSC member. +* Only 1/4 of the company can participate. For example, if there are 20 TSC members, only 5 can be from the same company to prevent a majority vote based on active contributions. +* Radical transparency: + * All official meetings are public. + * No secret or private channels for decision-making. + * Decision-making is asynchronous. Public meetings end with a summary and a proposed topic for a decision, allowing non-participants to decide and influence it. +* Inclusivity: TSC welcomes people hired by companies to work on the project, as well as individuals from other companies or contributors willing to help the AsyncAPI Initiative. + +Check [this article](https://www.asyncapi.com/blog/radical-transparency) to learn more on why do we want to be that transparent. + +## Duties +There is only one duty: regularly participate in TSC discussions and voting. + +As TSC doesn't override maintainers' decisions, they are involved in topics affecting the entire organization. + +Possible topics: +* Accept new projects - when an existing open-source project wants to join the AsyncAPI umbrella (owner wants to donate the project to the AsyncAPI Initiative). The process is about to inform TSC members about the project's purpose, why it is donated, who will maintain it so that TSC decides if the project can be accepted. +* Archive inactive projects without regular maintenance. +* Programs organization that affect the whole organization, not a single repository: + * Ambassador program + * Bounty program +* Budget approval to allocate sponsorship funds for different initiatives. +* Conflicts resolution - TSC resolves tech-related conflicts, while there is also a dedicated committee that handles personal conflicts related to the Code of Conduct. + +Soon, there will be an automation based on [gitvote](https://github.com/cncf/gitvote) to enhance TSC's voting efficiency. So whenever there a need to participate in a discussion or vote, the voting will consist of three emojies: +* 👍 (vote for) +* 👎 (vote against) +* 👀 (no opinion about a particular topic. So you may, for example, acknowledge a topic if you're not experienced in some area being voted/discussed). + +### Get notified about TSC discussions and voting +* Slack #95_bot-tsc-members-mentioned - the bot alerts TSC members to voting or discussion requirements. +* Subscription form https://www.asyncapi.com/community/tsc +* GitHub Notifications: @asyncapi/tsc_members ## Benefits of becoming a TSC member -As a TSC member, you will enjoy the following benefits: +As a TSC member, you will enjoy the following benefits: * Recognition from the AsyncAPI community -* Exposure of your portfolio to potential employers + * TSC members can apply for free conference tickets before anyone else. + * TSC members are first asked for help with the Master ceremony, exposing them to the community and assisting with questions. +* Exposure of your portfolio to potential employers as recognition facilitates career advancement. * Involvement in the voting process on topics concerning the entire Initiative * Being a part of key decision-making for the Initiative. Especially related to finance. +* A unique experience in shaping the initiative's future and open-source development. +* TSC members form the base for different initiatives and programs, known as "sub-committees". ## How to become a TSC member -Any maintainer can become a TSC member, meaning that to join the TSC, you need to be a maintainer of one of the projects in the AsyncAPI Initiative. +To become a TSC member, you must be a maintainer of a project within the AsyncAPI Initiative. -You can become a maintainer by doing at least one of the following items within the AsyncAPI Initiative GitHub organization: -* Initiate a new repository/project and become its maintainer. -* Donate to the existing repository/project and stay as its maintainer. -* Support and commit to existing projects and be invited by other maintainers to join them as a maintainer. Learn more in [Become a maintainer in an existing project](https://github.com/asyncapi/community/blob/master/Become-maintainer-in-existing-project.md) +You can become a maintainer by either: +1. Initiating a new repository or project and becoming its maintainer. +2. Donating to an existing repository or project and continuing to maintain it. +3. Supporting and committing to existing projects, and being invited by other maintainers to join them as a maintainer. For more information, refer to [Become a maintainer in an existing project](https://github.com/asyncapi/community/blob/master/Become-maintainer-in-existing-project.md). -Joining the TSC is something that you are allowed to do as a maintainer by default, as described in the [charter signed with the Linux Foundation when AsyncAPI joined the foundation](https://github.com/asyncapi/community/blob/master/CHARTER.md). It is not a subject that other TSC members vote on. +There's no invitation flow to join the TSC, this is something that you are allowed to do as a maintainer by default, as described in the [charter signed with the Linux Foundation when AsyncAPI joined the foundation](https://github.com/asyncapi/community/blob/master/CHARTER.md). In other words, if you maintain a repository in the AsyncAPI organization and want to help more than one project, you're free to open a PR, add your name to the TSC list, and that's it. It is not a subject that other TSC members vote on, so nobody can question your decision. See current [TSC members](https://www.asyncapi.com/community/tsc). @@ -52,5 +93,5 @@ There are several ways to reach out to the TSC members: * Mention the `@asyncapi/tsc_members` GitHub team in any issue, discussion, or pull request. This will also send a message in the `95_bot-tsc-members-mentioned` channel in Slack. > [!IMPORTANT] -> Please note that the TSC members are volunteers and may not respond immediately. +> Please remember that the TSC members are volunteers and may not respond immediately. > Please be patient and respectful. Also, it will be helpful if there is as little spam as possible. For more information, please refer to the [Slack Etiquette](./slack-etiquette.md) document.