Title: Consensus Building Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

In some cases there is no obvious path to take, or you might be a new community, or a new member of an existing community. In these cases people will often need to build consensus by making proposals and eliciting responses.

We want to avoid unnecessary discussion and the creation of significant amounts of unnecessary mail that everyone in the community needs to read. That is not to say that we want to avoid constructive discussion. This is the lifeblood of a successful project. However, many ASF projects adopt a shorthand notation for showing support, or otherwise, for a proposal.

Expressing support (or otherwise)

The notation used is “+1”, “-1” and “0”. It's also common to see “+0” and “-0”.

So, what do these notations mean?

  • +1 means “I agree with this and will help make it happen”
  • +0 means “I agree with this but probably won't make it happen, so my opinion is not that important”
  • -0 means “I don‘t agree with this, but I’m offering no alternative so my opinion is not that important”
  • -1 means “I don't agree and I am offering an alternative that I am able to help implement”

Many people will use fractions to indicate the strength of their feelings, e.g. “+0.5”. Some will even indicate this is a “no brainer” with something like “+1000”.

The important thing is that this is not an exact science. It's just a shorthand way of communicating strength of feeling.

Consensus Building is Not Voting

The confusing thing about this notation is that it is the same notation used in a formal vote. Knowing when something is a vote and when it is a preference is important. It‘s easy to tell though, if the subject does not have “[Vote]” at the start then it’s just an opinion. We try not to call votes, consensus building is much more inclusive.

The reasons for this notation being common is that when someone wants to summarise a discussion thread they can mentally add up the strength of feeling of the community and decide if there is consensus or not.

Once there is a clear consensus members of the community can proceed with the work under the lazy consensus model.