| <!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'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's Committers are responsible for the project'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' |
| 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'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 "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 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>'Yes,' 'Agree,' or 'the action should be performed.'</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 ('silence gives assent').</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> |
| |