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

Proposal: let's publish aggregate vote results #156

Open
afshin opened this issue Jul 27, 2022 · 9 comments
Open

Proposal: let's publish aggregate vote results #156

afshin opened this issue Jul 27, 2022 · 9 comments
Labels
question Further information is requested

Comments

@afshin
Copy link
Member

afshin commented Jul 27, 2022

Context

Currently, the Jupyter Steering Council votes by listing each member of the SC by name on an issue and associating their name to their vote in an asynchronous voting process that takes 4 weeks.

The JupyterLab Council follows the same mechanics except with a shorter voting period.

Problem

The absence of a secret ballot and the asynchronous nature of a multi-day voting period creates situations where:

  • some voters may wait to see how others have voted before voting
  • some non-voting observers may keep track of how individuals vote and visit unwanted attention upon members of the JupyterLab Council
  • some voters may have concerns about voting their true preference because of the public nature of the vote

These problems are not abstract, in the Jupyter Steering Council, we have seen cases of individuals declining to vote because their vote would be public. We also see a reluctance to vote NO for likely similar reasons.

Proposal

Let's hold JupyterLab Council (@jupyterlab/jupyterlab-council) votes in GitHub discussions viewable only to current members of the JupyterLab Council. The issue being voted on can be a top-level discussion item.

  • YES votes could be marked with 👍 on the discussion.
  • NO votes could be marked with 👎 on the discussion.
  • ABSTAIN votes could be marked with 👀 on the discussion.

After the voting period has elapsed (cf. #154), we can publicly publish the aggregate results in the relevant team-compass issue for transparency on decision-making.

Examples

A vote passes

✅ ACCEPTED 8 YES, 1 NO, 2 ABSTAIN
Voting period 14 July 2022 - 21 July 2022
Quorum 11/14 of JupyterLab Council

A vote fails (with quorum)

❌ REJECTED 2 YES, 2 NO, 4 ABSTAIN
Voting period 14 July 2022 - 28 July 2022 (extended to 2 weeks)
Quorum 8/14 of JupyterLab Council

A vote fails (without quorum)

❌ REJECTED 5 YES, 0 NO, 0 ABSTAIN
Voting period 14 July 2022 - 28 July 2022 (extended to 2 weeks)
No quorum 5/14 of JupyterLab Council
@afshin afshin added the question Further information is requested label Jul 27, 2022
@isabela-pf
Copy link
Contributor

Thanks for raising this issue! This makes sense to me, and I'm happy to see a solution replying to a concrete problem.

@adpatter
Copy link

adpatter commented Aug 4, 2022

I think the rationale for the secret ballot proposal is valid; however, I think there is a lot to be said for transparency.

Take, for example, a scenario where a member of governance acted as a proxy for their company. Here we have a conflict of interest that I think could reasonably be mitigated to some extent by transparency.

Protection of individual privacy is really important. However, members of governance are in a privileged position of power whose actions extend far beyond themselves. Their actions affect the entire community. I think it is a reasonable expectation and responsibility for persons in this kind of position to give up privacy in order for their actions to be effectively audited by the community that they serve.

Further, transparency can elicit constructive discussion regarding decisions made. And, I think it sets a good example.

@afshin
Copy link
Member Author

afshin commented Aug 4, 2022

Thanks for engaging with this proposal, @adpatter.

I would argue that people who put their time and effort into working on projects are entitled to a say. I don't think having a say in making one decision or other should come with the burden that anybody on the internet can see how one person in particular voted.

In this proposal, the individual members of a voting group can see each others' votes if they care to. So if they notice some sort of problematic trend in the voting, then can address that. I still would argue that a secret ballot protects more than it obscures.

@adpatter
Copy link

adpatter commented Aug 4, 2022

@afshin "I would argue that people who put their time and effort into working on projects are entitled to a say." I would agree; hence, the need for community-wide transparency when governing decisions are made.

@afshin
Copy link
Member Author

afshin commented Aug 4, 2022

I think you and I would agree that transparency requires:

  • knowing a vote was held
  • knowing who had a say
  • knowing what the result of the vote was and its margins

Where we disagree is: I don't believe I'm entitled to know who my neighbors vote for and I don't believe that information belongs on the internet (I imagine in the case of national elections you agree); I think a similar rationale for a secret ballot is applicable here. Let's consider your example:

where a member of governance acted as a proxy for their company

I think your prescription here is precisely the opposite of my intuitions. If I want to make sure my boss and/or company can't coerce my vote, then I need my vote to be a matter of conscience and protected behind a secret ballot. Otherwise my employer can visit retribution on me for voting counter to their interests.

@adpatter
Copy link

adpatter commented Aug 4, 2022

@afshin Is the proposed secrecy with regard to votes on issues or votes on representation? Perhaps I misunderstood the proposal.

@afshin
Copy link
Member Author

afshin commented Aug 4, 2022

The proposal is that any time the JupyterLab Council needs to call a vote, the votes cast by individual members of the JupyterLab Council should be known only to the members of the JupyterLab Council, but the vote result (including exact numbers) should be made publicly available, whether that vote is held because:

  • there is no consensus on an issue so a vote has been called
  • an election is being held for the JupyterLab representative to the Software Steering Council
  • someone has been nominated to be a member of the JupyterLab Council

@jasongrout
Copy link
Contributor

someone has been nominated to be a member of the JupyterLab Council

My understanding is that single nominations and the resulting vote to be a member of a council have been private because (a) is it in the best interests of the community if a person is known to be nominated, but not voted in, or that (b) if a person was voted into the council, that it is known that they barely made it in and there was significant opposition?

@afshin
Copy link
Member Author

afshin commented Aug 4, 2022

@jasongrout you're right, that third point is not actually entailed in this proposal because we already hold membership votes privately. I've struck through that line above. Thanks!

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

No branches or pull requests

4 participants