-
-
Notifications
You must be signed in to change notification settings - Fork 113
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
base: master
Are you sure you want to change the base?
Conversation
@@ -4,6 +4,7 @@ profiles: | |||
pass_threshold: 51 | |||
periodic_status_check: "1 week" | |||
close_on_passing: true | |||
close_on_passing_min_wait: "7 days" |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great 💯
<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] |
There was a problem hiding this comment.
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
GOVERNANCE.md
Outdated
|
||
### 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`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
of course https://asyncapi.com/community/board to be implemented once we agree with the PR shape and conclude a vote in future
|
||
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: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is the most complex part for me as we never did such board elections
implementing any tool for it do not make sense for me upfront. I checked Apache Foundation but their elections are super complex. I'd love to hear opinions on why https://en.wikipedia.org/wiki/First-past-the-post_voting would not work, and what is better - and still easy to explain
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. |
There was a problem hiding this comment.
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
@asyncapi/tsc_members please have a look and let us start a debate |
One more comment to clarify, in case someone is worried something wrong is happening to the AsyncAPI Initiative, that I go away, that we're going down or whatever. Don't worry, AsyncAPI Initiative is no longer Fran or Lukasz. We are too big and too strong to depend on a single person. When I was appointed to the Executive Director role back in 2023 I already mentioned in my intro article that my main goal is to take AsyncAPI out of the startup period -> https://www.brainfart.dev/blog/asyncapi-executive-director#my-vision-for-ending-the-startup-period
It just got a bit more complex and delayed because of Postman layoff. No chance to do individual calls with all TSC members. Thus we just do the usual public debate. So GB introduction is not because of Postman layoffs. It is just delayed few months because of layoffs. I'm not going away. I will need to do a knowledge transfer to GB. It will take a lot of time, months, and I will probably do it by submitting my application to become part of GB. We will see. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is pretty cool, Lukasz. Did a first round of reviews. There's probably more stuff but I got "legal document fatigue" 😂
Co-authored-by: Fran Méndez <[email protected]>
@asyncapi/ambassadors please feel free to participate and share your thoughts |
I haven't fully digested all of this yet, but just wanted to share an initial reaction. I think separating out technical leadership (e.g. what should the spec contain) from organisational matters (e.g. appropriate usage of sponsorship) is a very positive and welcome step, so thanks for kicking off this debate @derberg ! |
@thulieblack @fmvilas made some changes basing on your feedback. Unfortunately because of numbers change git shows big change in CHARTER: 91aab15 which is not helpful. What I basically change there was remove info about 5 members, removed info about 12m chairperson cadence, and wrote that more will be in GOVERNANCE (and I've put info there). Also GOVERNANCE holds info about election communication |
@dalelane thanks
This change does not address that aspect directly. It for sure opens doors to move some responsibilities to the Board:
But this PR is focused mainly on replacing the Executive Director with the Board and enabling Ambassadors to join TSC. At the moment |
Sorry for being late to party. I'm also totally with the points @dalelane brought up. I appreciate that ambassadors get the opportunity to join when being elected if I got it right. |
Caution
This is not a call for a vote. This is a call for debate. I did this in a form of PR because I could not find a better way to present my initial idea, other than updating the current docs – to also point out the most relevant docs that need to be part of the debate. Everything here is subject to change/improvement. This is only my proposal, and if you think there are issues (for example, ambassadors should not be TSC members), then please let us have a debate and figure out the best solution.
In short, the most important things to note are:
TSC is retaining its power
More details: TSC is still critical in running the initiative successfully. Only people who WORK on the project may decide on its direction.
TSC is no longer only maintainers but also ambassadors
More details: When the initial charter was created, we could only determine people who WORK on the project by whether they were maintainers or not. Now, after running the AsyncAPI Ambassador program for over two years, it is clear that there is another group in the community that works hard for the success of the AsyncAPI Initiative -> AsyncAPI Ambassadors. They might not have time to maintain repositories, but they travel to conferences, write articles, or support other community initiatives that make AsyncAPI successful. Also, because they have a closer connection with users and direct access to their feedback, they should be involved in the voting process that decides the project's direction.
The Executive Director role is removed and replaced with a Governance Board, elected from within TSC members
More details: There is no revolution here. The board does not gain any power over the TSC. The board is just to make sure that one director/person is replaced with 3–5 people. We need to safeguard the project against potential disruptions in the tech market, such as layoffs, burnout, and other challenges. The board is like Marshals, with one in the role of chair—they ensure processes are followed (in short). I guess it is similar to the Speaker of the House of Representatives in the USA.
The board operates under
Chatham House Rule
—kind of privateMore details: The board replaces the director. I, as director, had multiple private conversations with potential sponsors, the Linux Foundation on financial aspects, or events organization. There are a significant number of private talks that I have when preparing the budget and others. There is no decision-making in these conversations—it’s just that they are too close to business and people’s work-life to be held publicly. Later, the community only sees, for example, that there is a new sponsor or the budget proposal (without all the work behind it).
The board needs to operate under the same rules, and luckily, we are not the first ones to do it. I actually copied this from another community where such a setup is also needed to ensure people can speak openly: https://todogroup.org/community/get-started/#step-1-join-the-todo-chat-forum-and-osponews.
The board is the only group that can start the voting
More details: Nothing really new here. As director in the past, I was involved in most voting calls as an initial reviewer, helping find all the answers, sharing opinions, and sometimes even preparing the vote. This was only to assure a smooth voting process without mistakes and to call the vote only when it was 100% ready. The board cannot block a vote; they need to help get it in place.
Another example is a recent vote I called for UN endorsement. The more mature we become as a community, the more complex topics will arise. Such voting topics should first be prepared and discussed by the board. The board could not refuse to take a vote on the topic but could help ensure the message is clear and there are no doubts.
Board election—this one is tricky. The current voting process cannot really handle this; we need some custom manual solution.
NOTE: Once we are happy with changes in the Charter, it will also have to be approved by LF.
Also, I put some more inline comments in the PR to explain particular changes.
NOTE: I'm not sure we need to update the Charter on how the first board election is done. I guess it is obvious that once we approve this PR and get it merged, we will immediately start the election cycle. We could also agree that this PR is merged after the first election, with some updates made as a result of learning from the first election.
TODO: