You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by co...@apache.org on 2003/01/25 08:10:38 UTC
cvs commit: jakarta-ant/proposal/ant-site/anakia/xdocs bylaws.xml
conor 2003/01/24 23:10:38
Modified: proposal/ant-site/anakia/docs bylaws.html
proposal/ant-site/anakia/xdocs bylaws.xml
Log:
Update bylaws proposal
Revision Changes Path
1.15 +455 -63 jakarta-ant/proposal/ant-site/anakia/docs/bylaws.html
Index: bylaws.html
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/ant-site/anakia/docs/bylaws.html,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -w -u -r1.14 -r1.15
--- bylaws.html 22 Jan 2003 23:09:49 -0000 1.14
+++ bylaws.html 25 Jan 2003 07:10:37 -0000 1.15
@@ -201,20 +201,120 @@
<tr><td bgcolor="#294563"><font color="#ffffff"><a name="Apache Ant Project Bylaws"><strong>Apache Ant Project Bylaws</strong></a></font></td></tr>
</table>
<p>
- This document defines the bylaws under which the Apache Ant project operates.
- It defines the the roles and responsibilities of the project, who may vote,
- how conflicts are resolved, etc.
- </p>
- <p>
- Ant is typical of Apache projects in that it operates under a set of principles,
- known as the Apache Way. If you are new to Apache, please refer to the
- <a href="http://incubator.apache.org">Incubator project</a> for more information on
- how Apache projects operate.
+ This document defines the bylaws under which the Apache Ant project
+ operates. It defines the the roles and responsibilities of the
+ project, who may vote, how voting works, how conflicts are resolved,
+ etc.
+ </p>
+ <p>
+ Ant is a project of the
+ <a href="http://www.apache.org/foundation/">Apache Software
+ Foundation</a>. The foundation holds the copyright on Apache
+ code including the code in the Ant codebase. The
+ <a href="http://www.apache.org/foundation/faq.html">foundation FAQ</a>
+ explains the operation and background of the foundation.
+ </p>
+ <p>
+ Ant is typical of Apache projects in that it operates under a set of
+ principles, known collectively as the "Apache Way". If you are
+ new to Apache, please refer to the
+ <a href="http://incubator.apache.org">Incubator project</a>
+ for more information on how Apache projects operate. <b>Note:</b> the
+ incubator project has only been recently set up and does not yet explain
+ the Apache Way in great detail.
</p>
+ <ul>
+ <li><a href="#Roles and Responsibilities">Roles and Responsibilities</a></li>
+ <li><a href="#Decision Making">How decisions are made</a></li>
+ </ul>
<br/>
<table class="nowrap" border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#294563"><font color="#ffffff"><a name="Roles and Responsibilities"><strong>Roles and Responsibilities</strong></a></font></td></tr>
</table>
+ <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 the following sections
+ </p>
+ <ul>
+ <li><a href="#Users">Users</a></li>
+ <li><a href="#Developers">Developers</a></li>
+ <li><a href="#Committers">Committers</a></li>
+ <li><a href="#Project Management Committee">
+ Project Management Committee (PMC)</a>
+ </li>
+ </ul>
+ <br/>
+ <a name="Users"></a>
+ <table border="0" cellspacing="0" cellpadding="2" width="100%">
+ <tr><td bgcolor="#4C6C8F">
+ <font color="#ffffff" face="arial,helvetica,sanserif">
+ <strong>Users</strong>
+ </font>
+ </td></tr>
+ </table>
+ <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 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>
+ <br/>
+ <a name="Developers"></a>
+ <table border="0" cellspacing="0" cellpadding="2" width="100%">
+ <tr><td bgcolor="#4C6C8F">
+ <font color="#ffffff" face="arial,helvetica,sanserif">
+ <strong>Developers</strong>
+ </font>
+ </td></tr>
+ </table>
+ <p>
+ All of the volunteers who are contributing time, code, documentation,
+ or resources to the Ant Project. A developer 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>
+ <br/>
+ <a name="Committers"></a>
+ <table border="0" cellspacing="0" cellpadding="2" width="100%">
+ <tr><td bgcolor="#4C6C8F">
+ <font color="#ffffff" face="arial,helvetica,sanserif">
+ <strong>Committers</strong>
+ </font>
+ </td></tr>
+ </table>
+ <p>
+ The project's Committers are responsible for the project's technical
+ management. All committers have write access to the project's source
+ repositories. Committers may cast binding votes on any technical
+ discussion regarding the project.
+ </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 four months. An emeritus committer may request
+ reinstatement of commit access fromt he PMC. Such reinstatement is
+ subject to lazy consensus of active PMC members. Commit access can be
+ revoked by a unanimous vote of all the active PMC members (except the
+ committer in question if they are also a PMC member).
+ </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="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 contibution to the project may be
+ invited to become a member of the PMC.
+ </p>
<br/>
<a name="Project Management Committee"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
@@ -225,17 +325,18 @@
</td></tr>
</table>
<p>
- The Project Management Committee (PMC) for Apache Ant was created by a resolution of the
- board of the Apache Software Foundation (ASF)on 18th November 2002. The PMC is responsible
- to the board and the ASF for the management and oversight of the Apache Ant codebase.
- The responsibilites of the PMC include
+ The Project Management Committee (PMC) for Apache Ant was created by a
+ <a href="mission.html">resolution</a> of the board of the Apache
+ Software Foundation on 18<sup>th</sup> November 2002. The PMC is
+ responsible to the board and the ASF for the management and oversight
+ of the Apache Ant codebase. The responsibilites of the PMC include
</p>
<ul>
- <li>Deciding what is distributed as products of the Apache Ant project. In particular
- all releases must be approved by the PMC
+ <li>Deciding what is distributed as products of the Apache Ant 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>Maintaining the project's shared resources, including the codebase
+ repository, mailing lists, websites.
</li>
<li>Speaking on behalf of the project.
</li>
@@ -247,84 +348,375 @@
</li>
</ul>
<p>
- Membership of the PMC is by invitation only and must be approved by a consensus of active PMC members.
- A PMC member is considered inactive by their own declaration or by not contributing in any form to the
- project for over six months. An inactive member can become active again by reversing whichever condition
- made them inactive (i.e., by reversing their earlier declaration or by once again contributing toward the
- project's work). Membership can be revoked by an unanimous vote of all the active PMC members other
- than the member in question.
+ Membership of the PMC is by invitation only and must be approved by a
+ lazy consensus 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 four months. An emeritus member may
+ request reinstatement to the PMC. Such reinstatement is subject to lazy
+ consensus of the active PMC members. Membership of the PMC can be
+ revoked by an unanimous vote of all the active PMC members other than
+ the member in question.
+ </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 Ant) and has primary responsibility to the board for the
+ management of the projects within the scope of the Ant PMC. The chair
+ reports to the board quarterly on developments within the Ant project.
+ The PMC may consider the position of PMC chair annually and if
+ supported by 3/4 Majority may recommend a new chair to the board.
+ Ultimately, however, it is the board's responsibility who to appoint as
+ the PMC chair.
</p>
+ <br/>
+ <table class="nowrap" border="0" cellspacing="0" cellpadding="2" width="100%">
+ <tr><td bgcolor="#294563"><font color="#ffffff"><a name="Decision Making"><strong>Decision Making</strong></a></font></td></tr>
+ </table>
<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 Ant) and has primary responsibility to the board for the
- management of the projects within the scope of the Ant PMC. The chair reports to the board quarterly
- on developments within the Ant project. The PMC may consider the position of PMC chair annually
- and if supported by 3/4 Majority may recommend a new chair to the board. Ultimately, however, it is
- the board's responsibility who to appoint as the PMC chair.
+ Within the Ant project, different types of decisions require different
+ forms of approval. For example, the
+ <a href="#Roles and Responsibilities">previous section</a> describes
+ several decisions which require "lazy consensus" approval. This
+ section defines how voting is performed, the types of approvals, and which
+ types of decision require which type of approval.
</p>
<br/>
- <a name="Committers"></a>
+ <a name="Voting"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
- <strong>Committers</strong>
+ <strong>Voting</strong>
</font>
</td></tr>
</table>
<p>
- The project's Committers are responsible for the project's technical management. All committers have
- write access to the project's source repository. Committers may cast binding votes on any technical
- discussion regarding the project.
- </p>
- <p>
- Membership as a Committer is by invitation only and must be approved by consensus of the active
- PMC members. A Committer is considered inactive by their own declaration or by not contributing
- in any form to the project for over six months. An inactive committer can become active again
- by reversing whichever condition made them inactive (i.e., by reversing their earlier declaration
- or by once again contributing toward the project's work). Commit access can be revoked by a
- unanimous vote of all the active PMC members (except the member in question if they are a PMC member).
- </p>
+ Decisions regarding the project are made by votes on the primary project
+ development mailing list (ant-dev@jakarta.apache.org). Where necessary,
+ PMC voting may take place on the private Ant PMC mailing list.
+ Votes are 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 flavours
+ </p>
+ <table class="ForrestTable" cellspacing="1" cellpadding="4">
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>+1</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ "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"
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>+0</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ This vote indicates a willingness for the action under
+ consideration to go ahead. The voter, however will not be able
+ to help.
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>-0</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ 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.
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>-1</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ This is a negative vote. On issues where consensus is required,
+ this vote counts as a <strong>veto</strong>. All vetos must
+ contain an explanation of why the veto is appropriate. Vetos with
+ no explanation are void.
+
+ </td>
+ </tr>
+ </table>
<p>
- All Apache committers are required to have a signed Contributor License Agreement (CLA) on file
- with the Apache Software Foundation.
+ All participants in the Ant 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 Committers to understand the perception of an
+ action in the wider Ant community. For PMC decisions, only the votes of
+ PMC members are binding.
</p>
<p>
- A committer who makes a sustained contibution to the project will usually be invited to become a member of
- the PMC.
+ Voting can also be applied to changes made to the Ant codebase. These
+ typically take the form of a veto (-1) in reply to the commit message
+ sent when the commit is made.
</p>
<br/>
- <a name="Developers"></a>
+ <a name="Approvals"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
- <strong>Developers</strong>
+ <strong>Approvals</strong>
</font>
</td></tr>
</table>
<p>
- All of the volunteers who are contributing time, code, documentation, or resources to the
- Ant Project. A developer that makes sustained, welcome contributions to the project for
- over six months is usually invited to become a Committer, though the exact timing of
- such invitations depends on many factors.
+ These are the types of approvals that can be sought. Different actions
+ require different types of approvals
</p>
+ <table class="ForrestTable" cellspacing="1" cellpadding="4">
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>Consensus</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ For this to pass, all voters with binding votes must vote and there
+ can be no binding vetos (-1). Consensus votes are rarely required
+ due to the impracticality of getting all eligible voters to cast a
+ vote.
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>Lazy Consensus</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Lazy consensus requires 3 binding +1 votes and no binding vetos.
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>Lazy Majority</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ A lazy majority vote requires 3 binding +1 votes and more binding +1
+ votes that -1 votes.
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>Lazy Approval</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ An action with lazy approval is implicitly allowed unless a -1 vote
+ is received, at which time, depending on the type of action, either
+ Lazy Majority or Lazy consensus approval must be obtained.
+
+ </td>
+ </tr>
+ </table>
<br/>
- <a name="Users"></a>
+ <a name="Vetos"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
- <strong>Users</strong>
+ <strong>Vetos</strong>
</font>
</td></tr>
</table>
<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.
+ 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 challeneged, 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 veto, you
+ must lobby the person casting the veto to withdraw their veto. If a veto
+ is not withdrawn, the action that has been vetoed bust be reversed in a
+ timely manner.
</p>
+ <br/>
+ <a name="Actions"></a>
+ <table border="0" cellspacing="0" cellpadding="2" width="100%">
+ <tr><td bgcolor="#4C6C8F">
+ <font color="#ffffff" face="arial,helvetica,sanserif">
+ <strong>Actions</strong>
+ </font>
+ </td></tr>
+ </table>
<p>
- Users contribute to the Apache projects by providing feedback to developers in the 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>
+ This section describes the various actions which are undertaken within
+ the project, the correspnding approval required for that action and
+ those who have binding votes over the action.
+ </p>
+ <table class="ForrestTable" cellspacing="1" cellpadding="4">
+ <tr>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ Action
+ </th>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ Description
+ </th>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ Approval
+ </th>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ Binding Votes
+ </th>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>Codebase Change</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ A change made to the main codebase of the project and committed
+ by a committer. This includes source code, documentation, website
+ content, etc.
+
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Lazy Approval and then Lazy consensus.
+
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Active committers.
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>Release Plan</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Defines the timetable and actions for a release. The plan also
+ nominates a Release Manager.
+
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Lazy Majority
+
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Active committers
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>Product Release</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ When a release of one of the project's products is ready, a vote is
+ required to accept the release as an official release of the
+ Project.
+
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Lazy Majority
+
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Active PMC members
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>New Committer</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ When a new committer is proposed for the project
+
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Lazy consensus
+
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Active PMC members
+
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <strong>New PMC Member</strong>
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ When a committer is proposed for the PMC
+
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Lazy consensus
+
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+
+ Active PMC members
+
+ </td>
+ </tr>
+ </table>
</div>
1.3 +327 -64 jakarta-ant/proposal/ant-site/anakia/xdocs/bylaws.xml
Index: bylaws.xml
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/ant-site/anakia/xdocs/bylaws.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -u -r1.2 -r1.3
--- bylaws.xml 9 Dec 2002 14:23:13 -0000 1.2
+++ bylaws.xml 25 Jan 2003 07:10:38 -0000 1.3
@@ -7,112 +7,375 @@
<body>
<section name="Apache Ant Project Bylaws">
+ <p>
+ This document defines the bylaws under which the Apache Ant project
+ operates. It defines the the roles and responsibilities of the
+ project, who may vote, how voting works, how conflicts are resolved,
+ etc.
+ </p>
<p>
- This document defines the bylaws under which the Apache Ant project operates.
- It defines the the roles and responsibilities of the project, who may vote,
- how conflicts are resolved, etc.
+ Ant is a project of the
+ <a href="http://www.apache.org/foundation/">Apache Software
+ Foundation</a>. The foundation holds the copyright on Apache
+ code including the code in the Ant codebase. The
+ <a href="http://www.apache.org/foundation/faq.html">foundation FAQ</a>
+ explains the operation and background of the foundation.
</p>
<p>
- Ant is typical of Apache projects in that it operates under a set of principles,
- known as the Apache Way. If you are new to Apache, please refer to the
- <a href="http://incubator.apache.org">Incubator project</a> for more information on
- how Apache projects operate.
+ Ant is typical of Apache projects in that it operates under a set of
+ principles, known collectively as the "Apache Way". If you are
+ new to Apache, please refer to the
+ <a href="http://incubator.apache.org">Incubator project</a>
+ for more information on how Apache projects operate. <b>Note:</b> the
+ incubator project has only been recently set up and does not yet explain
+ the Apache Way in great detail.
</p>
+ <ul>
+ <li><a href="#Roles and Responsibilities">Roles and Responsibilities</a></li>
+ <li><a href="#Decision Making">How decisions are made</a></li>
+ </ul>
+
</section>
<section name="Roles and Responsibilities">
- <subsection name="Project Management Committee">
<p>
- The Project Management Committee (PMC) for Apache Ant was created by a resolution of the
- board of the Apache Software Foundation (ASF)on 18th November 2002. The PMC is responsible
- to the board and the ASF for the management and oversight of the Apache Ant codebase.
- The responsibilites of the PMC include
+ 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 the following sections
</p>
<ul>
- <li>Deciding what is distributed as products of the Apache Ant 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><a href="#Users">Users</a></li>
+ <li><a href="#Developers">Developers</a></li>
+ <li><a href="#Committers">Committers</a></li>
+ <li><a href="#Project Management Committee">
+ Project Management Committee (PMC)</a>
</li>
</ul>
+ <subsection name="Users">
<p>
- Membership of the PMC is by invitation only and must be approved by a consensus of active PMC members.
- A PMC member is considered inactive by their own declaration or by not contributing in any form to the
- project for over six months. An inactive member can become active again by reversing whichever condition
- made them inactive (i.e., by reversing their earlier declaration or by once again contributing toward the
- project's work). Membership can be revoked by an unanimous vote of all the active PMC members other
- than the member in question.
+ 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>
- 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 Ant) and has primary responsibility to the board for the
- management of the projects within the scope of the Ant PMC. The chair reports to the board quarterly
- on developments within the Ant project. The PMC may consider the position of PMC chair annually
- and if supported by 3/4 Majority may recommend a new chair to the board. Ultimately, however, it is
- the board's responsibility who to appoint as the PMC chair.
+ Users contribute to the Apache projects by providing feedback to
+ developers in the 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>
+
+ </subsection>
+
+ <subsection name="Developers">
+ <p>
+ All of the volunteers who are contributing time, code, documentation,
+ or resources to the Ant Project. A developer 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>
</subsection>
+
<subsection name="Committers">
<p>
- The project's Committers are responsible for the project's technical management. All committers have
- write access to the project's source repository. Committers may cast binding votes on any technical
+ The project's Committers are responsible for the project's technical
+ management. All committers have write access to the project's source
+ repositories. Committers may cast binding votes on any technical
discussion regarding the project.
</p>
<p>
- Membership as a Committer is by invitation only and must be approved by consensus of the active
- PMC members. A Committer is considered inactive by their own declaration or by not contributing
- in any form to the project for over six months. An inactive committer can become active again
- by reversing whichever condition made them inactive (i.e., by reversing their earlier declaration
- or by once again contributing toward the project's work). Commit access can be revoked by a
- unanimous vote of all the active PMC members (except the member in question if they are a PMC member).
+ 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 four months. An emeritus committer may request
+ reinstatement of commit access fromt he PMC. Such reinstatement is
+ subject to lazy consensus of active PMC members. Commit access can be
+ revoked by a unanimous vote of all the active PMC members (except the
+ committer in question if they are also a PMC member).
</p>
<p>
- All Apache committers are required to have a signed Contributor License Agreement (CLA) on file
- with the Apache Software Foundation.
+ 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="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 contibution to the project will usually be invited to become a member of
- the PMC.
+ A committer who makes a sustained contibution to the project may be
+ invited to become a member of the PMC.
</p>
</subsection>
- <subsection name="Developers">
+ <subsection name="Project Management Committee">
<p>
- All of the volunteers who are contributing time, code, documentation, or resources to the
- Ant Project. A developer that makes sustained, welcome contributions to the project for
- over six months is usually invited to become a Committer, though the exact timing of
- such invitations depends on many factors.
+ The Project Management Committee (PMC) for Apache Ant was created by a
+ <a href="mission.html">resolution</a> of the board of the Apache
+ Software Foundation on 18<sup>th</sup> November 2002. The PMC is
+ responsible to the board and the ASF for the management and oversight
+ of the Apache Ant codebase. The responsibilites of the PMC include
+ </p>
+
+ <ul>
+ <li>Deciding what is distributed as products of the Apache Ant 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
+ lazy consensus 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 four months. An emeritus member may
+ request reinstatement to the PMC. Such reinstatement is subject to lazy
+ consensus of the active PMC members. Membership of the PMC can be
+ revoked by an unanimous vote of all the active PMC members other than
+ the member in question.
+ </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 Ant) and has primary responsibility to the board for the
+ management of the projects within the scope of the Ant PMC. The chair
+ reports to the board quarterly on developments within the Ant project.
+ The PMC may consider the position of PMC chair annually and if
+ supported by 3/4 Majority may recommend a new chair to the board.
+ Ultimately, however, it is the board's responsibility who to appoint as
+ the PMC chair.
</p>
</subsection>
- <subsection name="Users">
+ </section>
+
+ <section name="Decision Making">
<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.
+ Within the Ant project, different types of decisions require different
+ forms of approval. For example, the
+ <a href="#Roles and Responsibilities">previous section</a> describes
+ several decisions which require "lazy consensus" approval. This
+ section defines how voting is performed, the types of approvals, and which
+ types of decision require which type of approval.
+ </p>
+
+ <subsection name="Voting">
+ <p>
+ Decisions regarding the project are made by votes on the primary project
+ development mailing list (ant-dev@jakarta.apache.org). Where necessary,
+ PMC voting may take place on the private Ant PMC mailing list.
+ Votes are 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 flavours
+ </p>
+
+ <table>
+ <tr>
+ <td><strong>+1</strong></td>
+ <td>
+ "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"
+ </td>
+ </tr>
+
+ <tr>
+ <td><strong>+0</strong></td>
+ <td>
+ This vote indicates a willingness for the action under
+ consideration to go ahead. The voter, however will not be able
+ to help.
+ </td>
+ </tr>
+
+ <tr>
+ <td><strong>-0</strong></td>
+ <td>
+ 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.
+ </td>
+ </tr>
+
+ <tr>
+ <td><strong>-1</strong></td>
+ <td>
+ This is a negative vote. On issues where consensus is required,
+ this vote counts as a <strong>veto</strong>. All vetos must
+ contain an explanation of why the veto is appropriate. Vetos with
+ no explanation are void.
+ </td>
+ </tr>
+ </table>
+
+ <p>
+ All participants in the Ant 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 Committers to understand the perception of an
+ action in the wider Ant community. For PMC decisions, only the votes of
+ PMC members are binding.
+ </p>
+
+ <p>
+ Voting can also be applied to changes made to the Ant codebase. These
+ typically take the form of a veto (-1) in reply to the commit message
+ sent when the commit is made.
</p>
+ </subsection>
+ <subsection name="Approvals">
<p>
- Users contribute to the Apache projects by providing feedback to developers in the 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.
+ These are the types of approvals that can be sought. Different actions
+ require different types of approvals
</p>
+ <table>
+ <tr>
+ <td><strong>Consensus</strong></td>
+ <td>
+ For this to pass, all voters with binding votes must vote and there
+ can be no binding vetos (-1). Consensus votes are rarely required
+ due to the impracticality of getting all eligible voters to cast a
+ vote.
+ </td>
+ </tr>
+
+ <tr>
+ <td><strong>Lazy Consensus</strong></td>
+ <td>
+ Lazy consensus requires 3 binding +1 votes and no binding vetos.
+ </td>
+ </tr>
+
+ <tr>
+ <td><strong>Lazy Majority</strong></td>
+ <td>
+ A lazy majority vote requires 3 binding +1 votes and more binding +1
+ votes that -1 votes.
+ </td>
+ </tr>
+
+ <tr>
+ <td><strong>Lazy Approval</strong></td>
+ <td>
+ An action with lazy approval is implicitly allowed unless a -1 vote
+ is received, at which time, depending on the type of action, either
+ Lazy Majority or Lazy consensus approval must be obtained.
+ </td>
+ </tr>
+ </table>
+ </subsection>
+
+ <subsection name="Vetos">
+ <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 challeneged, 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 veto, you
+ must lobby the person casting the veto to withdraw their veto. If a veto
+ is not withdrawn, the action that has been vetoed bust be reversed in a
+ timely manner.
+ </p>
+ </subsection>
+
+ <subsection name="Actions">
+ <p>
+ This section describes the various actions which are undertaken within
+ the project, the correspnding approval required for that action and
+ those who have binding votes over the action.
+ </p>
+
+ <table>
+ <tr>
+ <th>Action</th>
+ <th>Description</th>
+ <th>Approval</th>
+ <th>Binding Votes</th>
+ </tr>
+ <tr>
+ <td><strong>Codebase Change</strong></td>
+ <td>
+ A change made to the main codebase of the project and committed
+ by a committer. This includes source code, documentation, website
+ content, etc.
+ </td>
+ <td>
+ Lazy Approval and then Lazy consensus.
+ </td>
+ <td>
+ Active committers.
+ </td>
+ </tr>
+ <tr>
+ <td><strong>Release Plan</strong></td>
+ <td>
+ Defines the timetable and actions for a release. The plan also
+ nominates a Release Manager.
+ </td>
+ <td>
+ Lazy Majority
+ </td>
+ <td>
+ Active committers
+ </td>
+ </tr>
+ <tr>
+ <td><strong>Product Release</strong></td>
+ <td>
+ When a release of one of the project's products is ready, a vote is
+ required to accept the release as an official release of the
+ Project.
+ </td>
+ <td>
+ Lazy Majority
+ </td>
+ <td>
+ Active PMC members
+ </td>
+ </tr>
+ <tr>
+ <td><strong>New Committer</strong></td>
+ <td>
+ When a new committer is proposed for the project
+ </td>
+ <td>
+ Lazy consensus
+ </td>
+ <td>
+ Active PMC members
+ </td>
+ </tr>
+ <tr>
+ <td><strong>New PMC Member</strong></td>
+ <td>
+ When a committer is proposed for the PMC
+ </td>
+ <td>
+ Lazy consensus
+ </td>
+ <td>
+ Active PMC members
+ </td>
+ </tr>
+ </table>
</subsection>
</section>
</body>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>