jupyter / software-steering-council-team-compass

Team compass page for the Jupyter Software Steering Council
https://jupyter-software-steering-council-team-compass.readthedocs.io/en/latest/
2 stars 4 forks source link

What does abstaining from a JEP actually mean? #4

Open Zsailer opened 11 months ago

Zsailer commented 11 months ago

In https://github.com/jupyter/enhancement-proposals/pull/101, an interesting voting pattern has emerged. We have 4 "Yes", 1 "No", and 4 "Abstain". Technically, this means that the JEP passes.

That said, passing this JEP as-is makes me extremely uncomfortable; especially since abstain votes actually appear to be soft-"No" votes or heavy hesitation towards the JEP. (See my comment on that thread.)

I think we should use this opportunity to improve our voting process.

Specifically, we should discuss what "Abstain" means.

### Tasks
Zsailer commented 11 months ago

I (personally) believe the only reason for an "Abstain" vote is because a member is unavailable during the voting period (maybe on vacation or leave). Hopefully, in that case, we can find someone else to temporarily represent. Right now, I think we're using "Abstain" too much—and we run the risk of allowing JEPs pass that don't have proper buy-in from the SSC or broader Jupyter community.

Before voting, every member of the SSC should have enough time/information to vote Yes/No in a way that represents their subproject's team's opinion. That also means that the SSC needs to be pro-actively engaging this process to be effective.

I don't believe "Abstain" should be used to reflect a person's lack of understanding/familiarity with a JEP topic. As I see it—if I don't feel knowledgable about a particular JEP, I think that's okay. My main job is to work with the e.g. Jupyter Server team to form a group opinion/decision about the JEP and represent them when voting. Realistically, I won't be able to understand the implications of every JEP fully, but hopefully I can find someone on the JS team to help evaluate it.

I'm curious what other people think.

minrk commented 11 months ago

I (personally) believe the only reason for an "Abstain" vote is because a member is unavailable during the voting period (maybe on vacation or leave).

We could try to write down some reasons for abstention, if that would help folks agree on what an abstention means.

I can't speak for others, but I abstained, and from me it's definitely not a soft 'no', it's an abstention. Abstention is not failure to vote (which would occur on leave, etc.), it's an explicit vote for "let the other people with stronger feelings or more explicit expertise decide." I don't feel like I have a strong opinion either way, and don't want to tip the scales voting a way I don't actually feel (I'm not opposed to the idea). It's an explicit "I saw this, I read it, and I trust the rest of the team to decide."

For example, I would also abstain from many JupyterLab-specific proposals, where I'd rather trust folks with more specific expertise. I expect we will and should have many abstentions, given the variety of tasks, responsibilities, and expertise we have, and the specificity of some JEPs.

ivanov commented 11 months ago

The decision making guide has a Voter participation and quorum section which calls out a blank vote, which is consistent with Min's interpretation above:

The quorum for all formal votes will be 50% and a “blank” option will always be included, with the “blank” option counting towards the quorum but not included in totals for calculating results.)

So it makes sense to map the "Abstain" votes to this "blank" option (which is analogous to the US legislative "present" option, which is used for quorum purposes only, not for or against)

Now having said that, I was not familiar with the details of that guide, because I found it surprising that it establishes a seven day voting period which seems short to me.

I think a lack of a vote is what should happen when someone is unavailable during a vote window.

Zsailer commented 11 months ago

Thanks, @minrk and @ivanov. Super well articulated and helpful.

This all makes sense and I agree. :+1:

One thing I'd push back on a little:

I expect we will and should have many abstentions

I actually hope this isn't the case; and maybe this gets to the root of my uneasiness.

My fear is it's too easy to use the "Abstain" vote to avoid diving into the details of a JEP. JEPs are important enough that they need as many reviewers as possible. Since each SSC member in a representative a group of people from a subproject, my hope is that in most cases the SSC Rep could solicit and gather enough well-informed input from their team to make an opinionated vote that represents their team.

BTW, I'm being a bit hypocritical here—I haven't been soliciting enough feedback from the Server Team. I guess I'm wondering/exploring whether this is the expectation we should hold of SSC.

ivanov commented 11 months ago

BTW, I'm being a bit hypocritical here—I haven't been soliciting enough feedback from the Server Team. I guess I'm wondering/exploring whether this is the expectation we should hold of SSC.

You're not alone in this. For starters, it's not reasonable to expect to be able to circle back with a team within the seven day voting period. Also, to me, one of the reasons for having a council-of-councils is to reduce the amount of "broadcast" all-to-all communication, given that anyone can still follow and participate in JEP discussions in an opt-in basis. Finally, I would argue that it is not desirable for SSC members to narrowly scope their participation as coming from the project they represent. I view the composition of the SSC as a way of ensuring there is representation from each of the sub-projects, not as a way of limiting each participant's role.

Zsailer commented 11 months ago

I view the composition of the SSC as a way of ensuring there is representation from each of the sub-projects, not as a way of limiting each participant's role.

This is so good. Well said, Paul. 🚀

fcollonval commented 11 months ago

Thanks for the discussion

My understanding is similar to the one expressed by @minrk But I see the point of Zach; in the worst case we could have a JEP final status taken by a single voter if all other abstain.

I guess we should modify the voting process to ensure a minimal of informed votes take place. If that minimum quorum is not reached, those abstaining should express their questions to be able to throw a yes/no vote.

minrk commented 11 months ago

That's a good point, I agree we should probably have a minimum of total votes.

krassowski commented 10 months ago

I am not sure if it it is ok for me to comment here as I am not a member of SSC - please feel free to ignore:

Since each SSC member in a representative a group of people from a subproject, my hope is that in most cases the SSC Rep could solicit and gather enough well-informed input from their team to make an opinionated vote that represents their team.

+1

For starters, it's not reasonable to expect to be able to circle back with a team within the seven day voting period.

+1

Also, to me, one of the reasons for having a council-of-councils is to reduce the amount of "broadcast" all-to-all communication, given that anyone can still follow and participate in JEP discussions in an opt-in basis. Finally, I would argue that it is not desirable for SSC members to narrowly scope their participation as coming from the project they represent.

Yes and no. As a non-member I greatly appreciate that in cases when decision is easy to make and has an initial consensus someone representing my sub-project(s) will vote "yes" and reduce the decision fatigue for all other sub-project members. However, if they were to vote abstain, or vote against a proposal, I really think that they should at least mention the JEP in the channels appropriate for a given sub-project, and they intend to vote in a specific way.

krassowski commented 10 months ago

"Abstain" vote is because a member is unavailable during the voting period (maybe on vacation or leave). Hopefully, in that case, we can find someone else to temporarily represent.

If SCC is to represent individual sub-projects, I think that this should be codified - and in that case there should be no "abstain because I am on holiday". I do believe SCC members should be able to enjoy uninterrupted holidays, but if that is the case there should be someone else representing the project nominated to vote during that time (and votes during major holiday periods should be avoided).

JohanMabille commented 9 months ago

Now having said that, I was not familiar with the details of that guide, because I found it surprising that it establishes a seven day voting period which seems short to me.

I agree that this voting period is very short. However, the Decision-Making guide also states that "The council may consider longer voting periods as necessary for special circumstances, or shorter periods only if all voting members are present". We can add a statement to the reviewed JEP process saying that the voting period is 2 weeks by default (which is what we have been doing for previous JEPs actually).

@krassowski Your comments are very welcome here, the work of the SSC is open and everyone in the community is welcome to give his opinion here, so thanks for your comments! I agree with you that SCC members should be able to enjoy uninterrupted holidays, and I think we behaved this way in the past: no voting triggered during August where most of us are on holidays, and extending the voting period when we know a SSC member is not available. As for the voting period, we can add statement in the JEP process if people feel more comfortable with that rather than the general (but more flexible) "longer voting periods as necessary for special circumstances,"

Regarding the abstention, would everyone agree with a 50% + 1 votes cast (i.e. not Abstain, not sure of the English here) to consider the result as the final result? If so, i'm happy to amend the reviewed JEP process to add it.

JohanMabille commented 9 months ago

Regarding the abstention, would everyone agree with a 50% + 1 votes cast (i.e. not Abstain, not sure of the English here) to consider the result as the final result? If so, i'm happy to amend the reviewed JEP process to add it.

There was another interesting proposal during the SSC meeting today, that would be to have two Abstain options:

I find this option better than requiring a minimal amounf of votes cast as it cannot block a JEP with too many abstentions, and it strenghens our role as representative rather than as leaders.