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

What does abstaining from a JEP actually mean? #4

Open
Zsailer opened this issue Jul 31, 2023 · 12 comments
Open

What does abstaining from a JEP actually mean? #4

Zsailer opened this issue Jul 31, 2023 · 12 comments

Comments

@Zsailer
Copy link
Member

Zsailer commented Jul 31, 2023

In jupyter/enhancement-proposals#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

No tasks being tracked yet.
@Zsailer
Copy link
Member Author

Zsailer commented Jul 31, 2023

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

minrk commented Aug 1, 2023

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

ivanov commented Aug 3, 2023

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

Zsailer commented Aug 3, 2023

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

This all makes sense and I agree. 👍

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

ivanov commented Aug 4, 2023

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

Zsailer commented Aug 4, 2023

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

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

minrk commented Aug 8, 2023

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

@krassowski
Copy link
Member

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

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

JohanMabille commented Sep 25, 2023

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

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:

  • A "not educated to the topic, asking help to the subproject". This will automatically extend the voting period for one week, allowing a subproject representative to ask help / opinion from members from his subproject.
  • the "blank" vote, as we have now, that would be the final vote.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants