ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From co...@apache.org
Subject cvs commit: jakarta-ant/proposal/ant-site/anakia/xdocs bylaws.xml
Date Sat, 25 Jan 2003 07:10:38 GMT
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 &quot;Apache Way&quot;. 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 
  +        &quot;emeritus&quot; 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 &quot;lazy consensus&quot; 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>
  +            &quot;Yes,&quot; &quot;Agree,&quot; or &quot;the action should be
  +            performed.&quot; In general, this vote also indicates a willingness
  +            on the behalf of the voter in &quot;making it happen&quot;
  +          </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:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message