| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"/> |
| <meta name="Date-Revision-yyyymmdd" content="20140918"/> |
| <meta http-equiv="Content-Language" content="en"/> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| |
| <title>Project Management Committee Charter</title> |
| |
| <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css"> |
| <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> |
| <link href="/css/main.css" rel="stylesheet"> |
| <link href="/css/custom.css" rel="stylesheet"> |
| <link href="/highlighter/github-theme.css" rel="stylesheet"> |
| |
| <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> |
| <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script> |
| <script type="text/javascript" src="/js/community.js"></script> |
| </head> |
| <body> |
| |
| <a href="http://github.com/apache/struts" class="github-ribbon"> |
| <img style="position: absolute; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub"> |
| </a> |
| |
| <header> |
| <nav> |
| <div role="navigation" class="navbar navbar-default navbar-fixed-top"> |
| <div class="container"> |
| <div class="navbar-header"> |
| <button type="button" data-toggle="collapse" data-target="#struts-menu" class="navbar-toggle"> |
| Menu |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| <a href="/index.html" class="navbar-brand logo"><img src="/img/struts-logo.svg"></a> |
| </div> |
| <div id="struts-menu" class="navbar-collapse collapse"> |
| <ul class="nav navbar-nav"> |
| <li class="dropdown"> |
| <a data-toggle="dropdown" href="#" class="dropdown-toggle"> |
| Home<b class="caret"></b> |
| </a> |
| <ul class="dropdown-menu"> |
| <li><a href="/index.html">Welcome</a></li> |
| <li><a href="/download.cgi">Download</a></li> |
| <li><a href="/releases.html">Releases</a></li> |
| <li><a href="/announce-2021.html">Announcements</a></li> |
| <li><a href="http://www.apache.org/licenses/">License</a></li> |
| <li><a href="https://www.apache.org/foundation/thanks.html">Thanks!</a></li> |
| <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> |
| </ul> |
| </li> |
| <li class="dropdown"> |
| <a data-toggle="dropdown" href="#" class="dropdown-toggle"> |
| Support<b class="caret"></b> |
| </a> |
| <ul class="dropdown-menu"> |
| <li><a href="/mail.html">User Mailing List</a></li> |
| <li><a href="https://issues.apache.org/jira/browse/WW">Issue Tracker</a></li> |
| <li><a href="/security.html">Reporting Security Issues</a></li> |
| <li class="divider"></li> |
| <li><a href="https://cwiki.apache.org/confluence/display/WW/Migration+Guide">Version Notes</a></li> |
| <li><a href="https://cwiki.apache.org/confluence/display/WW/Security+Bulletins">Security Bulletins</a></li> |
| <li class="divider"></li> |
| <li><a href="/maven/project-info.html">Maven Project Info</a></li> |
| <li><a href="/maven/struts2-core/dependencies.html">Struts Core Dependencies</a></li> |
| <li><a href="/maven/struts2-plugins/modules.html">Plugin Dependencies</a></li> |
| </ul> |
| </li> |
| <li class="dropdown"> |
| <a data-toggle="dropdown" href="#" class="dropdown-toggle"> |
| Documentation<b class="caret"></b> |
| </a> |
| <ul class="dropdown-menu"> |
| <li><a href="/birdseye.html">Birds Eye</a></li> |
| <li><a href="/primer.html">Key Technologies</a></li> |
| <li><a href="/kickstart.html">Kickstart FAQ</a></li> |
| <li><a href="https://cwiki.apache.org/confluence/display/WW/Home">Wiki</a></li> |
| <li class="divider"></li> |
| <li><a href="/getting-started/">Getting Started</a></li> |
| <li><a href="/security/">Security Guide</a></li> |
| <li><a href="/core-developers/">Core Developers Guide</a></li> |
| <li><a href="/tag-developers/">Tag Developers Guide</a></li> |
| <li><a href="/maven-archetypes/">Maven Archetypes</a></li> |
| <li><a href="/plugins/">Plugins</a></li> |
| <li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li> |
| <li><a href="/tag-developers/tag-reference.html">Tag reference</a></li> |
| <li><a href="https://cwiki.apache.org/confluence/display/WW/FAQs">FAQs</a></li> |
| <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li> |
| </ul> |
| </li> |
| <li class="dropdown"> |
| <a data-toggle="dropdown" href="#" class="dropdown-toggle"> |
| Contributing<b class="caret"></b> |
| </a> |
| <ul class="dropdown-menu"> |
| <li><a href="/youatstruts.html">You at Struts</a></li> |
| <li><a href="/helping.html">How to Help FAQ</a></li> |
| <li><a href="/dev-mail.html">Development Lists</a></li> |
| <li><a href="/contributors/">Contributors Guide</a></li> |
| <li class="divider"></li> |
| <li><a href="/submitting-patches.html">Submitting patches</a></li> |
| <li><a href="/builds.html">Source Code and Builds</a></li> |
| <li><a href="/coding-standards.html">Coding standards</a></li> |
| <li><a href="https://cwiki.apache.org/confluence/display/WW/Contributors+Guide">Contributors Guide</a></li> |
| <li class="divider"></li> |
| <li><a href="/release-guidelines.html">Release Guidelines</a></li> |
| <li><a href="/bylaws.html">PMC Charter</a></li> |
| <li><a href="/volunteers.html">Volunteers</a></li> |
| <li><a href="https://gitbox.apache.org/repos/asf?p=struts.git">Source Repository</a></li> |
| <li><a href="/updating-website.html">Updating the website</a></li> |
| </ul> |
| </li> |
| <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| </nav> |
| </header> |
| |
| |
| <article class="container"> |
| <section class="col-md-12"> |
| <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/bylaws.md" title="Edit this page on GitHub">Edit on GitHub</a> |
| |
| <h1 class="no_toc" id="project-management-committee-charter">Project Management Committee Charter</h1> |
| |
| <ul id="markdown-toc"> |
| <li><a href="#apache-struts-pmc-charter" id="markdown-toc-apache-struts-pmc-charter">Apache Struts PMC Charter</a></li> |
| <li><a href="#roles-and-responsibilities" id="markdown-toc-roles-and-responsibilities">Roles and Responsibilities</a></li> |
| <li><a href="#users" id="markdown-toc-users">Users</a></li> |
| <li><a href="#contributors" id="markdown-toc-contributors">Contributors</a></li> |
| <li><a href="#committers" id="markdown-toc-committers">Committers</a></li> |
| <li><a href="#project-management-committee-pmc" id="markdown-toc-project-management-committee-pmc">Project Management Committee (PMC)</a> <ul> |
| <li><a href="#management" id="markdown-toc-management">Management</a></li> |
| <li><a href="#pmc-duties" id="markdown-toc-pmc-duties">PMC Duties</a></li> |
| <li><a href="#subprojects" id="markdown-toc-subprojects">Subprojects</a></li> |
| </ul> |
| </li> |
| <li><a href="#decision-making" id="markdown-toc-decision-making">Decision Making</a> <ul> |
| <li><a href="#voting" id="markdown-toc-voting">Voting</a></li> |
| </ul> |
| </li> |
| <li><a href="#action-items" id="markdown-toc-action-items">Action Items</a> <ul> |
| <li><a href="#long-term-plans" id="markdown-toc-long-term-plans">Long Term Plans</a></li> |
| <li><a href="#short-term-plan" id="markdown-toc-short-term-plan">Short Term Plan</a></li> |
| <li><a href="#product-changes" id="markdown-toc-product-changes">Product Changes</a></li> |
| <li><a href="#showstoppers" id="markdown-toc-showstoppers">Showstoppers</a></li> |
| <li><a href="#release-plan" id="markdown-toc-release-plan">Release Plan</a></li> |
| <li><a href="#release-grade" id="markdown-toc-release-grade">Release Grade</a></li> |
| </ul> |
| </li> |
| <li><a href="#sandbox" id="markdown-toc-sandbox">Sandbox</a></li> |
| </ul> |
| |
| <h2 id="apache-struts-pmc-charter">Apache Struts PMC Charter</h2> |
| |
| <p>Struts is a Project of the <a href="https://www.apache.org/foundation">Apache Software Foundation</a> (ASF), formed by a resolution |
| of the <a href="https://www.apache.org/foundation/board/">ASF Board of Directors</a>. As an ASF Project, Struts is subject to the |
| <a href="https://www.apache.org/foundation/bylaws.html">ASF Bylaws</a> and the direction of the ASF Board.</p> |
| |
| <p>The Project Charter incorporates by reference the current version |
| of <a href="https://www.apache.org/foundation/how-it-works.html">How the ASF works</a>, with the additional guidelines |
| and clarifications found herein.</p> |
| |
| <h2 id="roles-and-responsibilities">Roles and Responsibilities</h2> |
| |
| <p>The roles and responsibilities that people can assume in the project are based on merit. |
| Everybody can help no matter what their role. Those who have been long term or valuable contributors to |
| the project can earn the right to commit directly to the source repository and to cast binding votes during |
| the decision-making process.</p> |
| |
| <h2 id="users">Users</h2> |
| |
| <p>Users are the people who use the products of the Project. People in this role aren’t contributing code, |
| but they are using the products, reporting bugs, making feature requests, and such. This is by far |
| the most important category of people as, without users, there is no reason for the Project. |
| When a user starts to contribute code or documentation patches, they become a Contributor.</p> |
| |
| <h2 id="contributors">Contributors</h2> |
| |
| <p>Contributors are the people who write code or documentation patches or contribute positively to the project |
| in other ways. When a volunteer’s patch is applied, the contribution is recognized in the version control log.</p> |
| |
| <h2 id="committers">Committers</h2> |
| |
| <p>Contributors who give frequent and valuable contributions to a subproject of the Project can have their status |
| promoted to that of a “<em>Committer</em>” for that subproject. A Committer has write access to the source code repository. |
| Committer status is granted by the Project Management Committee by majority vote.</p> |
| |
| <h2 id="project-management-committee-pmc">Project Management Committee (PMC)</h2> |
| |
| <p>Committers and other volunteers who frequently participate with valuable contributions may have their status promoted |
| to that of a “<em>Project Management Committee Member</em>”. The PMC is responsible for the day-to-day management |
| of the Project.</p> |
| |
| <h3 id="management">Management</h3> |
| |
| <p>The Vice President is appointed by the ASF Board. The Vice President is assisted by the Project Management Committee |
| (PMC) and also serves as the PMC chair. The PMC may nominate new members. Nominees may then be approved |
| with a 3/4 majority vote of the PMC. Membership can be revoked by a unanimous vote of all the active PMC members |
| other than the member in question. The list of active PMC members can be found on our <a href="volunteers.html">Volunteers page</a>.</p> |
| |
| <h3 id="pmc-duties">PMC Duties</h3> |
| |
| <p>The PMC is responsible for the day-to-day management of the Struts Project. The PMC oversees all changes |
| made to the codebase. The PMC must ensure that all code under a Apache Struts repository is the lawful property |
| of the Foundation and may be distributed under the <a href="https://www.apache.org/licenses/">Apache Software License</a>. |
| All releases of a Struts subproject must be sanctioned by the Project Management Committee.</p> |
| |
| <h3 id="subprojects">Subprojects</h3> |
| |
| <p>Subprojects are the Project’s unit of release. Each subproject should represent an implementation of a Struts framework |
| or a related component. Each subproject should focus on creating, maintaining, and releasing a single software |
| product or “deliverable”.</p> |
| |
| <p>All PMC Members have voting rights in all subprojects. Members not familiar with a subproject codebase may abstain |
| from any given vote. All Committers have write access to all subprojects. Subprojects are units of release, not |
| units of work.</p> |
| |
| <p>PMC members may propose the creation of new subprojects. Proposals are to contain the scope of the project, |
| identify the initial source from which the project is to be populated, identify any mailing lists or |
| repositories, if any, which are to be created. Creation of a new subproject requires approval by a 3/4 majority |
| vote of the PMC.</p> |
| |
| <h2 id="decision-making">Decision Making</h2> |
| |
| <p>All <a href="https://www.apache.org/foundation/how-it-works.html#roles">Volunteers</a> (Users, Developers, Committers, PMC Members) |
| are encouraged to participate in the decision-making process, but binding decisions are made only |
| by the Project Management Committee.</p> |
| |
| <h3 id="voting">Voting</h3> |
| |
| <p>Any subscriber to the list may <a href="https://www.apache.org/foundation/voting.html">vote</a> on any issue or action item. |
| Votes from Developers and Committers are especially welcome. However, the only binding votes are those cast by a PMC |
| Member.</p> |
| |
| <p>The act of voting carries certain obligations. Voters are not only stating their opinion, they are also agreeing |
| to help do the work.</p> |
| |
| <p>Each vote can be made in one of three flavors:</p> |
| |
| <table class="bodyTable"> |
| <tr class="a"> |
| <td> |
| <strong>+1</strong> |
| </td> |
| <td> |
| "Yes" "Agree," or "the action should be performed". |
| On some issues this is only binding if the voter has tested the action on their own system(s). |
| </td> |
| </tr> |
| <tr class="b"> |
| <td> |
| <strong>+/-0</strong> |
| </td> |
| <td> |
| "Abstain", "no opinion". |
| An abstention may have detrimental effects if too many people abstain. |
| </td> |
| </tr> |
| <tr class="a"> |
| <td> |
| <strong>-1</strong> |
| </td> |
| <td> |
| "No". |
| |
| On issues where consensus is required, this vote counts as a **veto**. |
| All vetos must contain an explanation of why the veto is appropriate. Vetos with no explanation are void. |
| A veto cannot be overruled. If you disagree with the veto, you should lobby the person who |
| cast the veto. Voters intending to veto an action item should make their opinions known to the group |
| immediately so that the problem can be remedied as early as possible. |
| |
| If a Committer tries to "override" a veto by restoring a vetoed change, the PMC may ask the infrastructure |
| group to revoke that Committer's write privileges. |
| </td> |
| </tr> |
| </table> |
| |
| <p>An action requiring consensus approval must receive at least <strong>3 binding +1</strong> votes and <strong>no binding vetoes</strong>. |
| An action requiring majority approval must receive at least <strong>3 binding +1</strong> votes and more <strong>+1</strong> votes than |
| <strong>-1</strong> votes. All other action items are considered to have lazy approval until somebody votes<strong>-1</strong>, after which |
| point they are decided by either consensus or majority vote, depending on the type of action item.</p> |
| |
| <p>Voting represent consensus and votes are never final. Circumstances change, and so may votes. A veto may be converted |
| to a +1 after discussion, and likewise a +1 may be converted to a -1. By convention, Committers should allow a vote |
| to circulate for 72 hours before taking action.</p> |
| |
| <h2 id="action-items">Action Items</h2> |
| |
| <p>All decisions revolve around “<em>Action Items</em>”. Action Items consist of the following:</p> |
| <ul> |
| <li>Long Term Plans</li> |
| <li>Short Term Plans</li> |
| <li>Product Changes</li> |
| <li>Showstoppers (or “blockers”)</li> |
| <li>Release Plan</li> |
| <li>Release Grade</li> |
| </ul> |
| |
| <h3 id="long-term-plans">Long Term Plans</h3> |
| |
| <p>Long term plans are simply announcements that group members are working on particular issues related to the Project. |
| These items are not voted on, but Committers and PMC Members who do not agree with a particular plan, or think that |
| an alternative plan would be better, are obligated to inform the group of their feelings.</p> |
| |
| <h3 id="short-term-plan">Short Term Plan</h3> |
| |
| <p>Short term plans are announcements that a volunteer is working on a particular set of documentation or code files |
| with the implication that other volunteers should avoid them or try to coordinate their changes.</p> |
| |
| <h3 id="product-changes">Product Changes</h3> |
| |
| <p>All product changes to the repository are subject to lazy consensus.</p> |
| |
| <h3 id="showstoppers">Showstoppers</h3> |
| |
| <p>Showstoppers are issues that require a fix be in place before the next public release. They are designated as “blockers” |
| in the issue tracker in order to focus special attention on these problems. An issue becomes a showstopper when it is |
| designated as such in the issue tracker by a PMC member and remains so by lazy consensus.</p> |
| |
| <h3 id="release-plan">Release Plan</h3> |
| |
| <p>A release plan must be used to keep all volunteers aware of when a release is desired, whether it will be a major, |
| minor, or milestone release, who will be the release manager, when the repository will be tagged to create |
| the distribution, and other assorted information to keep volunteers from tripping over each other. A release |
| plan must be incorporated into the product documentation, or otherwise announced to the DEV list. |
| Lazy majority decides each issue in a release plan.</p> |
| |
| <h3 id="release-grade">Release Grade</h3> |
| |
| <p>After a proposed release is built, it must be tested and classified before being released to the general public. |
| The proposed release may be assigned “Alpha”, “Beta” or “General Availability” classifications by majority vote. |
| Once a release is classified by the PMC Members, it may be distributed to the general public on behalf of the Foundation. |
| Distributions may be reclassified or withdrawn by majority vote, but the release number may not be reused by another distribution.</p> |
| |
| <h2 id="sandbox">Sandbox</h2> |
| |
| <p>Pursuant to the <a href="http://incubator.apache.org/learn/rules-for-revolutionaries.html">“Rules for Revolutionaries”</a>, |
| any committer may submit experimental material to the Sandbox area of the repository at his or her own discretion.</p> |
| |
| <p>Material must be moved from the sandbox to the main repository before it can be released. If a sandbox whiteboard |
| becomes dormant for six or more months, it may be moved to the archive section of the repository.</p> |
| |
| <p>Experimental material that is outside the scope of the Struts project may also be submitted to the |
| <a href="http://labs.apache.org/">Apache Labs</a></p> |
| |
| <p>Next: <a href="volunteers.html">Volunteers</a></p> |
| |
| </section> |
| </article> |
| |
| |
| <footer class="container"> |
| <div class="col-md-12"> |
| Copyright © 2000-2018 <a href="http://www.apache.org/">The Apache Software Foundation </a>. |
| All Rights Reserved. |
| </div> |
| <div class="col-md-12"> |
| Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project logos are |
| trademarks of The Apache Software Foundation. |
| </div> |
| <div class="col-md-12">Logo and website design donated by <a href="https://softwaremill.com/">SoftwareMill</a>.</div> |
| </footer> |
| |
| <script>!function (d, s, id) { |
| var js, fjs = d.getElementsByTagName(s)[0]; |
| if (!d.getElementById(id)) { |
| js = d.createElement(s); |
| js.id = id; |
| js.src = "//platform.twitter.com/widgets.js"; |
| fjs.parentNode.insertBefore(js, fjs); |
| } |
| }(document, "script", "twitter-wjs");</script> |
| <script src="https://apis.google.com/js/platform.js" async="async" defer="defer"></script> |
| |
| <div id="fb-root"></div> |
| |
| <script>(function (d, s, id) { |
| var js, fjs = d.getElementsByTagName(s)[0]; |
| if (d.getElementById(id)) return; |
| js = d.createElement(s); |
| js.id = id; |
| js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"; |
| fjs.parentNode.insertBefore(js, fjs); |
| }(document, 'script', 'facebook-jssdk'));</script> |
| |
| |
| </body> |
| </html> |