<!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="https://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>
</head>


<body>
<header>
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-5">
                <a href="../index.html"><img src="../images/logo.png" class="logo"/></a>
            </div>
            <div class="col-md-5">

            </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 class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="documentation">Documentation <b
                            class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="../releases/2.4.0/index.html">2.4.0</a></li>
                        <li><a href="../releases/2.3.0/index.html">2.3.0</a></li>
                        <li><a href="../releases/2.2.1/index.html">2.2.1</a></li>
                        <li><a href="../releases/2.2.0/index.html">2.2.0</a></li>
                        <li><a href="../releases/2.1.1/index.html">2.1.1</a></li>
                        <li><a href="../releases/2.1.0/index.html">2.1.0</a></li>
                        <li><a href="../releases/2.0.0/index.html">2.0.0</a></li>
                        <li><a href="../releases/1.2.4/index.html">1.2.4</a></li>
                        <li><a href="../releases/1.2.3/index.html">1.2.3</a></li>
                    </ul>
                </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>
                        <li><a href="../Powered-By.html">PoweredBy</a></li>
                    </ul>
                </li>
                <li><a href="../2022/03/25/storm240-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>

            <div class="documentation-content"><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>
</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 Apache Storm</h5>
                    <p>Apache Storm integrates with any queueing system and any database system. Apache Storm's spout
                        abstraction makes it easy to integrate a new queuing system. Likewise, integrating Apache 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="../releases/current/Rationale.html">Rationale</a></li>
                        <li><a href="../releases/current/Tutorial.html">Tutorial</a></li>
                        <li><a href="../releases/current/Setting-up-development-environment.html">
                            Setting up development environment</a></li>
                        <li><a href="../releases/current/Creating-a-new-Storm-project.html">
                            Creating a new Apache 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="../releases/current/index.html">Index</a></li>
                        <li><a href="../releases/current/javadocs/index.html">Javadoc</a></li>
                        <li><a href="../releases/current/FAQ.html">FAQ</a></li>
                    </ul>
                </div>
            </div>
        </div>
        <hr/>
        <div class="row">
            <div class="col-md-12">
                <p align="center">Copyright © 2022 <a href="https://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>

