On Mon, Jul 18, 2016 at 3:20 PM, Justin Mclean <jus...@classsoftware.com>
wrote:

> > 4. Veto rule differences (or lack thereof) within the general@ voting
> vs dev@<podling> voting
>
> Releases can not be vetoed [3], a -1 is not a veto. 3 +1 are required and
> more +1s than -1s.


Typically what happens in a smooth functioning project is that if somebody
points out a heinous problem (forgot to include the source code in a source
release, say), everybody (or nearly everybody) who previously voted +1 will
immediately change their vote to -1 for the release.

But it should be emphasized that there is a rather confusing overlay here
of formality and informality at Apache. There is some very strict
formality, for instance, about getting the intellectual property issues of
releases very, very correct. This is foreign to most new incubation
projects and takes time to get used to. On the other hand, votes are best
viewed as a way to record consensus rather than a way to make decisions.
This is much more informal in many ways than people expect after they see
the rigor on IP.

The thesis is that votes used as decisions might as well be bludgeons for
coercing a minority interest. As such, votes as decision machines can
easily be very divisive and often lead to factionalization in a project. In
a smooth-running Apache project, votes just record decisions that have
already been made.

With this cultural context in mind, you can see why a single -1 in a
release vote can unroll the entire release if it is a surprise. A tight
project will generally view the surprising appearance of a -1 vote as a
serious bug in consensus and it isn't uncommon for several +1 votes to flip
in response in order to allow time for the consensus to be mended. The wish
to register a protest vote without breaking consensus is the rationale for
the -0 vote.

Lots of projects don't work this well and I doubt that any project always
works this well. But when this works, it is really nice.  Definitely
something to aspire to.

Note that this also explains a bit about why the "rules" about how to
conduct a vote are a bit ambiguous. Basically, if you have to read the
rules really carefully to understand how a vote came out, it is best to
back out of the vote itself and focus a bit on community building rather
than reading rulebooks. That means that the edge cases shouldn't be
important to you.

Reply via email to