| <!DOCTYPE HTML> |
| <html lang="en-US"> |
| <head> |
| <meta http-equiv="CACHE-CONTROL" content="NO-CACHE"> |
| <meta charset="UTF-8"> |
| <title>Apache Mnemonic Bylaws</title> |
| <meta name="viewport" content="width=device-width,initial-scale=1"> |
| <meta name="generator" content="Jekyll v2.4.0"> |
| <link rel="stylesheet" href="/css/font-awesome.min.css"> |
| <link rel="stylesheet" href="/css/screen.css"> |
| <link rel="icon" type="image/x-icon" href="/favicon.ico"> |
| <script src="/js/jquery-3.2.1.min.js"></script> |
| <!--[if lt IE 9]> |
| <script src="/js/html5shiv.min.js"></script> |
| <script src="/js/respond.min.js"></script> |
| <![endif]--> |
| <script src="/js/screen.js"></script> |
| <script type="text/javascript" src="/assets/javascripts/bundle.js" charset="utf-8"></script> |
| </head> |
| |
| |
| <body> |
| <header role="banner"> |
| <nav class="mobile-nav show-on-mobiles"> |
| <ul> |
| <li class=""> |
| <a href="/">Home</a> |
| </li> |
| <li class=""> |
| <a href="/docs/">Doc<span class="show-on-mobiles">s</span><span class="hide-on-mobiles">umentation</span></a> |
| </li> |
| </li> |
| <li class=""> |
| <a href="/downloads/">Downloads</a> |
| </li> |
| <li class=""> |
| <a href="/talks/">Talks</a> |
| </li> |
| <li class=""> |
| <a href="/news/">News</a> |
| </li> |
| <li class="current"> |
| <a href="/develop/">Develop</a> |
| </li> |
| <li class=""> |
| <a href="/help/">Help</a> |
| </li> |
| </ul> |
| |
| </nav> |
| <div class="grid"> |
| <div class="unit one-third center-on-mobiles"> |
| <h1> |
| <a href="/"> |
| <span class="sr-only">Apache Mnemonic</span> |
| <img src="/img/mnemonic_logo_v2.png" width="289" alt="Mnemonic Logo" class="logo"> |
| </a> |
| <a href="https://www.apache.org/events/current-event.html"> |
| <img src="https://www.apache.org/events/current-event-234x60.png"/> |
| </a> |
| </h1> |
| </div> |
| <nav class="main-nav unit two-thirds hide-on-mobiles"> |
| <ul> |
| <li class=""> |
| <a href="/">Home</a> |
| </li> |
| <li class=""> |
| <a href="/docs/">Doc<span class="show-on-mobiles">s</span><span class="hide-on-mobiles">umentation</span></a> |
| </li> |
| </li> |
| <li class=""> |
| <a href="/downloads/">Downloads</a> |
| </li> |
| <li class=""> |
| <a href="/talks/">Talks</a> |
| </li> |
| <li class=""> |
| <a href="/news/">News</a> |
| </li> |
| <li class="current"> |
| <a href="/develop/">Develop</a> |
| </li> |
| <li class=""> |
| <a href="/help/">Help</a> |
| </li> |
| </ul> |
| |
| </nav> |
| </div> |
| <!-- Return to Top --> |
| <a href="#top" id="return-to-top"><i class="fa fa-chevron-up"></i></a> |
| </header> |
| |
| |
| <section class="standalone"> |
| <div class="grid"> |
| |
| <div class="unit whole"> |
| <article> |
| <h1>Apache Mnemonic Bylaws</h1> |
| <h2 id="introduction">Introduction</h2> |
| |
| <p>This document defines the bylaws under which the Apache mnemonic project |
| operates. It defines the roles and responsibilities of the project, |
| who may vote, how voting works, how conflicts are resolved, etc.</p> |
| |
| <p>mnemonic is a project of the Apache Software Foundation (ASF) and the foundation |
| holds the trademark on the name “mnemonic” and copyright on the combined |
| code base. The <a href="http://www.apache.org/foundation/faq.html">Apache Foundation |
| FAQ</a> and |
| <a href="http://www.apache.org/foundation/how-it-works.html">How-It-Works</a> |
| explain the operation and background of the foundation.</p> |
| |
| <p>Apache has a <a href="http://www.apache.org/foundation/policies/conduct.html">code of |
| conduct</a> that |
| it expects its members to follow. In particular:</p> |
| |
| <ul> |
| <li> |
| <p>Be <strong>open and welcoming</strong>. It is important that we grow and |
| encourage the community of users and developers for our project.</p> |
| </li> |
| <li> |
| <p>Be <strong>collaborative</strong>. Working together on the open mailing lists and |
| bug database to make decisions helps the project grow.</p> |
| </li> |
| <li> |
| <p>Be <strong>respectful</strong> of others. Everyone is volunteering their time and |
| efforts to work on this project. Please be respectful of everyone |
| and their views.</p> |
| </li> |
| </ul> |
| |
| <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. 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 include all of the volunteers who donate time, code, |
| documentation, |
| or resources to the mnemonic 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 the right to commit to the project’s git |
| repository. 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 Project Management Committee (PMC) |
| members.</p> |
| |
| <p>If a committer wishes to leave the project or does not contribute to |
| the project in any form for six months, the PMC may make them emeritus. |
| Emeritus committers lose their ability to commit code or cast binding |
| votes. 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>All Apache committers are required to have a signed <a href="https://www.apache.org/licenses/icla.txt">Individual |
| Contributor License |
| Agreement</a> (ICLA) 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> |
| |
| <h3 id="release-manager">Release Manager</h3> |
| |
| <p>A Release Manager (RM) is a committer who volunteers to produce a |
| Release Candidate. The RM shall publish a Release Plan on the |
| dev mailing list stating the branch from which they intend to |
| make a Release Candidate.</p> |
| |
| <h3 id="project-management-committee">Project Management Committee</h3> |
| |
| <p>The Project Management Committee (PMC) for Apache mnemonic was created by |
| the Apache Board in February 2016 when mnemonic moved out of Intel’s github |
| repositories and became an incubated project at Apache. |
| The PMC is responsible to the board and |
| the ASF for the management and oversight of the Apache mnemonic |
| codebase. The responsibilities of the PMC include</p> |
| |
| <ul> |
| <li> |
| <p>Deciding what is distributed as products of the Apache mnemonic |
| project. In particular all releases must be approved by the PMC.</p> |
| </li> |
| <li> |
| <p>Maintaining the project’s shared resources, including the codebase |
| repository, mailing lists, and websites.</p> |
| </li> |
| <li> |
| <p>Speaking on behalf of the project.</p> |
| </li> |
| <li> |
| <p>Resolving license disputes regarding products of the project</p> |
| </li> |
| <li> |
| <p>Nominating new PMC members and committers</p> |
| </li> |
| <li> |
| <p>Maintaining these bylaws and other guidelines of the project</p> |
| </li> |
| </ul> |
| |
| <p>Membership of the PMC is by invitation only and must be approved by a |
| consensus approval of active PMC members.</p> |
| |
| <p>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 mnemonic) and has primary responsibility to the board for the |
| management of the project within the scope of the mnemonic PMC. The |
| chair reports to the board quarterly on developments within the mnemonic |
| project.</p> |
| |
| <p>When the project desires a new PMC chair, the PMC votes to recommend a |
| new chair using <a href="http://wiki.apache.org/general/BoardVoting">Single Transferable |
| Vote</a> voting. The decision |
| must be ratified by the Apache board.</p> |
| |
| <h2 id="decision-making">Decision Making</h2> |
| |
| <p>Within the mnemonic 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.</p> |
| |
| <h3 id="voting">Voting</h3> |
| |
| <p>Decisions regarding the project are made by votes on the primary |
| project development mailing list (dev@mnemonic.apache.org). Where |
| necessary, PMC voting may take place on the private mnemonic 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 five flavors:</p> |
| |
| <ul> |
| <li> |
| <p><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.”</p> |
| </li> |
| <li> |
| <p><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.</p> |
| </li> |
| <li> |
| <p><strong>0</strong> – The voter is neutral on the topic under discussion.</p> |
| </li> |
| <li> |
| <p><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.</p> |
| </li> |
| <li> |
| <p><strong>-1</strong> – 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.</p> |
| </li> |
| </ul> |
| |
| <p>All participants in the mnemonic project are encouraged to show their |
| agreement for or against a particular action by voting, regardless of |
| whether their vote is binding. Nonbinding votes are useful for |
| encouraging discussion and understanding the scope of opinions within |
| the project.</p> |
| |
| <h3 id="approvals">Approvals</h3> |
| |
| <p>These are the types of approvals that can be sought. Different actions |
| require different types of approvals.</p> |
| |
| <ul> |
| <li> |
| <p><strong>Consensus Approval</strong> – Consensus approval requires 3 binding +1 |
| votes and no binding vetoes.</p> |
| </li> |
| <li> |
| <p><strong>Lazy Consensus</strong> – Lazy consensus requires at least one +1 vote and |
| no -1 votes (‘silence gives assent’).</p> |
| </li> |
| <li> |
| <p><strong>Lazy Majority</strong> – A lazy majority vote requires 3 binding +1 votes |
| and more binding +1 votes than -1 votes.</p> |
| </li> |
| <li> |
| <p><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.</p> |
| </li> |
| </ul> |
| |
| <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. 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 already been taken must be reversed in a timely manner.</p> |
| |
| <h3 id="actions">Actions</h3> |
| |
| <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> |
| |
| <h4 id="code-change">Code Change</h4> |
| |
| <p>A change made to a codebase of the project requires <em>lazy consensus</em> |
| of active committers other than the author of the patch. The code can |
| be committed after the first +1.</p> |
| |
| <h4 id="product-release">Product Release</h4> |
| |
| <p>To make a release, the release manager creates a release candidate and |
| a vote requiring a <em>lazy majority</em> of the active PMC members is |
| required. Once the vote passes, the release candidate becomes an |
| official release.</p> |
| |
| <h4 id="adoption-of-new-codebase">Adoption of New Codebase</h4> |
| |
| <p>When the codebase for an existing, released product is to be replaced |
| with an alternative codebase, it requires a <em>lazy 2/3 majority</em> of PMC |
| members. This also covers the creation of new sub-projects and |
| submodules within the project.</p> |
| |
| <h4 id="new-committer">New Committer</h4> |
| |
| <p>When a new committer is proposed for the project, <em>consensus approval</em> |
| of the active PMC members is required.</p> |
| |
| <h4 id="new-pmc-member">New PMC Member</h4> |
| |
| <p>To promote a committer to a PMC member requires <em>consensus approval</em> |
| of active PMC members.</p> |
| |
| <p>If the vote passes, the Apache Board must be notified to make the change |
| official.</p> |
| |
| <h4 id="committer-removal">Committer Removal</h4> |
| |
| <p>Removal of commit privileges requires a <em>lazy 2/3 majority</em> of active |
| PMC members.</p> |
| |
| <h4 id="pmc-member-removal">PMC Member Removal</h4> |
| |
| <p>Removing a PMC member requires a <em>lazy 2/3 majority</em> of active PMC |
| members, excluding the member in question.</p> |
| |
| <p>If the vote passes, the Apache Board must be notified to make the change |
| official.</p> |
| |
| <h4 id="modifying-bylaws">Modifying Bylaws</h4> |
| |
| <p>Modifying this document requires a <em>lazy majority</em> of active PMC members.</p> |
| |
| <h3 id="voting-timeframes">Voting Timeframes</h3> |
| |
| <p>Votes are open for a minimum period of 72 hours to allow all active |
| voters time to consider the vote. For holiday weekends or conferences, |
| consider using a longer vote window. Votes relating to code changes are |
| not subject to a strict timetable but should be made as timely as |
| possible.</p> |
| |
| </article> |
| </div> |
| |
| <div class="clear"></div> |
| |
| </div> |
| </section> |
| |
| |
| <footer role="contentinfo"> |
| <p><div align="center">Apache Mnemonic, Mnemonic, Apache, and the Mnemonic logo are trademarks of The Apache Software Foundation.</div> |
| <div align="center"> Copyright © 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a></div></p> |
| </footer> |
| |
| <script> |
| var anchorForId = function (id) { |
| var anchor = document.createElement("a"); |
| anchor.className = "header-link"; |
| anchor.href = "#" + id; |
| anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>"; |
| anchor.title = "Permalink"; |
| return anchor; |
| }; |
| |
| var linkifyAnchors = function (level, containingElement) { |
| var headers = containingElement.getElementsByTagName("h" + level); |
| for (var h = 0; h < headers.length; h++) { |
| var header = headers[h]; |
| |
| if (typeof header.id !== "undefined" && header.id !== "") { |
| header.appendChild(anchorForId(header.id)); |
| } |
| } |
| }; |
| |
| document.onreadystatechange = function () { |
| if (this.readyState === "complete") { |
| var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0]; |
| if (!contentBlock) { |
| return; |
| } |
| for (var level = 1; level <= 6; level++) { |
| linkifyAnchors(level, contentBlock); |
| } |
| } |
| }; |
| </script> |
| |
| |
| </body> |
| </html> |