From: Junio C Hamano <gitster@pobox.com>
To: Emily Shaffer <emilyshaffer@google.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Documentation: propose community voting process
Date: Wed, 21 Oct 2026 15:06:58 -0700 [thread overview]
Message-ID: <xmqqfqxylnct.fsf@gitster.g> (raw)
In-Reply-To: <20261021200341.378978-1-emilyshaffer@google.com> (Emily Shaffer's message of "Wed, 21 Oct 2026 13:03:41 -0700")
Emily Shaffer <emilyshaffer@google.com> writes:
Emily Shaffer <emilyshaffer@google.com> writes:
> +Voting in the Git Project
> +=========================
> +
> +For the most part, technical concerns in Git should be resolved by community
> +consensus - either on the mailing list or in one of the annual-ish Contributor
> +Summits. Voting should be used as a last resort when the community really and
> +truly cannot come to a compromise on a policy decision. As such, the initiation
> +of a vote should be generally agreed on by the mailto:git@sfconservancy.org[Git
> +PLC] or primary maintainer.
Nicely described. I particularly like that this prevents us from
putting technical decisions to a vote, reserving voting strictly for
policy decisions.
> +Phase 2: Voting window
> +----------------------
> +
> +The final version of each seconded proposal will be collected into a ballot at
> +the end of Phase 1. When the ballot is prepared, eligible voters will be able
> +to vote by mail for two weeks, to make space for contributors' individual
> +timezone and availability differences. During this time the proposals may no
> +longer be altered; the ballot should refer to a specific version of the
> +proposal (e.g. `[PROPOSAL v4] Require emojis in commit subjects`) and any later
> +version of the proposal will be ignored.
Or any earlier ones for that matter. Perhaps there should be a way
to uniquely identify the version. By the time the proposal is so
solidified, it is likely to be in my tree, so we can use the commit
object name that adds such a proposal document (or the blob ID).
Then we can tell people that
$ git fetch https://git.kernel.org/pub/scm/git/git.git/ seen
$ git cat-file blob $BLOB_OBJECT_NAME
would give them the exact thing they are voting on.
I presume that this can be used for multiple-choice votes easily,
and can be adjusted for a proposal with multiple things to vote on
independently (i.e., "allow emojis in commit titles?" and "require
CamelCase in commit titles?" can be asked at the same time and
voters can give answers to each question separately).
> +Votes will be decided using <mechanism TBD>.
> +
> +Phase 3: Implementation
> +-----------------------
> +
> +When the voting window ends, the winning proposal should be merged to `main`
> +without delay by the maintainer. The commit message should be appended to
> +include a link to the top of the voting discussion thread so that the
> +discussion can be revisited by history divers in the future, as well as a brief
> +summary of the result of the vote (% in favor out of total number of
> +proposals).
Do you mean "number of votes"? Or are we envisioning that there
will be N competing proposals and we vote to find out which one is
the most favored?
> +Voting Eligibility
> +------------------
> +
> +Votes are welcome from contributors who have authored a commit which has been
> +merged to next, or who have provided 2 or more code reviews, and who have not
> +been banned from participation in the project. All eligible contributor votes
> +are weighed equally, regardless of the overall number of contributions they
> +have landed.
That is a fairly low bar to cross, especially the code review count,
as it will not be easy to define and enforce some rule that rejects
a response to a patch that only says "thanks, I like the feature
this proposes" without reading any parts of the message.
As it is hard to track patches that as in 'next' a few release
cycles ago without graduating in the end and the authors of such a
patch should have the same voting power as those whose patch is in
'next' in the current cycle, I would suggest strongly against using
'next' as a yardstick.
I would have expected to see something like "two or more topics that
appear in any released versions" instead. Note that I said "topics"
here and not "commits", so your topic that consists of 17-patch
still counts as one.
> +To prevent dogpiling, contributions are only eligible for a given vote if they
> +landed before the beginning of the voting process (the kickoff email mentioned
> +above). That is, the code reviews must have been sent or the patch must have
> +been accepted before the initial email is sent. The intention is to ensure the
> +mailing list isn't spammed with low-quality reviews during the voting process
> +solely to increase the number of eligible voters on one side of the issue.
Hopefully the "in released versions" criteria makes the above a
non-issue.
next prev parent reply other threads:[~2026-10-21 22:07 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-06 18:05 Notes from the Git Contributor's Summit, 2026 Taylor Blau
2026-10-06 18:06 ` [NOTES 01/07] Security mailing list and security process Taylor Blau
2026-10-06 18:06 ` [NOTES 02/07] Git 3.0 Taylor Blau
2026-10-06 18:06 ` [NOTES 03/07] Documentation Taylor Blau
2026-10-07 4:49 ` Todd Zullinger
2026-10-07 17:38 ` Junio C Hamano
2026-10-06 18:06 ` [NOTES 04/07] Outreachy sponsorship Taylor Blau
2026-10-06 18:06 ` [NOTES 05/07] What can we do next with pluggable ODB? Taylor Blau
2026-10-06 18:06 ` [NOTES 06/07] AI contribution policy Taylor Blau
2026-10-21 20:03 ` [PATCH] Documentation: propose community voting process Emily Shaffer
2026-10-21 20:05 ` Emily Shaffer
2026-10-22 10:01 ` Phillip Wood
2026-10-23 4:48 ` Junio C Hamano
2026-10-23 13:49 ` Phillip Wood
2026-10-23 14:18 ` Kristoffer Haugsbakk
2026-10-23 16:26 ` Junio C Hamano
2026-10-23 18:09 ` Kristoffer Haugsbakk
2026-10-23 22:08 ` Junio C Hamano
2026-10-23 14:31 ` Kristoffer Haugsbakk
2026-10-24 11:18 ` Tuomas Ahola
2026-10-24 13:03 ` Weijie Yuan
2026-10-24 14:56 ` Junio C Hamano
2026-10-24 15:06 ` Weijie Yuan
2026-10-26 1:17 ` Jeff King
2026-10-26 3:50 ` Junio C Hamano
2026-10-26 7:57 ` Patrick Steinhardt
2026-10-26 9:23 ` Tuomas Ahola
2026-10-26 10:41 ` Phillip Wood
2026-10-22 22:59 ` brian m. carlson
2026-10-21 21:22 ` Junio C Hamano
2026-10-21 22:06 ` Junio C Hamano [this message]
2026-10-22 15:35 ` Justin Tobler
2026-10-23 4:56 ` Junio C Hamano
2026-10-22 7:29 ` Kristoffer Haugsbakk
2026-10-22 12:44 ` Patrick Steinhardt
2026-10-22 22:51 ` brian m. carlson
2026-10-22 23:17 ` Junio C Hamano
2026-10-23 4:51 ` Kristoffer Haugsbakk
2026-10-06 18:06 ` [NOTES 07/07] Protocol v2 for pushes Taylor Blau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqfqxylnct.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=emilyshaffer@google.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox