Several updates to website

* Combined governance and contributor guide pages
* Added notes about testing/updating accumulo-examples during release
* Consolidated release docs in two pages: making & verifying
* Moved all pages at root of repo to pages/ (except index.md) but kept
  link structure
* Renamed 'Papers & Presentation' to 'External Docs' as it contains
  links to books and blog posts.


Project: http://git-wip-us.apache.org/repos/asf/accumulo-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo-website/commit/a71056ca
Tree: http://git-wip-us.apache.org/repos/asf/accumulo-website/tree/a71056ca
Diff: http://git-wip-us.apache.org/repos/asf/accumulo-website/diff/a71056ca

Branch: refs/heads/master
Commit: a71056ca8083b592325123cda70dd455bf687f32
Parents: b7e5e7b
Author: Mike Walch <mwa...@apache.org>
Authored: Fri Dec 9 17:05:15 2016 -0500
Committer: Mike Walch <mwa...@apache.org>
Committed: Mon Dec 12 13:39:14 2016 -0500

----------------------------------------------------------------------
 _includes/nav.html                |   5 +-
 contributor/bylaws.md             | 195 +++++++++++++++++++++++++++++++++
 contributor/consensusBuilding.md  |  53 +++++++++
 contributor/git.md                |   8 +-
 contributor/index.md              |  50 ++++++---
 contributor/lazyConsensus.md      |  58 ++++++++++
 contributor/making-release.md     | 165 ++++++++++++++++++++++++++++
 contributor/rb.md                 |   4 +-
 contributor/releasing.md          | 146 ------------------------
 contributor/source.md             |   5 -
 contributor/verifying-release.md  | 130 ++++++++++++++++++++++
 contributor/verifying_releases.md |  92 ----------------
 contributor/voting.md             |  93 ++++++++++++++++
 get_involved.md                   |  93 ----------------
 governance/bylaws.md              | 193 --------------------------------
 governance/consensusBuilding.md   |  52 ---------
 governance/index.md               |   9 --
 governance/lazyConsensus.md       |  57 ----------
 governance/releasing.md           |  51 ---------
 governance/voting.md              |  92 ----------------
 mailing_list.md                   |  49 ---------
 news.md                           |  19 ----
 pages/external-docs.md            | 110 +++++++++++++++++++
 pages/get_involved.md             |  99 +++++++++++++++++
 pages/mailing_list.md             |  50 +++++++++
 pages/news.md                     |  20 ++++
 pages/people.md                   | 182 ++++++++++++++++++++++++++++++
 pages/related-projects.md         |  92 ++++++++++++++++
 pages/release.md                  |   6 +-
 papers.md                         |   6 -
 papers/index.md                   | 112 -------------------
 people.md                         | 181 ------------------------------
 projects.md                       |  90 ---------------
 33 files changed, 1292 insertions(+), 1275 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/_includes/nav.html
----------------------------------------------------------------------
diff --git a/_includes/nav.html b/_includes/nav.html
index c2a6eb2..d2f8531 100644
--- a/_includes/nav.html
+++ b/_includes/nav.html
@@ -28,8 +28,8 @@
           <li><a href="{{ site.baseurl }}/{{ site.latest_minor_release 
}}/apidocs">Javadocs ({{ site.latest_minor_release }})</a></li>
           <li><a href="{{ site.baseurl }}/{{ site.latest_minor_release 
}}/examples">Examples ({{ site.latest_minor_release }})</a></li>
           <li><a href="{{ site.baseurl }}/features">Features</a></li>
-          <li><a href="{{ site.baseurl }}/papers">Papers &amp; 
Presentations</a></li>
           <li><a href="{{ site.baseurl }}/glossary">Glossary</a></li>
+          <li><a href="{{ site.baseurl }}/external-docs">External Docs</a></li>
           <li><a href="{{ site.baseurl }}/docs-archive/">Archive</a></li>
         </ul>
         </li>
@@ -39,9 +39,8 @@
           <li><a href="{{ site.baseurl }}/get_involved">Get Involved</a></li>
           <li><a href="{{ site.baseurl }}/mailing_list">Mailing Lists</a></li>
           <li><a href="{{ site.baseurl }}/people">People</a></li>
-          <li><a href="{{ site.baseurl }}/projects">Related Projects</a></li>
+          <li><a href="{{ site.baseurl }}/related-projects">Related 
Projects</a></li>
           <li><a href="{{ site.baseurl }}/contributor/">Contributor 
Guide</a></li>
-          <li><a href="{{ site.baseurl }}/governance/">Governance</a></li>
         </ul>
         </li>
       </ul>

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/bylaws.md
----------------------------------------------------------------------
diff --git a/contributor/bylaws.md b/contributor/bylaws.md
new file mode 100644
index 0000000..2d9da9b
--- /dev/null
+++ b/contributor/bylaws.md
@@ -0,0 +1,195 @@
+---
+title: Bylaws
+redirect_from: 
+  - /bylaws
+  - /governance/bylaws
+---
+
+This is version 3 of the bylaws. Community work actively continues on the 
bylaws, and so key segments of them are subject to change.
+
+# Introduction
+
+This document defines the bylaws under which the Apache Accumulo project 
operates. It defines the roles and responsibilities of the project, who may 
vote, how voting works, how conflicts are resolved, etc.
+
+Accumulo is a project of the [Apache Software Foundation][foundation]. The 
foundation holds the copyright on Apache code including the code in the 
Accumulo codebase. The [foundation FAQ][foundation-faq] explains the operation 
and background of the foundation.
+
+Accumulo is typical of Apache projects in that it operates under a set of 
principles, known collectively as the Apache Way. If you are new to Apache 
development, please refer to the [Incubator project][incubator] for more 
information on how Apache projects operate. Terms used at the ASF are defined 
in the [ASF glossary][glossary].
+
+# Roles and Responsibilities
+
+Apache projects define a set of roles with associated rights and 
responsibilities. These roles govern what tasks an individual may perform 
within the project. The roles are defined in the following sections.
+
+## Users
+
+The most important participants in the project are people who use our 
software. The majority of our contributors start out as users and guide their 
development efforts from the user's perspective.
+
+Users contribute to the Apache projects by providing feedback to contributors 
in the form of bug reports and feature suggestions. As well, users participate 
in the Apache community by helping other users on mailing lists and user 
support forums.
+
+## Contributors
+
+All of the volunteers who are contributing time, code, documentation, or 
resources to the Accumulo project are considered contributors. A contributor 
that makes sustained, welcome contributions to the project may be invited to 
become a committer, though the exact timing of such invitations depends on many 
factors.
+
+## Committers
+
+The project's committers are responsible for the project's technical 
management. Committers have write access to the project's code repositories and 
may cast binding votes on any technical discussion regarding Accumulo. 
Committer access is by invitation only and must be approved by consensus 
approval of the active PMC members. Upon acceptance of the invitation to become 
a committer, it is the accepting member’s responsibility to update their 
status on the Accumulo web page accordingly.
+
+A committer is considered emeritus, meaning inactive, by their own declaration 
or by not reviewing patches or committing patches to the project for over six 
months. Emeritus members will be recognized by the PMC on the Accumulo web 
page, in honor of their past contributions. Emeritus members retain all voting 
and commit rights associated with their former designation and can move 
themselves out of emeritus status by sending an announcement of their return to 
the developer mailing list. It will be the returning member's responsibility to 
update their status on the web page accordingly.
+
+An emeritus committer’s commit access may be disabled as part of routine 
security. Access shall not be removed without notifying the committer, and 
access shall be maintained if the committer wishes to leave it active. A 
committer’s commit access shall be reactivated upon the committer’s request 
to the PMC.
+
+All Apache committers are required to have a signed [Contributor License 
Agreement][icla] (CLA) on file with the Apache Software Foundation. Under the 
terms of the CLA that all committers must sign, a committer's primary 
responsibility is to ensure that all code committed to Apache Accumulo is 
licensed appropriately and meets those criteria set forth in the CLA (including 
both original works and patches committed on behalf of other contributors). 
There is a [Committer FAQ][committer-faq] which provides more details on the 
requirements for committers. 
+
+It is the custom of the Accumulo project to also invite each committer to 
become a member of the Accumulo PMC.
+
+## Project Management Committee
+
+The role of the PMC, from a Foundation perspective, is [oversight][pmc-howto]. 
The main
+role of the PMC is not code and not coding, but to ensure that all legal
+issues are addressed, that procedure is followed, and that each and every
+release is the product of the community as a whole. That is key to our
+litigation protection mechanisms.
+
+Secondly, the role of the PMC is to further the long-term development and
+health of the community as a whole, and to ensure that balanced and wide
+scale peer review and collaboration does happen. Within the ASF, we worry
+about any community which centers around a few individuals who are working
+virtually uncontested. We believe that this is detrimental to quality,
+stability, and robustness of both code and long term social structures.
+
+The responsibilities of the PMC include:
+
+* Deciding what is distributed as products of the Apache Accumulo project.
+* Maintaining the project's shared resources, including the code repository, 
mailing lists, and websites.
+* Protecting and ensuring proper use of Apache trademarks by the project and 
by other parties.
+* Speaking on behalf of the project.
+* Nominating new PMC members and committers.
+* Maintaining these bylaws and other guidelines of the project.
+
+In particular, PMC members must understand both our project's criteria and ASF 
criteria for voting on a [release][release-management].
+See the [PMC Guide][pmc-guide] for more information on PMC responsibilities.
+
+Membership of the PMC is by invitation only and must be approved by a 
consensus approval of active PMC members. Upon acceptance of the invitation to 
become a PMC member, it is the accepting member’s responsibility to update 
their status on the Accumulo web page accordingly.
+
+A PMC member is considered emeritus, meaning inactive, by their own 
declaration or by not contributing in any form to the project for over six 
months. Emeritus members will be recognized by the PMC on the Accumulo web 
page, in honor of their past contributions. Emeritus members retain all voting 
and commit rights associated with their former designation and can move 
themselves out of emeritus status by sending an announcement of their return to 
the developer mailing list. It will be the returning member's responsibility to 
update their status on the web page accordingly.
+
+The chair of the PMC is appointed by the ASF board. The chair is an office 
holder of the Apache Software Foundation (Vice President, Apache Accumulo) and 
has primary responsibility to the board for the management of the projects 
within the scope of the Accumulo PMC. The chair reports to the board quarterly 
on developments within the Accumulo project.
+
+When the current chair of the PMC resigns, the PMC votes to recommend a new 
chair using consensus approval, but the decision must be ratified by the Apache 
board.
+
+## Release Manager
+
+The [ASF release process][release-pub] defines the [release 
manager][release-manager] as an individual responsible for shepherding a new 
project release. Any committer may serve as a release manager. The release 
manager for a release is chosen as part of the release plan.
+
+At a minimum, a release manager is responsible for packaging a release 
candidate for a vote and signing and publishing an approved release candidate. 
An Accumulo release manager is also expected to:
+
+* guide whether changes after feature freeze or code freeze should be included 
in the release
+* ensure that required release testing is being conducted
+* track whether the release is on target for its expected release date
+* adjust release plan dates to reflect the latest estimates
+* determine if a re-plan may be needed and, if so, call a vote
+* call votes on release candidates
+
+Details on [making][making] and [verifying][verifying] a release are available 
on the Accumulo website.
+
+# Decision Making
+
+Within the Accumulo project, different types of decisions require different 
forms of approval. For example, the previous section describes several 
decisions which require 'consensus approval'. This section defines how voting 
is performed, the types of approvals, and which types of decision require which 
type of approval.
+
+## Voting
+
+Decisions regarding the project are made by votes on the primary project 
development mailing list: d...@accumulo.apache.org. Where necessary, PMC voting 
may take place on the private Accumulo PMC mailing list: 
priv...@accumulo.apache.org. Votes are clearly indicated by a subject line 
starting with [VOTE]. A vote message may only pertain to a single item’s 
approval; multiple items should be separated into multiple messages. Voting is 
carried out by replying to the vote mail. A vote may take on one of four forms, 
defined below.
+
+{: .table }
+| Vote | Meaning |
+|------|---------|
+| +1   | *Yes*, *Agree*, or *The action should be performed*. In general, this 
vote also indicates a willingness on the behalf of the voter to *make it 
happen*. |
+| +0   | This vote indicates a willingness for the action under consideration 
to go ahead. The voter, however, will not be able to help.                      
   |
+| -0   | This vote indicates that the voter does not, in general, agree with 
the proposed action but is not concerned enough to prevent the action going 
ahead.  |
+| -1   | *No*, *Disagree*, or *The action should not be performed*. On issues 
where consensus is required, this vote counts as a veto. All vetoes must 
contain an explanation of why the veto is appropriate. Vetoes with no 
explanation are void. It may also be appropriate for a -1 vote to include an 
alternative course of action. |
+
+All participants in the Accumulo project are encouraged to vote. For technical 
decisions, only the votes of active committers are binding. Non-binding votes 
are still useful for those with binding votes to understand the perception of 
an action across the wider Accumulo community. For PMC decisions, only the 
votes of active PMC members are binding.
+
+See the [voting page][voting] for more details on the mechanics of voting.
+
+## Commit Then Review (CTR)
+
+Voting can also be applied to changes to the Accumulo codebase. Under the 
Commit Then Review policy, committers can make changes to the codebase without 
seeking approval beforehand, and the changes are assumed to be approved unless 
an objection is raised. Only if an objection is raised must a vote take place 
on the code change.
+
+For some code changes, committers may wish to get feedback from the community 
before making the change. It is acceptable for a committer to seek approval 
before making a change if they so desire.
+
+## Approvals
+
+These are the types of approvals that can be sought. Different actions require 
different types of approvals.
+
+{: .table }
+| Approval&nbsp;Type                | Definition                               
                                                        |
+|-----------------------------------|--------------------------------------------------------------------------------------------------|
+| Consensus Approval                | A consensus approval vote passes with 3 
binding +1 votes and no binding vetoes.                  |
+| Majority Approval                 | A majority approval vote passes with 3 
binding +1 votes and more binding +1 votes than -1 votes. |
+| Lazy Approval (or Lazy Consensus) | An action with lazy approval is 
implicitly allowed unless a -1 vote is received, at which time, depending on 
the type of action, either majority approval or consensus approval must be 
obtained.  Lazy Approval can be either *stated* or *assumed*, as detailed on 
the [lazy consensus page][lazy]. |
+
+## Vetoes
+
+A valid, binding veto cannot be overruled. If a veto is cast, it must be 
accompanied by a valid reason explaining the veto. The validity of a veto, if 
challenged, can be confirmed by anyone who has a binding vote. This does not 
necessarily signify agreement with the veto, but merely that the veto is valid.
+
+If you disagree with a valid veto, you must lobby the person casting the veto 
to withdraw their veto. If a veto is not withdrawn, the action that has been 
vetoed must be reversed in a timely manner.
+
+## Actions
+
+This section describes the various actions which are undertaken within the 
project, the corresponding approval required for that action and those who have 
binding votes over the action. It also specifies the minimum length of time 
that a vote must remain open, measured in days. In general, votes should not be 
called at times when it is known that interested members of the project will be 
unavailable.
+
+For Code Change actions, a committer may choose to employ assumed or stated 
Lazy Approval under the [CTR][ctr] policy. Assumed Lazy Approval has no minimum 
length of time before the change can be made.
+
+{: .table }
+| Action                    | Description                                      
                                                           | Approval           
                                   | Binding Votes      | Min. Length (days) |
+|---------------------------|-------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|--------------------|--------------------|
+| Code Change               | A change made to a codebase of the project. This 
includes source code, documentation, website content, etc. | Lazy approval, 
moving to consensus approval upon veto | Active committers  | 1                 
 |
+| Release Plan              | Defines the timetable and actions for an 
upcoming release. The plan also nominates a Release Manager.       | Lazy 
approval, moving to majority approval upon veto  | Active committers  | 3       
           |
+| Release Plan Cancellation | Cancels an active release plan, due to a need to 
re-plan (e.g., discovery of a major issue).                | Majority approval  
                                   | Active committers  | 3                  |
+| Product Release           | Accepts or rejects a release candidate as an 
official release of the project.                               | Majority 
approval                                     | Active PMC members | 3           
       |
+| Adoption of New Codebase  | When the codebase for an existing, released 
product is to be replaced with an alternative codebase. If such a vote fails to 
gain approval, the existing code base will continue. This also covers the 
creation of new sub-projects within the project. | Consensus approval | Active 
PMC members | 7 |
+| New Committer             | When a new committer is proposed for the 
project.                                                           | Consensus 
approval                                    | Active PMC members | 3            
      |
+| New PMC Member            | When a committer is proposed for the PMC.        
                                                           | Consensus approval 
                                   | Active PMC members | 3                  |
+| New PMC Chair             | When a new PMC chair is chosen to succeed an 
outgoing chair.                                                | Consensus 
approval                                    | Active PMC members | 3            
      |
+| Modifying Bylaws          | Modifying this document.                         
                                                           | Consensus approval 
                                   | Active PMC members | 7                  |
+
+No other voting actions are defined; all other actions should presume Lazy 
Approval (defaulting to Consensus Approval upon veto). If an action is voted on 
multiple times, or if a different approval type is desired, these bylaws should 
be amended to include the action.
+
+For the purposes of the "Adoption of New Codebase" action, the Accumulo 
codebase is defined as the Accumulo site content, primary project code, and all 
contributed code ("contribs") as they exist in their respective repositories. 
Adoption of a new codebase generally refers to the creation of a new contrib 
repository, but could cover, for example, a rework of the project site, or 
merging a contrib project into the primary codebase.
+
+Voting actions for the removal of a committer or PMC member are intentionally 
not defined. According to ASF rules, [committer status never 
expires][committer-terms] and [PMC members can only be removed with approval 
from the ASF Board][pmc-removal].
+
+# Release Plans
+
+The approval of a release plan begins the process of creating a new project 
release. The process ends when a release candidate is approved.
+
+An Accumulo release plan consists of at least the following:
+
+* a version number
+* a feature freeze date
+* a code freeze date
+* a release date
+* the choice of a release manager
+
+After feature freeze, new features should not be accepted for the release. 
After code freeze, only critical fixes should be accepted for the release. The 
release manager guides the decision on accepting changes.
+
+All dates in a plan are estimates, as unforeseen issues may require delays. 
The release manager may adjust dates as needed. In serious circumstances, the 
release manager may opt to call a re-plan vote.
+
+[foundation]: https://www.apache.org/foundation
+[foundation-faq]: https://www.apache.org/foundation/faq
+[incubator]: https://incubator.apache.org
+[glossary]: https://www.apache.org/foundation/glossary
+[icla]: https://www.apache.org/licenses/icla.txt
+[committer-faq]: https://www.apache.org/dev/committers
+[pmc-howto]: https://www.apache.org/foundation/how-it-works.html#pmc
+[release-management]: https://www.apache.org/dev/release#management
+[pmc-guide]: https://www.apache.org/dev/pmc
+[release-pub]: https://www.apache.org/dev/release-publishing
+[release-manager]: 
https://www.apache.org/dev/release-publishing#release_manager
+[making]: {{ "/contributor/making-release" | relative_url }}
+[verifying]: {{ "/contributor/verifying-release" | relative_url }}
+[voting]: {{ "/contributor/voting" | relative_url }}
+[ctr]: #commit-then-review-ctr
+[committer-terms]: https://www.apache.org/dev/committers#committer-set-term
+[pmc-removal]: https://www.apache.org/dev/pmc#pmc-removal
+[lazy]: {{ "/contributor/lazyConsensus" | relative_url }}

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/consensusBuilding.md
----------------------------------------------------------------------
diff --git a/contributor/consensusBuilding.md b/contributor/consensusBuilding.md
new file mode 100644
index 0000000..4211854
--- /dev/null
+++ b/contributor/consensusBuilding.md
@@ -0,0 +1,53 @@
+---
+title: Consensus Building
+redirect_from: /governance/consensusBuilding
+---
+
+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][1] model.
+
+[1]: {{ site.baseurl }}/contributor/lazyConsensus

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/git.md
----------------------------------------------------------------------
diff --git a/contributor/git.md b/contributor/git.md
index 278ae1d..95128cf 100644
--- a/contributor/git.md
+++ b/contributor/git.md
@@ -349,9 +349,7 @@ API.
 By convention, the branch containing the changes `z'` should be named
 `x.y` (where the changes for `z'` are commits since `x.y.z`. The steps to take 
are as follows:
 
-1. Prepare the release candidate. [Release
-   Guide]({{ site.baseurl }}/governance/releasing), [Maven
-   Instructions]({{ site.baseurl }}/releasing)
+1. [Make a release candidate][making]
 2. Create a branch for the release candidate from the `x.y` branch,
    named something like `x.y.z'-RCN`.
 3. Test and Vote
@@ -371,7 +369,7 @@ the `z` value back to `0`.
 
 The steps to create a new major release are very similar to a minor release:
 
-1. Prepare the release candidate. _reference release instructions_
+1. [Make a release candidate][making]
 2. Create a tag of the release candidate from the `x.y` branch,
    named something like `x.y.0-RCN`.
 3. Test and Vote
@@ -450,4 +448,4 @@ For the sake of clarity, some examples of common situations 
are included below.
 
 
 [1]: 
https://cwiki.apache.org/confluence/display/KAFKA/Patch+submission+and+review#Patchsubmissionandreview-Simplecontributorworkflow
-
+[making]: {{ site.baseurl }}/contributor/making-release

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/index.md
----------------------------------------------------------------------
diff --git a/contributor/index.md b/contributor/index.md
index 3902a17..329f4a9 100644
--- a/contributor/index.md
+++ b/contributor/index.md
@@ -2,28 +2,48 @@
 title: Contributor Guide
 ---
 
-This page contains resources and documentation for Accumulo contributors.
+This page contains resources and documentation for Accumulo contributors. Any 
documentation that is helpful
+to Accumulo users should go in the [Accumulo User Manual][manual].
 
-Any documentation that is helpful to Accumulo users should be placed in the 
[user manual][manual].
+## External project resources
 
-* [JIRA] - Accumulo's Issue Tracker
-* [GitHub] - Pull requests can be made on GitHub
-* [Jenkins] & [TravisCI] - Accumulo build servers
-* [Source Guide]({{ "/contributor/source" | relative_url }})
-* [Git Workflow]({{ "/contributor/git" | relative_url }})
-* [Versioning]({{ "/contributor/versioning" | relative_url }})
-* [Contrib Projects]({{ "/contributor/contrib-projects" | relative_url }})
-* [Review Board]({{ "/contributor/rb" | relative_url }})
+* [JIRA] for tracking issues
+* [GitHub] for code reviews (via pull requests)
+* [Jenkins] & [TravisCI] for automated builds
 
-Below are resources for Accumulo committers which may also be helpful to 
contributors.
+## Development docs
 
-* [Making Releases][making]
-* [Verifying Releases][verifying]
+* [Source Guide][source]
+* [Git Workflow][git]
+* [Versioning][versioning]
+* [Contrib Projects][contrib-projects]
+* [Review Board][rb]
+
+## Release guides
+
+* [Making a release][making]
+* [Verifying a release][verifying]
+
+## Project governance
+
+* [Bylaws](/contributor/bylaws)
+* [Consensus Building](/contributor/consensusBuilding)
+* [Lazy Consensus](/contributor/lazyConsensus)
+* [Voting](/contributor/voting)
 
 [manual]: {{ site.baseurl }}/{{ site.latest_minor_release 
}}/accumulo_user_manual.html
 [JIRA]: https://issues.apache.org/jira/browse/ACCUMULO
 [GitHub]: https://github.com/apache/accumulo/pulls
 [Jenkins]: https://builds.apache.org/view/A/view/Accumulo
 [TravisCI]: https://travis-ci.org/apache/accumulo
-[making]: {{ "/contributor/releasing" | relative_url }}
-[verifying]: {{ "/contributor/verifying_releases" | relative_url }}
+[source]: {{ "/contributor/source" | relative_url }}
+[git]: {{ "/contributor/git" | relative_url }}
+[versioning]: {{ "/contributor/versioning" | relative_url }}
+[contrib-projects]: {{ "/contributor/contrib-projects" | relative_url }}
+[rb]: {{ "/contributor/rb" | relative_url }}
+[making]: {{ "/contributor/making-release" | relative_url }}
+[verifying]: {{ "/contributor/verifying-release" | relative_url }}
+[bylaws]: {{ "/contributor/bylaws" | relative_url }}
+[consensus-building]: {{ "/contributor/consensusBuilding" | relative_url }}
+[lazyConsensus]: {{ "/contributor/lazyConsensus" | relative_url }}
+[voting]: {{ "/contributor/voting" | relative_url }}

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/lazyConsensus.md
----------------------------------------------------------------------
diff --git a/contributor/lazyConsensus.md b/contributor/lazyConsensus.md
new file mode 100644
index 0000000..367a0f1
--- /dev/null
+++ b/contributor/lazyConsensus.md
@@ -0,0 +1,58 @@
+---
+title: Lazy Consensus
+redirect_from: /governance/lazyConsensus
+---
+
+The concept of "Lazy Consensus" is very important in our project. Lazy
+Consensus means that when you are convinced that you know what the community
+would like to see happen you can simply assume that you already have consensus
+and get on with the work. You don't have to insist people discuss and/or
+approve your plan, and you certainly don't need to call a vote to get approval.
+You just assume you have the community's support unless someone says otherwise.
+
+We have a time machine (Subversion), this means that as long as you commit 
+(or submit patches) early and often the community has plenty of opportunity 
+to indicate disapproval. If you believe the community will support your action
+you can operate on lazy consensus as long as you are prepared to roll back 
+any work should a valid objection is raised.
+
+## Avoiding Unnecessary Discussion
+
+The key thing about lazy consensus is that it's easier for people to agree,
+by doing nothing, than it is to object, which requires an
+alternative to be proposed. This has two effects, firstly people are less 
+likely to object for the sake of it and secondly it cuts down on the amount 
+of unnecessary mail traffic and discussion.
+
+Lazy consensus means we can avoid waiting for a community based decision 
+before proceeding. However, it does require everyone who cares for the health
+of the project to watch what is happening, as it is happening. Objecting too 
+far down the road will cause upset, but objecting (or asking for clarification 
+of intent) early is likely to be greeted with relief that someone is watching
+and cares.
+
+## Stating Lazy Consensus
+
+Sometimes a member of the community will believe a specific action is the 
correct 
+one for the community but are not sure enough to proceed with the work under 
the 
+lazy consensus model. In these circumstances they can state Lazy Consensus is 
in 
+operation.
+
+What this means is that they make a proposal and state that they will start 
+implementing it in 72 hours unless someone objects. 72 hours is chosen because
+it accounts for different timezones and non-apache commitments.
+
+In this approach the original proposal is not insisting that there is a 
discussion
+around their proposal, nor are they requesting that the community explicitly 
+supports their actions. However, this differs from assuming lazy consensus 
+since it allows space and time to [express support or objections][1] and 
corrections to 
+the proposal before work begins. 
+
+## Silence is consent
+
+People may choose to indicate their support for the actions taken with a +1 
+mail - quick and easy to read and reassuring for the implementer. However, 
+remember, in a lazy consensus world silence is the equivalent to support. This
+can take some time to get used to.
+
+[1]: {{ site.baseurl }}/contributor/consensusBuilding

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/making-release.md
----------------------------------------------------------------------
diff --git a/contributor/making-release.md b/contributor/making-release.md
new file mode 100644
index 0000000..41a3e85
--- /dev/null
+++ b/contributor/making-release.md
@@ -0,0 +1,165 @@
+---
+title: Making a Release
+redirect_from: 
+  - /releasing
+  - /contributor/releasing
+  - /governance/releasing
+---
+
+This is a guide for the creation of a release of Apache Accumulo. 
+
+## Setup
+
+There are number of things that are required before attempting to build a 
release.
+
+1. Use gpg-agent, and be sure to increase the gpg-agent cache timeout (via 
.gnupg/gpg-agent.conf) to ensure that the agent doesn't require 
re-authentication mid-build, as it will cause things to fail. For example, you 
can add `default-cache-ttl 6000` to increase the timeout from the default of 10 
minutes to over an hour. If you do not have a GPG key, reference the very 
thorough [ASF release signing documentation][1].
+2. Ensure that you're using the correct major release of Java (check javadoc 
too).
+3. Ensure that you're building Apache Accumulo with a username that has the 
same name as your Apache ID (this is due to
+   the maven-release-plugin and staging the release candidate).
+4. Update the CHANGES file so that it's in sync with Jira (manual process).
+5. Ensure that you have a texlive distribution installed so you are able to 
build the documentation.
+6. Have a clean workspace before starting.
+
+Given all of this, it's recommended that you only attempt making a release 
from a GNU/Linux machine.
+
+## Create the candidate
+
+**TL;DR**
+
+* `./assemble/build.sh --create-release-candidate` to make the release 
candidate
+* `git tag $version $version-rcN` to create an RC tag from the actual tag
+* `git tag -d $version` make sure you don't accidentally push a "release" tag
+* `git push origin $version-rcN` push the RC tag
+* `git checkout -b $version-rcN-branch` save off the branch from the Maven 
release plugin
+* **VOTE**
+* *If vote fails*, fix the original branch and start over.
+* *If vote passes*, `git merge $version-rcN-branch` back into the original 
branch you released from.
+* `git tag -s $version-rcN $version` make a GPG-signed tag
+* `git push origin $version` push the signed tag.
+
+**Long-winded explanation**
+
+You should use the provided script assemble/build.sh to create the release 
candidate. This script is
+desirable as it activates all necessary maven profiles in addition to 
verifying that certain preconditions
+are met, like RPM signing availablilty and the ability to sign files using 
GPG. The --test option can 
+be used as a dry run for creating a release candidate. The 
--create-release-candidate option should be 
+used to create the actual release candidate.
+
+When invoking build.sh with the --create-release-candidate option, the 
majority of the work will be performed
+by the maven-release-plugin, invoking *release:clean*, *release:prepare*, and 
*release:perform*. These will
+guide you through choosing the correct versions. The default options provided 
should be what you choose.
+It is highly recommended that an 'RC' suffix is *not* appended to the release 
version the plugin prompts
+you for, as that will result in that version string being placed into the 
poms, which then would require 
+voting to occur on artifacts that cannot be directly promoted. After the 
build.sh script finishes (this will 
+likely take at least 15 minutes, even on recent hardware), your current branch 
will be on the "next" version 
+that you provided to the release plugin.
+
+One unwanted side-effect of this approach is that after creating this branch, 
but *before invoking release:perform*,
+you must edit the release.properties to add the _-rcN_ suffix to the value of 
scm.tag. Otherwise, the release
+plugin will complain that it cannot find the branch for the release. With a 
successful invocation of *mvn release:perform*,
+a staging repository will be made for you on the [ASF Nexus server][2] which 
you can log into with your ASF 
+credentials.
+
+After you log into Nexus, click on _Staging Repositories_ in the _Build 
Promotion_ toolbar on the left side of
+the screen. Assuming your build went according to plan, you should have a new 
staging repository made for
+you. At this point, you should inspect the artifacts that were staged to 
ensure that they are as you expect
+them to be. When you're ready to present those artifacts for voting, you need 
to close that repository which
+will make it publicly available for other members to inspect.
+
+## Vote
+
+At this point, you should have a closed repository that's ready to vote on. 
Send a message to [the dev
+list](mailto:d...@accumulo.apache.org) and get the ball rolling. Developers 
should test and verify the
+release candidate on their own. Accumulo has a guide for [verifying 
releases][verify].
+
+Lazy consensus is not sufficient for a release; at least 3 +1 votes from PMC 
members are required. All
+checksums and signatures need to be verified before any voter can +1 it. 
Voting shall last 72 hours. Voters
+SHOULD include with their vote details on the tests from the testing section 
they have successfully run.
+If given, said details for each test MUST include: the number of worker nodes 
in the cluster, the operating system
+and version, the Hadoop version, and the Zookeeper version.  For testing done 
on a version other than the release
+candidate that is deemed relevant, include the commit hash. All such gathered 
testing information will be included
+in the release notes. 
+
+If the vote ultimately fails, you delete the staged repository, clean up the 
branch you created (or wait
+until the release ultimately passes if you choose), and fix what needs fixing.
+
+If the vote passes, follow the steps below.
+
+## Promote the artifacts 
+
+Promote that staged repository using Nexus which you can do with the click of 
a button. This will trigger
+a process to get the release out to all of the mirrors.
+
+## Create the final Git tag
+
+The Git repository should also contain a tag which refers to the final commit 
which made up a release. This tag
+should also be signed with your GPG key. To ensure proper retention on release 
(stemming from ASF policy
+requirements), This final tag *must* being with "rel/". For example, a release 
of 1.7.0 should have a corresponding
+tag name of "rel/1.7.0".
+
+## Copy artifacts to dist.apache.org
+
+An SVN server is running at 
https://dist.apache.org/repos/dist/release/accumulo. You need to upload the 
release
+tarballs, the GPG signatures and checksum files to the correct directory 
(based on the release number). If you
+are releasing a bug-fix release, be sure to delete the previous release in the 
same line (e.g. if you release
+1.6.2, remove 1.6.1). The old tarballs removed from dist.apache.org will still 
be preserved in archive.apache.org
+automatically.
+
+## Update projects.apache.org
+
+Fill out the [add release][addrelease] form to update the projects website.
+
+## Update the Website
+
+After a successful vote, this website needs to be updated with the new 
artifacts.
+
+  * Copy Accumulo User Manual (HTML version exists in >=1.7.0)
+  * Update downloads page
+  * Create a post in `_posts/release/` containing release notes (ensure notes 
contain link to JIRA changes for that version)
+  * Remove previous bug-fix release (if applicable)
+  * Update doap_Accumulo.rdf
+
+### Javadocs
+
+Javadocs are easy to update. Using the latest JDK7 or later (at least JDK 7u21
+to avoid known [vulnerabilities][7]), follow these steps:
+
+1. Unpack the source release tarball and change to its root directory, or 
checkout the SCM tag for the release
+2. Build the javadocs with `mvn clean package javadoc:aggregate -DskipTests 
-Paggregate-javadocs`
+3. Take note that the javadocs you will need to copy are the entire contents 
of `./target/site/apidocs/`
+4. In a different directory, checkout the `master` branch of the 
accumulo-website repo
+5. Remove any existing apidocs from the appropriate version folder (e.g. 
1.6/apidocs for a 1.6.x release)
+6. Copy the entire contents of the new apidocs directory (identified in step 
3) to the destination in the website branch (e.g. to 1.6/apidocs)
+7. Continue updating the site content, as needed
+8. Commit the changes
+9. Update the site using jekyll with `./_devtools/git-hooks/post-commit` (if 
you don't have the commit hook already configured)
+10. Don't forget to push both the `master` and `asf-site` branches back to the 
accumulo-website repo
+11. Verify that javadocs have been updated on the production site (e.g. 
https://accumulo.apache.org/1.6/apidocs/)
+
+## Update Accumulo Examples
+
+After the release has been made, the Accumulo version used by [Accumulo 
Examples][examples] should be updated
+if this is the latest release of Accumulo.
+
+ * Update the `accumulo.version` property in `pom.xml` of accumulo-examples
+ * Run `mvn clean verify` to confirm that nothing breaks
+ * Run one of the examples for additinal testing.
+
+## References
+
+Some good references that explain a few things:
+
+- [Christopher talks about making releases][3]
+- [Publishing Maven Artifacts][4]
+- [Publishing Releases][5]
+
+[1]: https://www.apache.org/dev/release-signing
+[2]: https://repository.apache.org
+[3]: 
https://mail-archives.apache.org/mod_mbox/accumulo-dev/201305.mbox/raw/%3CCAL5zq9bH8y0FyjXmmfXhWPj8axosn9dZ7%2Bu-R1DK4Y-WM1YoWg%40mail.gmail.com%3E
+[4]: https://www.apache.org/dev/publishing-maven-artifacts
+[5]: https://www.apache.org/dev/release-publishing
+[7]: https://www.kb.cert.org/vuls/id/225657
+[8]: https://www.apache.org/dev/cmsref#extpaths
+[addrelease]: https://reporter.apache.org/addrelease?accumulo
+[verify]: {{ "/contributor/verifying-release" | relative_url }}
+[examples]: https://github.com/apache/accumulo-examples

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/rb.md
----------------------------------------------------------------------
diff --git a/contributor/rb.md b/contributor/rb.md
index dccbb40..3630e09 100644
--- a/contributor/rb.md
+++ b/contributor/rb.md
@@ -102,7 +102,7 @@ They should be in the form of a patch containing a single 
commit,
 
 [rbinstance]: https://reviews.apache.org
 [rb]: https://www.reviewboard.org
-[bylaws]: {{ "/governance/bylaws" | relative_url }}
+[bylaws]: {{ "/contributor/bylaws" | relative_url }}
 [ctr]: https://www.apache.org/foundation/glossary#CommitThenReview
-[actions]: {{ "/governance/bylaws#actions" | relative_url }}
+[actions]: {{ "/contributor/bylaws#actions" | relative_url }}
 [contributor]: {{ "/contributor/git#contributors" | relative_url }}

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/releasing.md
----------------------------------------------------------------------
diff --git a/contributor/releasing.md b/contributor/releasing.md
deleted file mode 100644
index 7488df8..0000000
--- a/contributor/releasing.md
+++ /dev/null
@@ -1,146 +0,0 @@
----
-title: Making a Release
-redirect_from: /releasing
----
-
-This is a guide for the creation of a release of Apache Accumulo. 
-
-## Setup
-
-There are number of things that are required before attempting to build a 
release.
-
-1. Use gpg-agent, and be sure to increase the gpg-agent cache timeout (via 
.gnupg/gpg-agent.conf) to ensure that the agent doesn't require 
re-authentication mid-build, as it will cause things to fail. For example, you 
can add `default-cache-ttl 6000` to increase the timeout from the default of 10 
minutes to over an hour. If you do not have a GPG key, reference the very 
thorough [ASF release signing documentation][1].
-2. Ensure that you're using the correct major release of Java (check javadoc 
too).
-3. Ensure that you're building Apache Accumulo with a username that has the 
same name as your Apache ID (this is due to
-   the maven-release-plugin and staging the release candidate).
-4. Update the CHANGES file so that it's in sync with Jira (manual process).
-5. Ensure that you have a texlive distribution installed so you are able to 
build the documentation.
-6. Have a clean workspace before starting.
-
-Given all of this, it's recommended that you only attempt making a release 
from a GNU/Linux machine.
-
-## Create the candidate
-
-**TL;DR**
-
-* `./assemble/build.sh --create-release-candidate` to make the release 
candidate
-* `git tag $version $version-rcN` to create an RC tag from the actual tag
-* `git tag -d $version` make sure you don't accidentally push a "release" tag
-* `git push origin $version-rcN` push the RC tag
-* `git checkout -b $version-rcN-branch` save off the branch from the Maven 
release plugin
-* **VOTE**
-* *If vote fails*, fix the original branch and start over.
-* *If vote passes*, `git merge $version-rcN-branch` back into the original 
branch you released from.
-* `git tag -s $version-rcN $version` make a GPG-signed tag
-* `git push origin $version` push the signed tag.
-
-**Long-winded explanation**
-
-You should use the provided script assemble/build.sh to create the release 
candidate. This script is
-desirable as it activates all necessary maven profiles in addition to 
verifying that certain preconditions
-are met, like RPM signing availablilty and the ability to sign files using 
GPG. The --test option can 
-be used as a dry run for creating a release candidate. The 
--create-release-candidate option should be 
-used to create the actual release candidate.
-
-When invoking build.sh with the --create-release-candidate option, the 
majority of the work will be performed
-by the maven-release-plugin, invoking *release:clean*, *release:prepare*, and 
*release:perform*. These will
-guide you through choosing the correct versions. The default options provided 
should be what you choose.
-It is highly recommended that an 'RC' suffix is *not* appended to the release 
version the plugin prompts
-you for, as that will result in that version string being placed into the 
poms, which then would require 
-voting to occur on artifacts that cannot be directly promoted. After the 
build.sh script finishes (this will 
-likely take at least 15 minutes, even on recent hardware), your current branch 
will be on the "next" version 
-that you provided to the release plugin.
-
-One unwanted side-effect of this approach is that after creating this branch, 
but *before invoking release:perform*,
-you must edit the release.properties to add the _-rcN_ suffix to the value of 
scm.tag. Otherwise, the release
-plugin will complain that it cannot find the branch for the release. With a 
successful invocation of *mvn release:perform*,
-a staging repository will be made for you on the [ASF Nexus server][2] which 
you can log into with your ASF 
-credentials.
-
-After you log into Nexus, click on _Staging Repositories_ in the _Build 
Promotion_ toolbar on the left side of
-the screen. Assuming your build went according to plan, you should have a new 
staging repository made for
-you. At this point, you should inspect the artifacts that were staged to 
ensure that they are as you expect
-them to be. When you're ready to present those artifacts for voting, you need 
to close that repository which
-will make it publicly available for other members to inspect.
-
-## Vote
-
-At this point, you should have a closed repository that's ready to vote on. 
Send a message to [the dev
-list](mailto:d...@accumulo.apache.org) and get the ball rolling. If the vote 
ultimately fails, you delete
-the staged repository, clean up the branch you created (or wait until the 
release ultimately passes if you
-choose), and fix what needs fixing.
-
-If the vote passes, huzzah, you're almost done.
-
-## Promote the artifacts 
-
-Promote that staged repository using Nexus which you can do with the click of 
a button. This will trigger
-a process to get the release out to all of the mirrors.
-
-## Create the final Git tag
-
-The Git repository should also contain a tag which refers to the final commit 
which made up a release. This tag
-should also be signed with your GPG key. To ensure proper retention on release 
(stemming from ASF policy
-requirements), This final tag *must* being with "rel/". For example, a release 
of 1.7.0 should have a corresponding
-tag name of "rel/1.7.0".
-
-
-## Copy artifacts to dist.apache.org
-
-An SVN server is running at 
https://dist.apache.org/repos/dist/release/accumulo. You need to upload the 
release
-tarballs, the GPG signatures and checksum files to the correct directory 
(based on the release number). If you
-are releasing a bug-fix release, be sure to delete the previous release in the 
same line (e.g. if you release
-1.6.2, remove 1.6.1). The old tarballs removed from dist.apache.org will still 
be preserved in archive.apache.org
-automatically.
-
-## Update projects.apache.org
-
-Fill out the [add release][addrelease] form to update the projects website.
-
-## Update the Website
-
-After a successful vote, this website needs to be updated with the new 
artifacts.
-
-  * Copy Accumulo User Manual (HTML version exists in >=1.7.0)
-  * Update downloads page
-  * Create release notes (ensure notes contain link to JIRA changes for that 
version)
-  * Remove previous bug-fix release (if applicable)
-  * Update examples README files
-  * Update doap_Accumulo.rdf
-
-### Javadocs
-
-Javadocs are easy to update. Using the latest JDK7 or later (at least JDK 7u21
-to avoid known [vulnerabilities][7]), follow these steps:
-
-1. Unpack the source release tarball and change to its root directory, or 
checkout the SCM tag for the release
-2. Build the javadocs with `mvn clean package javadoc:aggregate -DskipTests 
-Paggregate-javadocs`
-3. Take note that the javadocs you will need to copy are the entire contents 
of `./target/site/apidocs/`
-4. In a different directory, checkout the `master` branch of the 
accumulo-website repo
-5. Remove any existing apidocs from the appropriate version folder (e.g. 
1.6/apidocs for a 1.6.x release)
-6. Copy the entire contents of the new apidocs directory (identified in step 
3) to the destination in the website branch (e.g. to 1.6/apidocs)
-7. Continue updating the site content, as needed
-8. Commit the changes
-9. Update the site using jekyll with `./_devtools/git-hooks/post-commit` (if 
you don't have the commit hook already configured)
-10. Don't forget to push both the `master` and `asf-site` branches back to the 
accumulo-website repo
-11. Verify that javadocs have been updated on the production site (e.g. 
https://accumulo.apache.org/1.6/apidocs/)
-
-## References
-
-Some good references that explain a few things:
-
-- [Christopher talks about making releases][3]
-- [Publishing Maven Artifacts][4]
-- [Publishing Releases][5]
-- [Accumulo Release Guide][6]
-
-
-[1]: https://www.apache.org/dev/release-signing
-[2]: https://repository.apache.org
-[3]: 
https://mail-archives.apache.org/mod_mbox/accumulo-dev/201305.mbox/raw/%3CCAL5zq9bH8y0FyjXmmfXhWPj8axosn9dZ7%2Bu-R1DK4Y-WM1YoWg%40mail.gmail.com%3E
-[4]: https://www.apache.org/dev/publishing-maven-artifacts
-[5]: https://www.apache.org/dev/release-publishing
-[6]: {{ site.baseurl }}/governance/releasing
-[7]: https://www.kb.cert.org/vuls/id/225657
-[8]: https://www.apache.org/dev/cmsref#extpaths
-[addrelease]: https://reporter.apache.org/addrelease?accumulo

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/source.md
----------------------------------------------------------------------
diff --git a/contributor/source.md b/contributor/source.md
index 4ae22ea..466f5e2 100644
--- a/contributor/source.md
+++ b/contributor/source.md
@@ -202,10 +202,6 @@ Accumulo has [guidelines for using Review Board][rb] to 
support code reviews.
 
  * Formatter [plugin][intellij-formatter] that uses eclipse code style xml.
 
-### Release Guide
-
-Accumulo's release guide can be found [here][release].
-
 [16build]: https://builds.apache.org/job/Accumulo-1.6
 [17build]: https://builds.apache.org/job/Accumulo-1.7
 [1]: https://creadur.apache.org/rat/apache-rat-plugin
@@ -228,7 +224,6 @@ Accumulo's release guide can be found [here][release].
 [maven]: https://maven.apache.org
 [pom]: 
https://git-wip-us.apache.org/repos/asf?p=accumulo.git;a=blob_plain;f=pom.xml;hb=HEAD
 [rb]: {{ "/contributor/rb" | relative_url }}
-[release]: {{ "/governance/releasing" | relative_url }}
 [site-canon]: https://accumulo.apache.org
 [site-mirror]: http://apache.github.io/accumulo
 [srcheaders]: https://www.apache.org/legal/src-headers

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/verifying-release.md
----------------------------------------------------------------------
diff --git a/contributor/verifying-release.md b/contributor/verifying-release.md
new file mode 100644
index 0000000..f9a2217
--- /dev/null
+++ b/contributor/verifying-release.md
@@ -0,0 +1,130 @@
+---
+title: Verifying a Release
+redirect_from: /verifying_releases
+---
+
+This is a guide for the verification of a release candidate of Apache 
Accumulo. These steps are meant to encapsulate
+the requirements of the PMC set forth by the Foundation itself.
+
+The information here is meant to be an application of Foundation policy. When 
in doubt or conflict, any Foundation-level
+trumps anything written here.
+
+## Versioning
+
+Accumulo has adopted [Semantic Versioning][versioning] and follows their rules 
and guidelines.
+
+## Testing basics
+
+Each release of Accumulo should be tested by the community to verify 
correctness. 
+
+Below are some suggested tests that can be run (feel free to run your own 
custom tests too):
+
+* Run Accumulo's unit and integration tests using the following command:
+
+        $ mvn verify
+
+* Build the [Accumulo Examples][examples] repo using the release candidate by 
updating the `accumulo.version`
+  property in the `pom.xml` and using the staging repo. Also, run the 
unit/integration tests using `mvn verify`.
+
+* Run Accumulo's distributed tests (i.e RandomWalk, ContinuousIngest, etc). 
Information on these tests can
+  be found in their respective directories, `test/system/randomwalk` and 
`test/system/continuous`, which
+  include instructions on how to run the tests. These tests are intended to be 
run for days on end while
+  injecting faults into the system. These are the tests that truly verify the 
correctness of Accumulo on
+  real systems.
+
+## Project testing goals
+
+While contributors do not need perform all tests, there should a minimum 
amount of testing done by the project as whole before a release is made.
+
+Testing for an Accumulo release includes a few steps that a developer may take 
without a Hadoop cluster and several that require a working cluster. For minor 
releases, 
+the tests which run on a Hadoop cluster are recommended to be completed but 
are not required. Running even a reduced set of tests against real hardware is 
always encouraged
+even if the full test suite (in breadth of nodes or duration) is not executed. 
If PMC members do not believe adequate testing was performed for the sake of 
making the proposed
+release, the release should be vetoed via the normal voting process. New major 
releases are expected to run a full test suite.
+
+### Stand alone
+
+The following steps can be taken without having an underlying cluster. They 
SHOULD be handled with each Hadoop profile available for a given release 
version. To activate an alternative profile specify e.g. "-Dhadoop.profile=2" 
for the Hadoop 2 profile on the Maven commandline. Some older versions of 
Accumulo referred to Hadoop profiles diferently; see the README that came with 
said versions for details on building against different Hadoop versions.
+
+  1. All JUnit tests must pass.  This should be a requirement of any patch so 
it should never be an issue of the codebase.
+    - Use "mvn package" to run against the default profile of a particular 
release
+    - Use "mvn -Dhadoop.profile=2 package" to test against the Hadoop 2 
profile on e.g. 1.4 or 1.5
+    - Use "mvn -Dhadoop.profile=1 package" to test against the Hadoop 1 
profile on e.g. 1.6 or later
+  - Analyze output of static analysis tools like Findbugs and PMD.
+  - For versions 1.6 and later, all functional tests must pass via the Maven 
failsafe plugin.
+    - Use "mvn verify" to run against the default profile of a particular 
release
+    - Use "mvn -Dhadoop.profile=1 verify" to run the functional tests against 
the Hadoop 1 profile
+
+### Cluster based
+
+The following tests require a Hadoop cluster running a minimum of HDFS, 
MapReduce, and ZooKeeper. The cluster MAY have any number of worker nodes; it 
can even be a single node in pseudo-distributed mode. A cluster with multiple 
tablet servers SHOULD be used so that more of the code base will be exercised. 
For the purposes of release testing, you should note the number of nodes and 
versions used. See the Releasing section for more details.
+
+  1. For versions prior to 1.6, all functional tests must complete 
successfully.
+    - See $ACCUMULO_HOME/test/system/auto/README for details on running the 
functional tests.
+  - Two 24-hour periods of the LongClean module of the RandomWalk test need to 
be run successfully. One of them must use agitation and the other should not.
+    - See $ACCUMULO_HOME/test/system/randomwalk/README for details on running 
the LongClean module.
+  - Two 24-hour periods of the continuous ingest test must be validated 
successfully. One test period must use agitation and the other should not.
+    - See $ACCUMULO_HOME/test/system/continuous/README for details on running 
and verifying the continuous ingest test.
+  - Two 72-hour periods of continuous ingest must run. One test period must 
use agitation and the other should not. No validation is necessary but the 
cluster should be checked to ensure it is still functional.
+
+## Foundation Level Requirements ##
+
+The ASF requires that all artifacts in a release are cryptographically signed 
and distributed with hashes.
+
+OpenPGP is an asymmetric encryption scheme which lends itself well to the 
globally distributed nature of Apache.
+Verification of a release artifact can be done using the signature and the 
release-maker's public key. Hashes
+can be verified using the appropriate command (e.g. `sha1sum`, `md5sum`).
+
+An Apache release must contain a source-only artifact. This is the official 
release artifact. While a release of
+an Apache project can contain other artifacts that do contain binary files. 
These non-source artifacts are for
+user convenience only, but still must adhere to the same licensing rules.
+
+PMC members should take steps to verify that the source-only artifact does not 
contain any binary files. There is
+some leeway in this rule. For example, test-only binary artifacts (such as 
test files or jars) are acceptable as long
+as they are only used for testing the software and not running it.
+
+The following are the aforementioned Foundation-level documents provided for 
reference:
+
+* [Applying the Apache Software License][2]
+* [Legal's license application guidelines][3]
+* [Common legal-discuss mailing list questions/resolutions][4]
+* [ASF Legal Affairs Page][5]
+
+## Apache Software License Application ##
+
+Application of the Apache Software License v2 consists of the following steps 
on each artifact in a release. It's
+important to remember that for artifacts that contain other artifacts (e.g. a 
tarball that contains JAR files or
+an RPM which contains JAR files), both the tarball, RPM and JAR files are 
subject to the following roles.
+
+The difficulty in verifying each artifact is that, often times, each artifact 
requires a different LICENSE and NOTICE
+file. For example, the Accumulo binary tarball must contain appropriate 
LICENSE and NOTICE files considering the bundled
+jar files in `lib/`. The Accumulo source tarball would not contain these same 
contents in the LICENSE and NOTICE files
+as it does not contain those same JARs.
+
+### LICENSE file ###
+
+The LICENSE file should be present at the top-level of the artifact. This file 
should be explicitly named `LICENSE`,
+however `LICENSE.txt` is acceptable but not preferred. This file contains the 
text of the Apache Software License 
+at the top of the file. At the bottom of the file, all other open source 
licenses _contained in the given
+artifact_ must be listed at the bottom of the LICENSE file. Contained 
components that are licensed with the ASL themselves
+do not need to be included in this file. It is common to see inclusions in 
file such as the MIT License of 3-clause
+BSD License.
+
+### NOTICE file ###
+
+The NOTICE file should be present at the top-level of the artifact beside the 
LICENSE file. This file should be explicitly
+name `NOTICE`, while `NOTICE.txt` is also acceptable but not preferred. This 
file contains the copyright notice for
+the artifact being released. As a reminder, the copyright is held by the 
Apache Software Foundation, not the individual
+project.
+
+The second purpose this file serves is to distribute third-party notices from 
dependent software. Specifically, other code
+which is licensed with the ASLv2 may also contain a NOTICE file. If such an 
artifact which contains a NOTICE file is
+contained in artifact being verified for releases, the contents of the 
contained artifact's NOTICE file should be appended
+to this artifact's NOTICE file. For example, Accumulo bundles the Apache 
Thrift libthrift JAR file which also have its
+own NOTICE file. The contents of the Apache Thrift NOTICE file should be 
included within Accumulo's NOTICE file.
+
+[2]: https://www.apache.org/dev/apply-license
+[3]: https://www.apache.org/legal/src-headers
+[4]: https://www.apache.org/legal/resolved
+[5]: https://www.apache.org/legal
+[examples]: https://github.com/apache/accumulo-examples
+[versioning]: {{ site.baseurl }}/contributor/versioning

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/verifying_releases.md
----------------------------------------------------------------------
diff --git a/contributor/verifying_releases.md 
b/contributor/verifying_releases.md
deleted file mode 100644
index f36ef49..0000000
--- a/contributor/verifying_releases.md
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title: Verifying a Release
-redirect_from: /verifying_releases
----
-
-This is a guide for the verification of a release candidate of Apache 
Accumulo. These steps are meant to encapsulate
-the requirements of the PMC set forth by the Foundation itself.
-
-The information here is meant to be an application of Foundation policy. When 
in doubt or conflict, any Foundation-level
-trumps anything written here.
-
-Verification of a release candidate can be broken down into three categories.
-
-## Accumulo Correctness ##
-
-Testing a distributed database is, arguably, the easiest of these requirements.
-
-Accumulo contains unit and integration tests which can be automatically run 
via Maven. These tests can be invoked
-by issues the following commands:
-
-    $ mvn verify
-
-Additionally, Accumulo contains multiple distributed tests, most notably the 
RandomWalk and ContinuousIngest tests.
-Information on these tests can be found in their respective directories, 
`test/system/randomwalk` and
- `test/system/continuous`, which include instructions on how to run the tests. 
These tests are intended to be run
-for days on end while injecting faults into the system. These are the tests 
that truly verify the correctness of
-Accumulo on real systems.
-
-More information on these tests, and the requirements in running them for a 
given release, can be found on the
-[governance page on releasing][1]
-
-## Foundation Level Requirements ##
-
-The ASF requires that all artifacts in a release are cryptographically signed 
and distributed with hashes.
-
-OpenPGP is an asymmetric encryption scheme which lends itself well to the 
globally distributed nature of Apache.
-Verification of a release artifact can be done using the signature and the 
release-maker's public key. Hashes
-can be verified using the appropriate command (e.g. `sha1sum`, `md5sum`).
-
-An Apache release must contain a source-only artifact. This is the official 
release artifact. While a release of
-an Apache project can contain other artifacts that do contain binary files. 
These non-source artifacts are for
-user convenience only, but still must adhere to the same licensing rules.
-
-PMC members should take steps to verify that the source-only artifact does not 
contain any binary files. There is
-some leeway in this rule. For example, test-only binary artifacts (such as 
test files or jars) are acceptable as long
-as they are only used for testing the software and not running it.
-
-The following are the aforementioned Foundation-level documents provided for 
reference:
-
-* [Applying the Apache Software License][2]
-* [Legal's license application guidelines][3]
-* [Common legal-discuss mailing list questions/resolutions][4]
-* [ASF Legal Affairs Page][5]
-
-## Apache Software License Application ##
-
-Application of the Apache Software License v2 consists of the following steps 
on each artifact in a release. It's
-important to remember that for artifacts that contain other artifacts (e.g. a 
tarball that contains JAR files or
-an RPM which contains JAR files), both the tarball, RPM and JAR files are 
subject to the following roles.
-
-The difficulty in verifying each artifact is that, often times, each artifact 
requires a different LICENSE and NOTICE
-file. For example, the Accumulo binary tarball must contain appropriate 
LICENSE and NOTICE files considering the bundled
-jar files in `lib/`. The Accumulo source tarball would not contain these same 
contents in the LICENSE and NOTICE files
-as it does not contain those same JARs.
-
-### LICENSE file ###
-
-The LICENSE file should be present at the top-level of the artifact. This file 
should be explicitly named `LICENSE`,
-however `LICENSE.txt` is acceptable but not preferred. This file contains the 
text of the Apache Software License 
-at the top of the file. At the bottom of the file, all other open source 
licenses _contained in the given
-artifact_ must be listed at the bottom of the LICENSE file. Contained 
components that are licensed with the ASL themselves
-do not need to be included in this file. It is common to see inclusions in 
file such as the MIT License of 3-clause
-BSD License.
-
-### NOTICE file ###
-
-The NOTICE file should be present at the top-level of the artifact beside the 
LICENSE file. This file should be explicitly
-name `NOTICE`, while `NOTICE.txt` is also acceptable but not preferred. This 
file contains the copyright notice for
-the artifact being released. As a reminder, the copyright is held by the 
Apache Software Foundation, not the individual
-project.
-
-The second purpose this file serves is to distribute third-party notices from 
dependent software. Specifically, other code
-which is licensed with the ASLv2 may also contain a NOTICE file. If such an 
artifact which contains a NOTICE file is
-contained in artifact being verified for releases, the contents of the 
contained artifact's NOTICE file should be appended
-to this artifact's NOTICE file. For example, Accumulo bundles the Apache 
Thrift libthrift JAR file which also have its
-own NOTICE file. The contents of the Apache Thrift NOTICE file should be 
included within Accumulo's NOTICE file.
-
-[1]: {{ site.baseurl }}/governance/releasing#testing
-[2]: https://www.apache.org/dev/apply-license
-[3]: https://www.apache.org/legal/src-headers
-[4]: https://www.apache.org/legal/resolved
-[5]: https://www.apache.org/legal

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/contributor/voting.md
----------------------------------------------------------------------
diff --git a/contributor/voting.md b/contributor/voting.md
new file mode 100644
index 0000000..4ee6437
--- /dev/null
+++ b/contributor/voting.md
@@ -0,0 +1,93 @@
+---
+title: Voting
+redirect_from: /governance/voting
+---
+
+Occasionally a "feel" for consensus is not enough. Sometimes we need to have a
+measurable consensus. For example, when voting in new committers or to approve 
a
+release. 
+
+## Preparing for a Vote
+
+Before calling a vote it is important to ensure that the community is given 
time to
+discuss the upcoming vote. This will be done by posting an email to the list
+indicating the intention to call a vote and the options available. By the time 
a
+vote is called there should already be [consensus in the community][1]. The 
vote 
+itself is, normally, a formality.
+
+## Calling a Vote
+
+Once it is time to call the vote a mail is posted with a subject starting with
+"[VOTE]". This enables the community members to ensure they do not miss an 
important
+vote thread. It also indicates that this is not consensus building but a formal
+vote. The initiator is responsible for the vote. That means also to count the 
votes
+and present the results. Everyone has 1 vote.
+
+### Casting Your Vote
+
+The notation used in voting is:
+
++1 (means I vote positive)
+   You can say why you vote positive but it's not a must-have.
+
+ 0 (means I have no strong opinion, aka abstention)
+
+-1 (means I vote negative because of the following reason)
+   Yes, you must support your objection and provide an alternative course of 
action
+   that you are willing and able to implement (where appropriate).
+
+#### Example for a vote mail:
+
+    Address: private@
+    Subject: [VOTE] John Doe should become a regular committer
+    
+    Text:
+    "I would like to propose to vote in John Doe as committer. John has showed 
in
+    the last months that he has the skills and oversight for improving things 
(think
+    about the last UI change of the "Find" dialog)."
+    
+    +1 (means I vote for John)
+     0 (means I'm not for John but also not against to vote him in)
+    -1 (means I'm not for John because of the following reason(s):
+    
+    Voting time frame is finished 72 hours from now until June 30, 12:00 PM 
UTC.
+
+#### Example for a reply mail:
+
+    Text:
+    +1
+    
+    I like his work and want him to stay and to go on with his good 
improvements.
+
+
+#### Example for a result mail:
+
+    Subject: [VOTE][RESULTS] John Doe should become a regular committer
+    
+    Text:
+    Vote started Thu, Jun 27, 2011 at 12:00 PM UTC, voting is now closed.
+    
+    Voting results:
+    
+    --- Numbers ---
+    
+    +1: 6
+     0: 0
+    -1: 0
+    
+    --- Details ---
+    
+    +1 John
+    +1 Jane
+    +1 David
+    +1 Dolores
+    +1 Carl
+    +1 Chris
+
+[See here for more information][2] <br>
+[See here for more mail templates][3]
+
+
+[1]: consensusBuilding
+[2]: https://www.apache.org/foundation/voting
+[3]: https://community.apache.org/newcommitter

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/a71056ca/get_involved.md
----------------------------------------------------------------------
diff --git a/get_involved.md b/get_involved.md
deleted file mode 100644
index 52d37a3..0000000
--- a/get_involved.md
+++ /dev/null
@@ -1,93 +0,0 @@
----
-title: Get Involved
----
-
-You don't need to be a software developer to contribute to 
-Apache Accumulo. To be successful this project 
-requires a huge range of different skills, levels of involvement and degrees 
of 
-technical expertise. So, if you want to get involved in Apache Accumulo, there 
-is almost certainly a role for you. 
-
-We are looking for people to:
-
-  - provide feedback
-  - write or update documentation
-  - help new users
-  - recommend the project to others
-  - test the code and report bugs
-  - fix bugs
-  - give us feedback on required features
-  - write and update the software
-  - create artwork
-  - translate to different languages
-  - anything you can see that needs doing
-
-All of these contributions help to keep a project active and strengthen 
-the community. The project team and the broader community will 
-therefore welcome and encourage participation, and attempt to make it 
-as easy as possible for people to get involved.
-
-Want to get started now? Check out [open issues labeled for "newbies"][1]. If 
you need help, use the mailing list information below to reach out. If the 
issue you choose deals with code, you should read the developer's guide section.
-
-## Mailing lists and Meetups
-
-Your first engagement with the project should be to subscribe to our
-[mailing lists][2].  You can also [look for Accumulo Meetups][3] in your area. 
-Apache Accumulo developers and community members hang out in the #accumulo 
-channel on irc.freenode.net.
-
-## Contributor Guide
-
-See the [contributor guide][4] for recommended practices in interacting with 
our source code.
-Take a look at [Accumulo's Ohloh page][5] for an analysis of the code base.
-
-## Community Interaction
-
-Learn about [building open source communities][6].
-
-## Decision Making
-
-The most important thing about engaging with any Apache project is that 
everyone
-is equal. All people with an opinion are entitled to express that opinion and, 
where 
-appropriate, have it considered by the community.
-
-To some the idea of having to establish consensus in a large and distributed 
team 
-sounds inefficient and frustrating. Don't despair though, The Apache Way has a
-set of simple processes to ensure things proceed at a good pace.
-
-In ASF projects we don't like to vote. We reserve that for the few things that 
need 
-official approval for legal or process reasons (e.g. a release or a new 
committer). 
-Most of the time we work with the consensus building techniques documented 
below.
-
-### Lazy Consensus
-
-[Lazy consensus][7] is the first, and possibly the most important, consensus 
building 
-tool we have. Essentially lazy consensus means that you don't need to get 
explicit
-approval to proceed, but you need to be prepared to listen if someone objects.
-
-### Consensus Building
-
-Sometimes lazy consensus is not appropriate. In such cases it is necessary to
-make a proposal to the mailing list and discuss options. There are mechanisms
-for quickly showing your support or otherwise for a proposal and 
-[building consensus][8] amongst the community.
-
-Once there is a consensus people can proceed with the work under the [lazy 
-consensus][9] model.
-
-### Voting
-
-Occasionally a "feel" for consensus is not enough. Sometimes we need to 
-have a measurable consensus. For example, when [voting][10] in new committers 
or 
-to approve a release. 
-
-[1]: https://s.apache.org/newbie_accumulo_tickets
-[2]: {{ site.baseurl }}/mailing_list
-[3]: https://www.meetup.com/find/?keywords=accumulo
-[4]: {{ site.baseurl }}/contributor/
-[5]: https://www.ohloh.net/p/accumulo
-[6]: http://www.betaversion.org/~stefano/papers/ac2006.2.pdf
-[7]: {{ site.baseurl }}/governance/lazyConsensus
-[8]: {{ site.baseurl }}/governance/consensusBuilding
-[9]: {{ site.baseurl }}/governance/lazyConsensus
-[10]: {{ site.baseurl }}/governance/voting

Reply via email to