Skip to content

[meta] settle on a voting solution #1165

Closed
@aduh95

Description

@aduh95

Every time we have to vote on a non-binary issue (where there are more options than "yes", "no", and "abstain"), we have to discuss what tool to use, and I think it'd be useful to have a "blessed" tool for voting.

I've proposed my own Caritat tool for the most recent vote, here are a few things I didn't like about it:

  1. The code is not controlled by the project.
  2. Only one individual was in power of closing the secret and revealing the ballots; that gives this individual a lot of power which I felt uncomfortable about.
  3. I've gotten feedback saying that the number of options was a bit overwhelming.

For those points, there are workarounds:

  1. Move the repo under the nodejs org.
  2. Distribute the trust. I have in mind a system where we would have a shared secret that can be rebuild only if a defined number of TSC members reveal their part of the key. @tniessen said he has another design in mind which I excited to hear about.
  3. Reduce the number of voting option to the web and Node.js CLI.

Whether we keep Caritat or not as a tool, I think we should use a system that uses git and GitHub to aggregate ballots. It's easy to audit, and it's probably fair to say everyone is comfortable with those tools already.

There are some settings we should tweak to improve the voting system:

  • Forbid force pushing on vote branches – to ensure no ballots are destroyed.
  • Make PGP signature required on vote commits – as it's way too easy to impersonate someone on GitHub (e.g. torvalds/linux@8bcab03).

What does everyone think?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions