You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by sa...@apache.org on 2016/07/26 16:35:22 UTC
incubator-impala git commit: Add bylaws based on the Hadoop bylaws
Repository: incubator-impala
Updated Branches:
refs/heads/asf-site d27327142 -> dd98199ad
Add bylaws based on the Hadoop bylaws
Change-Id: I2439cf1def0b99b1d5ed05252d97b712b4a91e09
Reviewed-on: http://gerrit.cloudera.org:8080/3770
Reviewed-by: Jim Apple <jb...@cloudera.com>
Tested-by: Jim Apple <jb...@cloudera.com>
Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/dd98199a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/dd98199a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/dd98199a
Branch: refs/heads/asf-site
Commit: dd98199ade438a0bcb8d816b077bd2e337cd3a42
Parents: d273271
Author: Jim Apple <jb...@cloudera.com>
Authored: Mon Jul 18 13:32:01 2016 -0700
Committer: Jim Apple <jb...@cloudera.com>
Committed: Tue Jul 26 15:05:04 2016 +0000
----------------------------------------------------------------------
bylaws.html | 500 ++++++++++++++++++++++++++++++++++++++++++++++++++++
community.html | 1 +
2 files changed, 501 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/dd98199a/bylaws.html
----------------------------------------------------------------------
diff --git a/bylaws.html b/bylaws.html
new file mode 100644
index 0000000..07a5990
--- /dev/null
+++ b/bylaws.html
@@ -0,0 +1,500 @@
+<!DOCTYPE html>
+
+<html lang="en">
+<head>
+ <meta name="generator" content=
+ "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
+ <meta charset="utf-8">
+
+ <title>Apache Impala (incubating)</title>
+ <meta name="keywords" content=
+ "hadoop, apache, impala, sql, mpp, bi, big data, open source">
+ <meta name="description" content=
+ "Apache Impala (incubating) is a modern, open source, distributed SQL query engine for Apache Hadoop.">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <!-- Le styles -->
+ <link href="css/bootstrap.css" rel="stylesheet" type="text/css">
+ <style type="text/css">
+ body {
+ padding-top: 20px;
+ padding-bottom: 40px;
+ }
+
+ /* Custom container */
+ .container-narrow {
+ margin: 0 auto;
+ max-width: 700px;
+ }
+ .container-narrow > hr {
+ margin: 30px 0;
+ }
+
+ /* Main marketing message and sign up button */
+ .jumbotron {
+ margin: 60px 0;
+ text-align: center;
+ }
+ .jumbotron h1 {
+ font-size: 72px;
+ line-height: 1;
+ }
+ .jumbotron .btn {
+ font-size: 21px;
+ padding: 14px 24px;
+ }
+
+ /* Supporting marketing content */
+ .marketing {
+ margin: 60px 0;
+ }
+ .marketing p + h4 {
+ margin-top: 28px;
+ }
+ /* Customize the navbar links to be fill the entire space of the .navbar */
+ .navbar .navbar-inner {
+ padding: 0;
+ }
+ .navbar .nav {
+ margin: 0;
+ display: table;
+ width: 100%;
+ }
+ .navbar .nav li {
+ display: table-cell;
+ width: 1%;
+ float: none;
+ }
+ .navbar .nav li a {
+ font-weight: bold;
+ text-align: center;
+ border-left: 1px solid rgba(255,255,255,.75);
+ border-right: 1px solid rgba(0,0,0,.1);
+ }
+ .navbar .nav li:first-child a {
+ border-left: 0;
+ border-radius: 3px 0 0 3px;
+ }
+ .navbar .nav li:last-child a {
+ border-right: 0;
+ border-radius: 0 3px 3px 0;
+ }
+ </style>
+ <link href="css/bootstrap-responsive.css" rel="stylesheet" type="text/css">
+ <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+ <!--[if lt IE 9]>
+ <script src="js/html5shiv.js"></script>
+ <![endif]-->
+
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js" type=
+ "text/javascript">
+</script>
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js" type=
+ "text/javascript">
+</script>
+ <script type="text/javascript">
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-67190974-2', 'auto');
+ ga('send', 'pageview');
+
+ </script>
+</head>
+
+<body>
+ <div class="container">
+ <div class="masthead">
+ <h3 class="muted">Apache Impala (incubating)</h3>
+
+ <div class="navbar">
+ <div class="navbar-inner">
+ <div class="container">
+ <ul class="nav">
+ <li><a href="index.html">Home</a></li>
+
+ <li><a href="overview.html">Overview</a></li>
+
+ <li class="dropdown">
+ <a href='#' class="dropdown-toggle" data-toggle="dropdown" role=
+ "button">Blogs</a>
+
+ <ul class="dropdown-menu">
+ <li><a href="http://blog.impala.io">Developer blog</a></li>
+ </ul>
+ </li>
+
+ <li><a href=
+ "http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/Impala/impala.html">
+ Docs</a></li>
+
+ <li><a href=
+ "https://github.com/cloudera/Impala/wiki/Contributing-to-Impala">Contribute</a></li>
+
+ <li><a href="https://github.com/cloudera/impala">GitHub</a></li>
+
+ <li class="active"><a href="community.html">Community</a></li>
+
+ <li><a href="impala-books.html">Books</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div><!--+
+ |start content
+ +-->
+
+ <div id="content">
+ <h1>Apache Impala (incubating) Project Bylaws</h1><a name="N1000D"></a><a name=
+ "Introduction"></a>
+
+ <h2 class="h3">Introduction</h2>
+
+ <div class="section">
+ <p>This document defines the bylaws under which the Apache Impala (incubating)
+ project operates. It defines the roles and responsibilities of the project, who may
+ vote, how voting works, how conflicts are resolved, etc.</p>
+
+ <p>Impala is a project of the <a href="http://www.apache.org/foundation/">Apache
+ Software Foundation</a>. The foundation holds the trademark on the name "Impala"
+ and copyright on Apache code including the code in the Impala codebase. The
+ <a href="http://www.apache.org/foundation/faq.html">foundation FAQ</a> explains the
+ operation and background of the foundation.</p>
+
+ <p>Impala 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 <a href="http://incubator.apache.org">Incubator
+ project</a> for more information on how Apache projects operate.</p>
+ </div><a name="N10028"></a><a name="Roles+and+Responsibilities"></a>
+
+ <h2 class="h3">Roles and Responsibilities</h2>
+
+ <div class="section">
+ <p>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</p>
+
+ <ul>
+ <li>
+ <strong>Users</strong>
+
+ <p>The most important participants in the project are people who use our
+ software.</p>
+
+ <p>Users contribute to the Apache projects by providing feedback to developers
+ 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.</p>
+ </li>
+
+ <li>
+ <strong>Contributors</strong>
+
+ <p>All of the volunteers who are contributing time, code, documentation, or
+ resources to the Impala Project. 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.</p>
+ </li>
+
+ <li>
+ <strong>Committers</strong>
+
+ <p>The project's Committers are responsible for the project's technical
+ management. Committers have write access to the project's version control
+ repositories. Committers may cast binding votes on any technical
+ discussion.</p>
+
+ <p>Committer access is by invitation only and must be approved by consensus
+ approval of the active PMC members. A Committer is considered emeritus by their
+ own declaration or by not contributing in any form to the project for over six
+ months. An emeritus committer may request reinstatement of commit access from
+ the PMC. Such reinstatement is subject to consensus approval of active PMC
+ members.</p>
+
+ <p>Significant, pervasive features may be developed in a speculative branch of
+ the repository. The PMC may grant commit rights on the branch to its consistent
+ contributors for the duration of the initiative. Branch committers are
+ responsible for shepherding their feature into an active release and do not
+ cast binding votes or vetoes in the project.</p>
+
+ <p>All Apache committers are required to have a signed Contributor License
+ Agreement (CLA) on file with the Apache Software Foundation. There is a
+ <a href="http://www.apache.org/dev/committers.html">Committer FAQ</a> which
+ provides more details on the requirements for Committers</p>
+
+ <p>A committer who makes a sustained contribution to the project may be invited
+ to become a member of the PMC. The form of contribution is not limited to code.
+ It can also include code review, helping out users on the mailing lists,
+ documentation, testing, etc.</p>
+ </li>
+
+ <li>
+ <strong>Release Manager</strong>
+
+ <p>A Release Manager (RM) is a committer who volunteers to produce a Release
+ Candidate according to <a href=
+ "https://wiki.apache.org/hadoop/HowToRelease">HowToRelease</a>. The RM shall
+ publish a Release Plan on the <em>dev@</em> list stating the branch from which
+ they intend to make a Release Candidate, at least one week before they do so.
+ The RM is responsible for building consensus around the content of the Release
+ Candidate, in order to achieve a successful Product Release vote.</p>
+ </li>
+
+ <li>
+ <strong>Project Management Committee</strong>
+
+ <p>The Project Management Committee (PMC) is responsible to the board and the
+ ASF for the management and oversight of the Apache Impala codebase. The
+ responsibilities of the PMC include</p>
+
+ <ul>
+ <li>Deciding what is distributed as products of the Apache Impala project. In
+ particular all releases must be approved by the PMC</li>
+
+ <li>Maintaining the project's shared resources, including the codebase
+ repository, mailing lists, and websites.</li>
+
+ <li>Speaking on behalf of the project.</li>
+
+ <li>Resolving license disputes regarding products of the project</li>
+
+ <li>Nominating new PMC members and committers</li>
+
+ <li>Maintaining these bylaws and other guidelines of the project</li>
+ </ul>
+
+ <p>Membership of the PMC is by invitation only and must be approved by a
+ consensus approval of active PMC members. A PMC member is considered "emeritus"
+ by their own declaration or by not contributing in any form to the project for
+ over six months. An emeritus member may request reinstatement to the PMC. Such
+ reinstatement is subject to consensus approval of the active PMC members.</p>
+
+ <p>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 Impala) and
+ has primary responsibility to the board for the management of the projects
+ within the scope of the Impala PMC. The chair reports to the board quarterly on
+ developments within the Impala project.</p>
+
+ <p>The chair of the PMC is rotated annually. When the chair is rotated or if
+ the current chair of the PMC resigns, the PMC votes to recommend a new chair
+ using Single Transferable Vote (STV) voting. See <a href=
+ "http://wiki.apache.org/general/BoardVoting">BoardVoting</a> for specifics. The
+ decision must be ratified by the Apache board.</p>
+ </li>
+ </ul>
+ </div><a name="N10094"></a><a name="Decision+Making"></a>
+
+ <h2 class="h3">Decision Making</h2>
+
+ <div class="section">
+ <p>Within the Impala project, different types of decisions require different forms
+ of approval. For example, the <a href="#Roles+and+Responsibilities">previous
+ section</a> describes several decisions which require "consensus approval"
+ approval. This section defines how voting is performed, the types of approvals, and
+ which types of decision require which type of approval.</p>
+
+ <ul>
+ <li>
+ <strong>Voting</strong>
+
+ <p>Decisions regarding the project are made by votes on the primary project
+ development mailing list (dev@impala.incubator.apache.org). Where necessary, PMC
+ voting may take place on the private Impala PMC mailing list. Votes are clearly
+ indicated by subject line starting with [VOTE]. Votes may contain multiple
+ items for approval and these should be clearly separated. Voting is carried out
+ by replying to the vote mail. Voting may take four flavors</p>
+
+ <ul>
+ <li><strong>+1</strong> "Yes," "Agree," or "the action should be performed."
+ In general, this vote also indicates a willingness on the behalf of the voter
+ in "making it happen"</li>
+
+ <li><strong>+0</strong> This vote indicates a willingness for the action
+ under consideration to go ahead. The voter, however will not be able to
+ help.</li>
+
+ <li><strong>-0</strong> 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.</li>
+
+ <li><strong>-1</strong> This is a negative vote. On issues where consensus is
+ required, this vote counts as a <strong>veto</strong>. 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.</li>
+ </ul>
+
+ <p>Patches are reviewed in the code review tool, where the vote flavors are:</p>
+
+ <ul>
+ <li><strong>+2</strong> "I am confident in the change and this can be
+ committed without further review after addressing the remaining points I have
+ made."</li>
+
+ <li><strong>+1</strong> "I am OK with this being committed after the remaining
+ points in my comment have been addressed and someone else votes +2."</li>
+
+ <li><strong>-1</strong> "I oppose this being committed."</li>
+ </ul>
+
+ <p>All participants in the Impala project are encouraged to show their
+ agreement with or against a particular action by voting. 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 in the wider Impala community. For PMC decisions, only the votes of
+ PMC members are binding.</p>
+ </li>
+
+ <li>
+ <strong>Approvals</strong>
+
+ <p>These are the types of approvals that can be sought. Different actions
+ require different types of approvals</p>
+
+ <ul>
+ <li><strong>Consensus Approval -</strong> Consensus approval requires 3
+ binding +1 votes and no binding vetoes.</li>
+
+ <li><strong>Lazy Consensus -</strong> Lazy consensus requires no -1 votes
+ ('silence gives assent').</li>
+
+ <li><strong>Lazy Majority -</strong> A lazy majority vote requires 3 binding
+ +1 votes and more binding +1 votes than -1 votes.</li>
+
+ <li><strong>Lazy 2/3 Majority -</strong> Lazy 2/3 majority votes requires at
+ least 3 votes and twice as many +1 votes as -1 votes.</li>
+ </ul>
+ </li>
+
+ <li>
+ <strong>Vetoes</strong>
+
+ <p>A valid, binding veto cannot be overruled. If a veto is cast, it must be
+ accompanied by a valid reason explaining the reasons for 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 - merely that the
+ veto is valid.</p>
+
+ <p>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, any action that has
+ been vetoed must be reversed in a timely manner.</p>
+ </li>
+
+ <li>
+ <strong>Actions</strong>
+
+ <p>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.</p>
+
+ <ul>
+ <li>
+ <strong>Code Change</strong>
+
+ <p>A change made to a codebase of the project and committed by a committer.
+ This includes source code, documentation, website content, etc.</p>
+
+ <p>At least one +2 from a committer and no -1 from any committer.</p>
+ </li>
+
+ <li>
+ <strong>Product Release</strong>
+
+ <p>When a release of one of the project's products is ready, a vote is
+ required to accept the release as an official release of the project.</p>
+
+ <p>Lazy Majority of active PMC members</p>
+ </li>
+
+ <li>
+ <strong>New Branch Committer</strong>
+
+ <p>When a branch committer is proposed for the PMC</p>
+
+ <p>Lazy consensus of active PMC members</p>
+ </li>
+
+ <li>
+ <strong>New Committer</strong>
+
+ <p>When a new committer is proposed for the project</p>
+
+ <p>Consensus approval of active PMC members</p>
+ </li>
+
+ <li>
+ <strong>New PMC Member</strong>
+
+ <p>When a committer is proposed for the PMC</p>
+
+ <p>Consensus approval of active PMC members</p>
+ </li>
+
+ <li>
+ <strong>Branch Committer Removal</strong>
+
+ <p>When removal of commit privileges is sought <strong>or</strong> when the
+ branch is merged to the mainline</p>
+
+ <p>Lazy 2/3 majority of active PMC members</p>
+ </li>
+
+ <li>
+ <strong>Committer Removal</strong>
+
+ <p>When removal of commit privileges is sought. Note: Such actions will
+ also be referred to the ASF board by the PMC chair</p>
+
+ <p>Lazy 2/3 majority of active PMC members (excluding the committer in
+ question if a member of the PMC).</p>
+ </li>
+
+ <li>
+ <strong>PMC Member Removal</strong>
+
+ <p>When removal of a PMC member is sought. Note: Such actions will also be
+ referred to the ASF board by the PMC chair.</p>
+
+ <p>Lazy 2/3 majority of active PMC members (excluding the member in
+ question)</p>
+ </li>
+
+ <li>
+ <strong>Modifying Bylaws</strong>
+
+ <p>Modifying this document.</p>
+
+ <p>Lazy majority of active PMC members</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <strong>Voting Timeframes</strong>
+
+ <p>Votes are open for a period of 72 hours to allow all active voters time to
+ consider the vote. Votes relating to code changes are not subject to a strict
+ timetable but should be made as timely as possible.</p>
+
+ </li>
+ </ul>
+ </div>
+ </div><!--+
+ |end content
+ +-->
+
+ <div class="footer">
+ <p class="pull-right"><img src="img/incubator.png"></p>
+
+ <p>Apache Impala is an effort undergoing incubation at the Apache Software Foundation
+ (ASF), sponsored by the Apache Incubator PMC. Incubation is required of all newly
+ accepted projects until a further review indicates that the infrastructure,
+ communications, and decision making process have stabilized in a manner consistent
+ with other successful ASF projects. While incubation status is not necessarily a
+ reflection of the completeness or stability of the code, it does indicate that the
+ project has yet to be fully endorsed by the ASF.</p>
+ </div><!-- /container -->
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/dd98199a/community.html
----------------------------------------------------------------------
diff --git a/community.html b/community.html
index d3cd4e2..9af93cf 100644
--- a/community.html
+++ b/community.html
@@ -130,6 +130,7 @@
<div class="span12">
<h2>Impala Community </h2>
<ul>
+ <li> <a href="bylaws.html">Bylaws</a></li>
<li>Mailing list: <a href="mailto:user@impala.dev.incubator.apache.org">user@impala.incubator.apache.org</a> (users), <a href="mailto:dev@impala.incubator.apache.org">dev@impala.incubator.apache.org</a> (developers)</li>
<li>Issues:
<a href="https://issues.cloudera.org/browse/IMPALA">https://issues.cloudera.org/browse/IMPALA</a></li>