<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
    <link rel="icon" href="/favicon.ico" type="image/x-icon">

    <title>Project By-laws</title>

    <!-- Bootstrap core CSS -->
    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">
    <!-- Bootstrap theme -->
    <link href="/assets/css/bootstrap-theme.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link rel="stylesheet" href="http://fortawesome.github.io/Font-Awesome/assets/font-awesome/css/font-awesome.css">
    <link href="/css/style.css" rel="stylesheet">
    <link href="/assets/css/owl.theme.css" rel="stylesheet">
    <link href="/assets/css/owl.carousel.css" rel="stylesheet">
    <script type="text/javascript" src="/assets/js/jquery.min.js"></script>
    <script type="text/javascript" src="/assets/js/bootstrap.min.js"></script>
    <script type="text/javascript" src="/assets/js/owl.carousel.min.js"></script>
    <script type="text/javascript" src="/assets/js/storm.js"></script>
    <!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
    <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
    
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>


  <body>
    <header>
  <div class="container-fluid">
      <div class="row">
          <div class="col-md-10">
              <a href="/index.html"><img src="/images/logo.png" class="logo" /></a>
            </div>
            <div class="col-md-2">
              <a href="/downloads.html" class="btn-std btn-block btn-download">Download</a>
            </div>
        </div>
    </div>
</header>
<!--Header End-->
<!--Navigation Begin-->
<div class="navbar" role="banner">
  <div class="container-fluid">
      <div class="navbar-header">
          <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
        </div>
        <nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation">
          <ul class="nav navbar-nav">
              <li><a href="/index.html" id="home">Home</a></li>
                <li><a href="/getting-help.html" id="getting-help">Getting Help</a></li>
                <li><a href="/about/integrates.html" id="project-info">Project Information</a></li>
                <li><a href="/documentation.html" id="documentation">Documentation</a></li>
                <li><a href="/talksAndVideos.html">Talks and Slideshows</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="contribute">Community <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="/contribute/Contributing-to-Storm.html">Contributing</a></li>
                        <li><a href="/contribute/People.html">People</a></li>
                        <li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
                    </ul>
                </li>
                <li><a href="/2015/11/05/storm096-released.html" id="news">News</a></li>
            </ul>
        </nav>
    </div>
</div>



    <div class="container-fluid">
    <h1 class="page-title">Project By-laws</h1>
          <div class="row">
           	<div class="col-md-12">
	             <!-- Documentation -->

<p class="post-meta"></p>

<h2 id="roles-and-responsibilities">Roles and Responsibilities</h2>

<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>

<h3 id="users">Users:</h3>

<p>The most important participants in the project are people who use our software. The majority of our developers start out as users and guide their development efforts from the user&#39;s perspective.</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>

<h3 id="contributors">Contributors:</h3>

<p>Contributors are all of the volunteers who are contributing time, code, documentation, or resources to the Storm 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>

<h3 id="committers">Committers:</h3>

<p>The project&#39;s Committers are responsible for the project&#39;s technical management. Committers have access to all project source repositories. Committers may cast binding votes on any technical discussion regarding storm.</p>

<p>Committer access is by invitation only and must be approved by lazy consensus 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 lazy consensus approval of active PMC members.</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="https://www.apache.org/dev/committers.html">Committers&#39; 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>

<h3 id="project-management-committee-pmc">Project Management Committee(PMC):</h3>

<p>The PMC is responsible to the board and the ASF for the management and oversight of the Apache Storm codebase. The responsibilities of the PMC include:</p>

<ul>
<li>Deciding what is distributed as products of the Apache Storm project. In particular all releases must be approved by the PMC.</li>
<li>Maintaining the project&#39;s shared resources, including the codebase repository, mailing lists, 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 &quot;emeritus&quot; 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 Storm) and has primary responsibility to the board for the management of the projects within the scope of the Storm PMC. The chair reports to the board quarterly on developments within the Storm 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">http://wiki.apache.org/general/BoardVoting</a> for specifics. The decision must be ratified by the Apache board.</p>

<h2 id="voting">Voting</h2>

<p>Decisions regarding the project are made by votes on the primary project development mailing list (<a href="mailto:dev@storm.apache.org">dev@storm.apache.org</a>). Where necessary, PMC voting may take place on the private Storm 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>

<table><thead>
<tr>
<th>Vote</th>
<th>Meaning</th>
</tr>
</thead><tbody>
<tr>
<td>+1</td>
<td>&#39;Yes,&#39; &#39;Agree,&#39; or &#39;the action should be performed.&#39;</td>
</tr>
<tr>
<td>+0</td>
<td>Neutral about the proposed action.</td>
</tr>
<tr>
<td>-0</td>
<td>Mildly negative, but not enough so to want to block it.</td>
</tr>
<tr>
<td>-1</td>
<td>This is a negative vote. 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.</td>
</tr>
</tbody></table>

<p>All participants in the Storm 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 Storm community. For PMC decisions, only the votes of active PMC members are binding.</p>

<p>Voting can also be applied to changes already made to the Storm codebase. These typically take the form of a veto (-1) in reply to the commit message sent when the commit is made. Note that this should be a rare occurrence. All efforts should be made to discuss issues when they are still patches before the code is committed.</p>

<p>Only active (i.e. non-emeritus) Committers and PMC members have binding votes.</p>

<h2 id="approvals">Approvals</h2>

<p>These are the types of approvals that can be sought. Different actions require different types of approvals</p>

<table><thead>
<tr>
<th>Approval Type</th>
<th>Criteria</th>
</tr>
</thead><tbody>
<tr>
<td>Consensus Approval</td>
<td>Consensus approval requires 3 binding +1 votes and no binding vetoes.</td>
</tr>
<tr>
<td>Majority Approval</td>
<td>Majority approval requires at least 3 binding +1 votes and more +1 votes than -1 votes.</td>
</tr>
<tr>
<td>Lazy Consensus</td>
<td>Lazy consensus requires no -1 votes (&#39;silence gives assent&#39;).</td>
</tr>
<tr>
<td>2/3 Majority</td>
<td>2/3 majority votes requires at least 3 votes and twice as many +1 votes as -1 votes.</td>
</tr>
</tbody></table>

<h3 id="vetoes">Vetoes</h3>

<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>

<h2 id="actions">Actions</h2>

<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>

<table><thead>
<tr>
<th>Actions</th>
<th>Description</th>
<th>Approval</th>
<th>Binding Votes</th>
<th>Minimum Length</th>
<th>Mailing List</th>
</tr>
</thead><tbody>
<tr>
<td>Code Change</td>
<td>A change made to a source code of the project and committed by a Committer.</td>
<td>A minimum of one +1 from a Committer other than the one who authored the patch, and no -1s. The code can be committed after the first +1. If a -1 is received to the patch within 7 days after the patch was posted, it may be reverted immediately if it was already merged.</td>
<td>Active Committers</td>
<td>1 day from initial patch (<strong>Note:</strong> Committers should consider allowing more time for review based on the complexity and/or impact of the patch in question.)</td>
<td>JIRA or Github pull ( with notification sent to <a href="mailto:dev@storm.apache.org">dev@storm.apache.org</a>)</td>
</tr>
<tr>
<td>Non-Code Change</td>
<td>A change made to a repository of the project and committed by a Committer. This includes documentation, website content, etc., but not source code, unless only comments are being modified.</td>
<td>Lazy Consensus</td>
<td>Active Committers</td>
<td>At the discression of the Committer</td>
<td>JIRA or Github pull (with notification sent to <a href="mailto:dev@storm.apache.org">dev@storm.apache.org</a>)</td>
</tr>
<tr>
<td>Product Release</td>
<td>A vote is required to accept a proposed release as an official release of the project. Any Committer may call for a release vote at any point in time.</td>
<td>Majority Approval</td>
<td>Active PMC members</td>
<td>3 days</td>
<td><a href="mailto:dev@storm.apache.org">dev@storm.apache.org</a></td>
</tr>
<tr>
<td>Adoption of New Codebase</td>
<td>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 and submodules within the project as well as merging of feature branches.</td>
<td>2/3 Majority</td>
<td>Active PMC members</td>
<td>6 days</td>
<td><a href="mailto:dev@storm.apache.org">dev@storm.apache.org</a></td>
</tr>
<tr>
<td>New Committer</td>
<td>When a new Committer is proposed for the project.</td>
<td>Consensus Approval</td>
<td>Active PMC members</td>
<td>3 days</td>
<td><a href="mailto:private@storm.apache.org">private@storm.apache.org</a></td>
</tr>
<tr>
<td>New PMC Member</td>
<td>When a member is proposed for the PMC.</td>
<td>Consensus Approval</td>
<td>Active PMC members</td>
<td>3 days</td>
<td><a href="mailto:private@storm.apache.org">private@storm.apache.org</a></td>
</tr>
<tr>
<td>Emeritus PMC Member re-instatement</td>
<td>When an emeritus PMC member requests to be re-instated as an active PMC member.</td>
<td>Consensus Approval</td>
<td>Active PMC members</td>
<td>6 days</td>
<td><a href="mailto:private@storm.apache.org">private@storm.apache.org</a></td>
</tr>
<tr>
<td>Emeritus Committer re-instatement</td>
<td>When an emeritus Committer requests to be re-instated as an active Committer.</td>
<td>Consensus Approval</td>
<td>Active PMC members</td>
<td>6 days</td>
<td><a href="mailto:private@storm.apache.org">private@storm.apache.org</a></td>
</tr>
<tr>
<td>Committer Removal</td>
<td>When removal of commit privileges is sought. Note: Such actions will also be referred to the ASF board by the PMC chair.</td>
<td>2/3 Majority</td>
<td>Active PMC members (excluding the Committer in question if a member of the PMC).</td>
<td>6 Days</td>
<td><a href="mailto:private@storm.apache.org">private@storm.apache.org</a></td>
</tr>
<tr>
<td>PMC Member Removal</td>
<td>When removal of a PMC member is sought. Note: Such actions will also be referred to the ASF board by the PMC chair.</td>
<td>2/3 Majority</td>
<td>Active PMC members (excluding the member in question).</td>
<td>6 Days</td>
<td><a href="mailto:private@storm.apache.org">private@storm.apache.org</a></td>
</tr>
<tr>
<td>Modifying Bylaws</td>
<td>Modifying this document.</td>
<td>2/3 Majority</td>
<td>Active PMC members</td>
<td>6 Days</td>
<td><a href="mailto:dev@storm.apache.org">dev@storm.apache.org</a></td>
</tr>
</tbody></table>



	          </div>
	       </div>
	  </div>
<footer>
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>Meetups</h5>
                    <ul class="latest-news">
                        
                        <li><a href="http://www.meetup.com/Apache-Storm-Apache-Kafka/">Apache Storm & Apache Kafka</a> <span class="small">(Sunnyvale, CA)</span></li>
                        
                        <li><a href="http://www.meetup.com/Apache-Storm-Kafka-Users/">Apache Storm & Kafka Users</a> <span class="small">(Seattle, WA)</span></li>
                        
                        <li><a href="http://www.meetup.com/New-York-City-Storm-User-Group/">NYC Storm User Group</a> <span class="small">(New York, NY)</span></li>
                        
                        <li><a href="http://www.meetup.com/Bay-Area-Stream-Processing">Bay Area Stream Processing</a> <span class="small">(Emeryville, CA)</span></li>
                        
                        <li><a href="http://www.meetup.com/Boston-Storm-Users/">Boston Realtime Data</a> <span class="small">(Boston, MA)</span></li>
                        
                        <li><a href="http://www.meetup.com/storm-london">London Storm User Group</a> <span class="small">(London, UK)</span></li>
                        
                        <!-- <li><a href="http://www.meetup.com/Apache-Storm-Kafka-Users/">Seatle, WA</a> <span class="small">(27 Jun 2015)</span></li> -->
                    </ul>
                </div>
            </div>
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>About Storm</h5>
                    <p>Storm integrates with any queueing system and any database system. Storm's spout abstraction makes it easy to integrate a new queuing system. Likewise, integrating Storm with database systems is easy.</p>
               </div>
            </div>
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>First Look</h5>
                    <ul class="footer-list">
                        <li><a href="/documentation/Rationale.html">Rationale</a></li>
                        <li><a href="/tutorial.html">Tutorial</a></li>
                        <li><a href="/documentation/Setting-up-development-environment.html">Setting up development environment</a></li>
                        <li><a href="/documentation/Creating-a-new-Storm-project.html">Creating a new Storm project</a></li>
                    </ul>
                </div>
            </div>
            <div class="col-md-3">
                <div class="footer-widget">
                    <h5>Documentation</h5>
                    <ul class="footer-list">
                        <li><a href="/doc-index.html">Index</a></li>
                        <li><a href="/documentation.html">Manual</a></li>
                        <li><a href="https://storm.apache.org/javadoc/apidocs/index.html">Javadoc</a></li>
                        <li><a href="/documentation/FAQ.html">FAQ</a></li>
                    </ul>
                </div>
            </div>
        </div>
        <hr/>
        <div class="row">   
            <div class="col-md-12">
                <p align="center">Copyright © 2015 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved. 
                    <br>Apache Storm, Apache, the Apache feather logo, and the Apache Storm project logos are trademarks of The Apache Software Foundation. 
                    <br>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
            </div>
        </div>
    </div>
</footer>
<!--Footer End-->
<!-- Scroll to top -->
<span class="totop"><a href="#"><i class="fa fa-angle-up"></i></a></span> 

</body>

</html>

