docs/governance/temporary-voting.md
We're introducing a temporary process to describe how we'll gain approval to adopt permanent governance policies - basically, how we make social and technical decisions as a community. This temporary process describes how the governance working group can propose these policies and how community members can influence them and vote on them. Once permanent governance policies are in place, the temporary process will stop being used, and the permanent governance policies will be used instead.
The governance working group was appointed by recommendation from Martin (jj's original author and current sole maintainer), without recommendation or approval from the broader jj community. This isn't a problem in itself - but it does mean that the governance working group (Austin Seipp/aseipp, Waleed Khan/arxanas, Martin von Zweigbergk/martinvonz, and Emily Shaffer/nasamuffin) needs to get some community approval before setting policy for the entire jj project. If we skip this step, we risk being perceived as exercising excessive control over the project.
governance.md (describing
the formal structure of governance used for this project), technical design
approval process, and code review process.The working group lets the community know about upcoming policy drafts they're intending to share for approval. This must happen at least a week before entering stage 3, and ideally should happen even earlier.
At this time, the working group should:
At this time, the community is invited to:
The working group will consider these recommendations in good faith, but may choose not to adopt them.
This stage lasts until the working group feels major concerns have been addressed and the proposal is ready for a vote. However, at least 72 hours must elapse between the proposal being published and the vote starting, to allow community members around the globe to read and comment. Typically, this stage should last at least one week.
At this time, the working group should:
At this time, the community is invited to:
Think of this like a code review; the goal of this stage is to build a proposal that is representative of the community's will. Keep recommendations actionable and constructive: "This clause discourages X; if we phrase it like "foo bar baz" it could be less exclusive" is much more productive than "It's obvious that the governance working group doesn't want X!"
At the discretion of the working group, but based on the outcome of the discussion, the proposal will go to a vote or the proposal will be dropped.
When the working group feels that major concerns have been addressed and is happy with the text of the proposal, the working group will open voting on the proposal.
Proposals with 2/3 or more votes in favor at the end of the voting period will be approved.
After voting has concluded, either:
Deciding whether to revise or abandon is up to the discretion of the governance working group. The working group is expected to double-check their assumption that the goals the proposal is attempting to meet are desirable after the proposal fails to be accepted.
Typically, implementation will look like merging the document with the policy into the jj codebase and remembering to use that policy in conversations moving forward.
In some cases, implementation may also involve nomination of individuals to a group or committee. When this is necessary, expect the policy being proposed to describe how these individuals will be nominated, both initially and moving into the future.
It's possible (but unlikely) that during implementation, some obstacle will arise that means the policy doesn't actually work. If this does happen, expect the working group to be transparent with the community about the situation. We may reuse some of all of this process to figure out how to move forward.