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

TSC Chair definition and election procedure #5071

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dzimine
Copy link

@dzimine dzimine commented Nov 3, 2020

TCS chair definition and election proposal, draft, per our last TCS meeting action item

This should be relatively straight-forward.

@dzimine dzimine requested review from a team as code owners November 3, 2020 03:18
@pull-request-size pull-request-size bot added the size/XS PR that changes 0-9 lines. Quick fix/merge. label Nov 3, 2020
@dzimine
Copy link
Author

dzimine commented Nov 3, 2020

Looking for an input on the mechanics of the voting.

  1. I did not consider an in-person TCS meeting vote for respect to timezones and other situations that are on the way to TCS member's meeting participation.
  2. Email would be easier if we were heavy users of mailing lists; but we are not.
  3. Github comes to mind. Maybe use a discussion for both nominations (posts by nominees) and the vote (comments by voters with numbered list of preferences)? Or maybe have a PR on the "OWNERS.md" Chair section and express votes in the PR reviews?

Better ideas on executing the voting most welcome.

Copy link
Member

@arm4b arm4b left a comment

Choose a reason for hiding this comment

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

Thanks for the effort.
This is great start of the discussion about the voting process mechanics! 👍

A few changes and notes left:

  • Nomination vs Voting period
  • Let the candidates provide statement of intent on why they would be a good person to hold this position and what are their plans and vision
  • Replace now obsolete "Leaders" role with "TSC Chair" role in the Governance
  • Private vote vs Public vote?

I also liked the minimalism and the clarity in this PR.

@@ -25,6 +25,15 @@ StackStorm uses a three-tiered system of Maintainer roles:
* Have good experience with the StackStorm codebase, expected to provide significant value to the project, helping it grow, improve and succeed.
* Have full member write access to [StackStorm](https://github.com/stackstorm/) and [StackStorm-Exchange](https://github.com/stackstorm-exchange) Github organizations, CI/CD, Moderator at [forum](https://forum.stackstorm.com/), [Slack](https://stackstorm.com/community-signup) and other Community platforms.
* Receive **one vote** in the voting process.
* [Chair](OWNERS.md#chair-)
Copy link
Member

Choose a reason for hiding this comment

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

As we’re moving to the other leadership model (from many to one), let’s please replace the current Leaders role group with the TSC Chair role.

Quick context is that Leaders were originally created to fit several people in the position of leadership. With the new chairperson role, this model becomes obsolete and needs a change.

Otherwise E_TOO_MANY_ROLES in the Governance, 5!

Copy link
Member

@punkrokk punkrokk Nov 3, 2020

Choose a reason for hiding this comment

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

@armab I don't think the spirit of this role is actually to replace the Leaders role. My understanding is it is a role for someone to volunteer and be elected to run the TSC meetings on behalf of the TSC group as a whole. While some of the Leaders responsibilities may be delegated to this role, it's not my understanding that it would replace Dmitri as Leader of the project. cc @StackStorm/tsc

Maybe the the role of Secretary would better communicate this. I would imagine this Secretary fills more of a position than a role.

Copy link
Contributor

Choose a reason for hiding this comment

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

Does this mean that the chair gets the 3 votes that were normally given to the Leadership role?

Copy link
Contributor

Choose a reason for hiding this comment

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

I originally though we still had the leadership role, but the chair was a responsibility that we'd alter every n months. Keeping the leadership role would keep continuity.
So I like @punkrokk difference between position/role, but prefer the position to be named chair than secretary, as I think it is more than what you'd associate with a secretary position.

Copy link
Member

@arm4b arm4b Nov 3, 2020

Choose a reason for hiding this comment

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

I've attended KubeCon/CloudNativeCon and 2 OpenSource Summits this year which are all about the LF and CNCF projects

I would say that TSC Chair is pretty much a Leadership role for the project, apart of just running the meetings.
It's literally head of the TSC. During the nomination phase TSC Chair normally provides his "statement of intent" describing the project vision, plans, etc. And so why Election is important.

Now look at the Maintainer Roles:

Leaders
    Head of Technical Steering Committee (TSC).
    Responsible for Project Strategy

When Governance was drafted, initially we decided instead of adding 1 TSC Chair to add many Leaders that would be responsible for all this. We defined many Leader(s) to make sure it fits @dzimine and @LindsayHill. Now if we add one TSC Chair, it naturally should replace the Leaders per original idea and consistency.

So or define one TSC Chair or keep many TSC Leaders as is.

Copy link
Member

@arm4b arm4b Nov 3, 2020

Choose a reason for hiding this comment

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

Here are more questions:

  • If we want to keep the Leaders, can the TSC Chair be also part of the Leaders group?
    • If not, why?
    • If yes, isn't it confusing for 1 person to be part of 2 groups/roles/positions/whatever? Why complicating?
  • If TSC Chair is an overall a Leadership role, is he automatically a member of the Leaders too?
    • If not, why?
    • If yes, why another chair role needed? (see below)
  • If we add the TSC Chair just as a meeting runner (which I believe is not what Project Chairperson is), why this couldn't be distributed between the TSC Leaders in a more simple manner?

What the existing Governance tells:

  • Leaders
    • [...]
    • Responsible for Project Strategy, External Relations, Organizational aspects, coordinating Events, Partnerships.

Based on that, Isn't a TSC Meeting an Organizational aspect and Coordination Event?
TSC Chair is normally responsible for External Relations as well. This is what LF recommends. Do you recognize now these signs that Leaders were created to reflect the TSC chairperson responsibilities?

^^ Having said that, to keep the Governance consistent, this needs more work around re-defining roles. Otherwise we'll have more confusion rather than clarity with 5 different roles.

* capturing and tracking agreed actions
* tracking project plans, ensure their currency and facilitating execution

Election procedure: any TSC member can be nominated or self-nominate to the Chair role. The term is 6 months, with no limit on the number of terms. TSC members vote publically via [PR, email?]. Voters rate candidates on a ballot in the order of preferences; same preference can be given to multiple candidates. A winner is selected using [Shulze variant of Condorset method](https://en.wikipedia.org/wiki/Schulze_method). Tie is broken with [Governance voting](https://github.com/StackStorm/st2/blob/master/GOVERNANCE.md#conflict-resolution-and-voting).
Copy link
Member

@arm4b arm4b Nov 3, 2020

Choose a reason for hiding this comment

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

Looking at the other LF projects election process would be great to follow the practices like:

  • Nomination phase: 1 week? - This is a stage when members self-nominate and provide their statement of intent on why they would be a good person to hold this position and what are their plans and vision. I think https://github.com/stackstorm/discussions perfectly fits that as existing platform.
  • Election phase: 1 week - this conforms with the voting period 1 week, per existing st2 Governance.

Copy link
Contributor

Choose a reason for hiding this comment

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

1 week for each seems fair

Copy link
Contributor

Choose a reason for hiding this comment

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

Does there need to be a quorum as well on the voting, so at least 60% of TSC members have voted?

Copy link
Contributor

Choose a reason for hiding this comment

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

I like the idea of a quorum. ..but what happens if the election phase passes (i.e. >1w) and there's not a quorum?

* [Chair](OWNERS.md#chair-)

The char is designated from TSC members every 6 months. The Chair responsibilities are:
* maintaining project policies and procedures
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
* maintaining project policies and procedures
* Representing the TSC and the technical community within and outside of StackStorm.
* Maintaining project policies and procedures.

this, for example, includes communication with the Linux Foundation which is one of the TSC chair responsibilities and recommended by the LF.

@arm4b
Copy link
Member

arm4b commented Nov 3, 2020

A winner is selected using Shulze variant of Condorset method.

Talking about Voting mechanism, seen that in other projects too 👍
LFN Chair Election Process (https://wiki.lfnetworking.org/display/LN/2020+TAC+Chair+Election) has a good description we could follow as an example.

More info about the mechanics of voting:
https://wiki.onap.org/display/DW/Voting+Best+Practices

It suggests using the 3rd party neutral platform for Voting:
https://civs.cs.cornell.edu/

So the system will send a one-time voting link to the TSC folks via email we have included for the Vote. Used by some LF projects, this would allow us to do an automated and private voting.

Update: Because StackStorm Governance assumes different voting points for the different Maintainer groups, we need to do the voting calculation on our own.

@arm4b
Copy link
Member

arm4b commented Nov 3, 2020

Updated previous ^^ comment to take into account the voting points.

Also, do we need Private or Public voting?

  • In case of Public one, - I agree with @dzimine that just "comment voting" in the github discussion (statement of intent) originally created by the each nominee would work.
  • In case of Private vote, - may need help of someone from TSC who will be coordinating the vote?

@amanda11
Copy link
Contributor

amanda11 commented Nov 3, 2020

Updated previous ^^ comment to take into account the voting points.

Also, do we need Private or Public voting?

  • In case of Public one, - I agree with @dzimine that just "comment voting" in the github discussion (statement of intent) originally created by the each nominee would work.
  • In case of Private vote, - may need help of someone from TSC who will be coordinating the vote?

Is their any consensus or guidance from LF as to whether voting is private or public?

@arm4b
Copy link
Member

arm4b commented Nov 3, 2020

@amanda11 From what I understand Voting Mechanism is up to TSC to decide. We however can do our research and find more examples of TSC Chair voting for the LF/CNCF projects, - which mechanism is used more frequently and follow that.

Also during the TSC Meeting today StackStorm/community#55 @nmaludy noted that having a public vote would be easier and I agree. If there are no strong believers in a private vote, - we could just go with the public one in Github Discussion(s). @StackStorm/tsc WDYT?

@amanda11
Copy link
Contributor

amanda11 commented Nov 3, 2020

I have no objection for having the vote public - it's nice and transparent then

@@ -25,6 +25,15 @@ StackStorm uses a three-tiered system of Maintainer roles:
* Have good experience with the StackStorm codebase, expected to provide significant value to the project, helping it grow, improve and succeed.
* Have full member write access to [StackStorm](https://github.com/stackstorm/) and [StackStorm-Exchange](https://github.com/stackstorm-exchange) Github organizations, CI/CD, Moderator at [forum](https://forum.stackstorm.com/), [Slack](https://stackstorm.com/community-signup) and other Community platforms.
* Receive **one vote** in the voting process.
* [Chair](OWNERS.md#chair-)

The char is designated from TSC members every 6 months. The Chair responsibilities are:
Copy link
Contributor

Choose a reason for hiding this comment

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

typo:

The char is designated
should be
The chair is designated

@punkrokk
Copy link
Member

A few thoughts after re-reading this:

  • I believe a quorum is absolutely necessary. Not of significant importance should happen without a quorum. A forcing function must be in place which does not rely on lack of participation equaling a nay.
  • I have a desire to implement a management structure which allows for the Chair (@dzimine ) to delegate or allow voting for a person to be the COO of the TSC and manage day to day tasks with guidance. Which is what we are effectively doing at the moment.
  • I believe that the current structure of the project creates an imbalance of transparency across the tiers of the TSC. For example, I for one, keep learning about new things I didn't know about with. For example, we have no transparency around number of inbound leads. I still hear about new components to marketing and technical operations on a seemingly monthly basis. This should be addressed and it creates the appearance of an absence of information for some parties.

@stale
Copy link

stale bot commented Jun 2, 2021

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically marking is as stale. If this issue is not relevant or applicable anymore (problem has been fixed in a new version or similar), please close the issue or let us know so we can close it. On the contrary, if the issue is still relevant, there is nothing you need to do, but if you have any additional details or context which would help us when working on this issue, please include it as a comment to this issue.

@stale stale bot added the stale label Jun 2, 2021
@CLAassistant
Copy link

CLAassistant commented Sep 6, 2021

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Dmitri Zimin(e) seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@stale stale bot removed the stale label Sep 6, 2021
@cognifloyd cognifloyd added the TSC PR managing GOVERNANCE or other TSC documentation label Oct 3, 2021
@stale
Copy link

stale bot commented Apr 16, 2022

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically marking is as stale. If this issue is not relevant or applicable anymore (problem has been fixed in a new version or similar), please close the issue or let us know so we can close it. On the contrary, if the issue is still relevant, there is nothing you need to do, but if you have any additional details or context which would help us when working on this issue, please include it as a comment to this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size/XS PR that changes 0-9 lines. Quick fix/merge. TSC PR managing GOVERNANCE or other TSC documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants