nicolaken    2003/10/16 08:28:42

  Added:       site/incubation bylaws.xml forms.cwiki
                        Incubation_Policy.cwiki process.xml
                        Process_Description.cwiki
                        Roles_and_Responsibilities.cwiki
  Log:
  Docs about incubation.
  
  Revision  Changes    Path
  1.1                  incubator/site/incubation/bylaws.xml
  
  Index: bylaws.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" 
"document-v11.dtd">
  <document>
    <header>
      <title>Incubator Project Mission/Bylaws</title>
  
      <authors>
        <person name="The Apache Incubator Project"
          email="[email protected]" />
      </authors>
  
      <abstract>Guiding principles and project scope/bounds.</abstract>
    </header>
  
    <body>
      <section>
        <title>Project Mission</title>
        <note>Under development.</note>
        <p>Basically, to do all good things to help communities form
        and new contributors understand what Apache is all about.</p>
      </section>
  
      <section>
        <title>Bylaws</title>
        <note>Also under development.</note>
        <p>The bylaws of the project provide specifics about what
        methods can/will be used to fulfill the project's mission,
        and how it will govern itself.</p>
      </section>
    </body>
  </document>
  
  
  
  1.1                  incubator/site/incubation/forms.cwiki
  
  Index: forms.cwiki
  ===================================================================
  !!!Forms
  
  * [Contributor's Agreement (PDF)|../forms/ASF_Contributor_License_2_form.pdf]
            
  
  
  
  1.1                  incubator/site/incubation/Incubation_Policy.cwiki
  
  Index: Incubation_Policy.cwiki
  ===================================================================
  __This document is currently a working draft, with no formal status.__
  
  !!!Introduction
  
  In October 2002 the Board of Directors of the Apache Software Foundation 
passed a resolution creating the Apache Incubator PMC (referred to as the 
"Incubator PMC" in this document) charged with "accepting new products into the 
Foundation, providing guidance and support to help each new product engender 
their own collaborative community, educating new developers in the philosophy 
and guidelines for collaborative development as defined by the members of the 
Foundation, and proposing to the board the promotion of such products to 
independent PMC status once their community has reached maturity" (reference 
Board Resolution).
  
  The Incubator was tasked with the following responsibilities (reference Board 
Resolution) :
  
  * the acceptance and oversight of new products submitted or proposed to 
become part of the Foundation;
  * providing guidance and ensuring that subprojects under its purview develop 
products according to the Foundation's philosophy and guidelines for 
collaborative development; and
  * regularly evaluating products under its purview and making the 
determination in each case of whether the product should be abandoned, continue 
to receive guidance and support, or proposed to the board for promotion to full 
project status as part of an existing or new Foundation PMC; and be it further.
  
  
  !!About this Document
  
  This document is the normative reference for the policies and procedures put 
in place by the Incubator PMC for the Incubation process, which is used by the 
Incubator PMC to discharge their duties as described above.
  
  It contains the minimum requirements that all new products and projects must 
meet before they will be fully accepted into the Apache Software Foundation.
  
  The document makes use of the terms MUST, MUST NOT, REQUIRED, SHALL, SHALL 
NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY and OPTIONAL.  Where capitalised, 
these terms are to be used as per the definitions found in [RFC 
2119|http://www.ietf.org/rfc/rfc2119.txt].
  
  !Status
  
  __This document is currently a working draft, with no formal status.__
  
  !Scope
  
  This document contains the minimum requirements and processes that must be 
met by products and projects wishing to become part of the Apache Software 
Foundation.
  
  This document does not apply outside the process of Incubation.  Policies and 
processes that need to be met by products under incubation are not mandated (by 
this document) for other projects and sub-projects within the ASF.
  
  !Relationship to Other Documents
  
  This document is the normative set of requirements for Incubation.  Where 
other documents are in conflict, this document should be taken as correct.
  
  !! Changing this Document
  
  The contents of this document are formally approved by the Incubator PMC.  
All changes must be authorised by the Incubator PMC.
  
  !!Objectives of the Process
  
  To provide a clear path for potential projects and sub-projects within the 
ASF to move from proposal stage through to fully membership in such as way as 
to ensure :
  
  * new projects and sub-projects are developing products according to the 
ASF's philophy and guidelines for collaborative development;
  * the ownership of any code initially submitted by the project is formally 
and legaly transferred to the ASF; and
  * only those products that meet the Apache's requirements are fully accepted 
into the ASF.
  
  
  !!Overview of the Process
  
  The incubation process covers the establishment of a candidate, acceptance 
(or rejection) of a candidate leading to the potential establishment of a 
Podling and associated incubation process, which ultimately leads to the 
establishment or a new Apache Top-Level-Project (TLP) or sub-project within an 
existing Apache Project.
  
  {{{
  
  
   establishment   |------------|  acceptance   |----------|   engagement   
|----------|
  ---------------> | Candidate  |-------------> | Podling  |--------------->| 
Project  |
                   |------------|               |----------|--|             
|----------|
                        |                         |  ^        |
                        |                         |  |        | continuation
                        V                         |  |--------|
                     rejection                    |     
                                                  V
                                             termination
    
  }}}
  
  !!!Entry to Incubation
  
  Entry to Incubation requires a number of hurdles be passed.
  
  !! Proposal
  
  In order to enter the Incubator, a Candidate MUST 
  
  * be nominated for incubation by a member of the Apache Software Foundation 
("The Sponsor"); and
  * be approved by a Sponsoring Entity.  
  
  Approval by a Sponsoring Entity will generally occur only after a vote within 
the Entity, and will require that the Entity be convinced that the Candidate is 
appropriate for Incubation.  A Sponsoring Entity may be one of:
  
  * the Board of the Apache Software Foundation;
  * a Top Level Project (TLP) within the Apache Software Foundation (where the 
TLP considers the Candidate to be a suitable sub-project); or
  * the Incubator PMC.
  
  To start this process, a Candidate SHOULD submit a proposal to a Sponsoring 
Entity.  The Proposal SHOULD, at minimum, detail the following areas :
  
  __Need to provide a short list__
  
  !!Acceptance of Proposal by Sponsoring Entity
  
  The decision to accept a project MUST be taken on a vote by the Sponsoring 
Entity, in accordance with that Entity's charter.  
  
  Upon a successful result, the Sponsoring Entity SHOULD request the Incubator 
PMC take on the Candidate as a new Podling.  The request to the Incubator PMC 
MUST contain the following information :
  
  * a reference to the results of the vote (so as to provide an audit trail for 
the records);
  * a reference to the Candidate's proposal;
  * the Mentor, nominated by the Sponsoring Entity, who will guide the 
Candidate through the Incubation Process.  The nominated Mentor MUST be a 
member of the Apache Software Foundation.
  
  The Incubator PMC MAY immediately accept the Candidate, or may (at the 
discretion of the Incubator PMC) require a successful VOTE by the Incubator PMC.
  
  The nominated Mentor MAY be immediately accepted by the Incubator PMC.  
However the Incubator PMC MAY also suggest a replacement Mentor.  The Incubator 
PMC has the final choice of Mentor.
  
  
  !!Creation of Podling
  
  Upon acceptance by the Incubator PMC, the Candidate becomes a Podling under 
the care of the Incubator PMC.  
  
  Upon acceptance by the Incubator PMC, the Podling's Mentor becomes a member 
of the Incubator PMC (should they not already be one).
  
  !!!Incubation Activities
  
  The following sections detail the minimum activities that must be undertaken 
by the various parties during an Incuabation process.
  
  !!Setting Up a New Podling
  
  Once the Podling and Mentor have been accepted by the Incubator PMC, the 
following activities SHOULD take place :
  
  * creation of lists;
  * creation of cvs;
  
  * Incubator PMC mandating a helper Mentor
  
  !!Ongoing Activities
  
  The progress of a Podling SHALL be tracked in a STATUS file.  The STATUS file 
SHALL be stored in the ''incubator'' module in the ASF CVS repository.
  
  The STATUS file SHALL include the following minimum content :
  
  * status of setup tasks;
  * all exit criteria (see section ''Exitting the Incubator'' below);
  * status of Podling against exit criteria.
  
  The Mentor MUST ensure that the STATUS file is up to date at all times.
  
  !!Review of Activity
  
  Each Podling in Incubation SHALL undergo a regular review of progress by the 
Incubator PMC.  Such reviews SHALL occur at least quaterly.  The Incubator PMC 
MAY, at their discretion, choose to review individual Podlings with greater 
frequency.  The Incubator PMC SHALL inform Podlings of review dates at least 4 
weeks in advance.
  
  At least one week prior to each review, the Mentor MUST produce a report for 
the Incubator PMC detailing overall progress with a focus on the preceeding 
review period.  It is RECOMMENDED that the report be based on the STATUS file 
for the Podling.
  
  After each review, the Incubator PMC SHALL produce an Assessment of the 
project.  The Assessment SHALL contain one of three recommendations :
  
  * that the Podling be Terminated;
  * that the Podling continue in Incubation; or
  * that the Podling be escalated out of the Incubator.
  
  Termination and Escalation are discussed in more detail in section "Exitting 
the Incubator".
  
  !!Disputing an Assessment
  
  If the Podling or Mentor disagree with an assessment, they MAY request the 
Incubator PMC review the report.  Such a request MUST include a details of what 
the Podling and/or Mentor is disputing, and their reasons for doing so.
  
  Upon receipt of an Assessment Dispute, the Incubator PMC SHALL review the 
request and provide feedback to the Podling and Mentor.  Such feedback MAY 
include a change to the original Assessment.
  
  Should the Podling and/or Mentor still disagree with the contents of the 
report, they may appeal to the Board of the Apache Software Foundation.  Such 
an appeal MUST include 
  
  * the original assessment;
  * the request for review to the Incubator PMC;
  * the response from the Incubator PMC; and
  * the reason the Podling and/or Mentor still dispute the report.
  
  The Board of the Apache Software Foundation MAY, after reviewing the appeal, 
choose to 
  
  * ammend the incubation Assessment;
  * validate the assessment of the Incubator PMC; or
  * take any other action it deems appropriate to the circumstance.
  
  The decision of the Board of the Apache Software Foundation is final.
  
  !!Continuation
  
  A recommendation by the Incubator PMC for continuation of incubation SHALL 
include development recommendations. The Incubator PMC SHALL ensure that the 
recommended actions are tangible and quantifiable.  
  
  The Mentor SHALL review the contents of the continuation recommendation and 
ensure that the development recommendations are carried out over the following 
review period.
  
  !!!Podling Constraints
  
  While in Incubation, Podlings are constrained in the actions they can 
undertake.
  
  !!Branding
  
  Podlings are, by definition, not yet fully accepted as part of the Apache 
Software Foundation.  Podling web sites MUST include a clear disclaimer on 
their website and in all documentation stating that they are in incubation.
  
  Podlings SHOULD use the following text for all disclaimers :
  
  ''<project name> is an effort undergoing incubation at the Apache Software 
Foundation (ASF), sponsored by the <name of sponsoring entity>.  Incubation is 
required of all newly accepted projects until a further review indicates that 
the infrastructure, communications, and decision making process have stabilized 
in a manner consistent with other successful ASF projects. While incubation 
status is not necessarily a reflection of the completeness or stability of the 
code, it does indicate that the project has yet to be fully endorsed by the 
ASF.''
  
  
  Podlings wishing to use a different disclaimer message MUST have the 
disclaimer approved by the Incubator PMC prior to use.
  
  !!Releases
  
  As podlings are not yet fully accepted as part of the Apache Software 
Foundation, any software releases (including code held in publically available 
CVS) made by Podlings will not be endorsed by the ASF.
  
  However, as software releases are an important part of any software project, 
they are permitted in certain circumstances, as follows.
  
  Podlings in Incubation SHALL NOT perform any releases of software without the 
explicit approval of the Incubator PMC.  Such approval SHALL be given only 
after the Incubator PMC has followed the process detailed in (Reference to 
Charter), and SHALL NOT occur until all source has been legally transferred to 
the ASF.
  
  Therefore, should a Podling decide it wishes to perform a release, the 
Podling SHALL formally request the Incubator PMC approve such a release.  The 
request SHALL have the endorsement of the Mentor.
  
  Should the Incubator PMC, in accordance with (Reference to Charter) vote to 
approve the request, the Podling MAY perform the release under the following 
constraints :
  
  * the release archive MUST contain the word "incubating" in the filename; and
  * the release archive MUST contain an Incubation disclaimer (as described in 
the previous section), clearly visible in the main documentation or README file.
  
  
  !!Use of Apache Resources
  
  __Is this required?__
  
  !!!Exitting the Incubator
  
  This section describes the requirements and process for exitting the 
Incubator.
  
  !!Minimum Exit Requirements
  
  Prior to escalation to the ASF, a Podling needs to show that :
  
  * it is a worthy and healthy project;
  * it truly fits within the ASF framework;and
  * it "gets" the Apache Way.
  
  This is achieved by imposing a set of Exit Criteria that, when met, will 
demonstrate these objectives.
  
  Therefore, to successfully exit the Incubator and be escalated fully into the 
ASF, a Podling SHALL meet the minimum exit requirements detailed below.  The 
Incubator PMC MAY set additional requirements at their discretion.  Such 
additional requirements MAY be proposed by the Mentor or the Sponsoring Entity, 
however only the Incubator PMC is authorised to formally place such 
requirements on a Podling.
  
  The minimum requirements that a Podling SHALL meet prior to being 
successfully escalated to the ASF are :
  
  * __Legal__
  ** All code ASL'ed
  ** No non ASL or ASL compatbile dependencies in the code base
  ** License grant complate
  ** CLAs on file.
  ** Check of  project name for trademark issues
  
  * __Meritocracy / Community__
  ** Demonstrate an active and diverse development community
  ** No single organization supplies more than 50% of the active committers 
(must be at least 3 independent committers)
  ** The above implies that new committers are admitted according to ASF 
practices
  ** ASF style voting has been adopted and is standard practice
  ** Demonstrate ability to tolerate and resolve conflict within the community.
  ** Release plans are developed and excuted in public by the community.
  *** (requriment on minimum number of such releases?)
  *** Note: incubator projects are not permitted to issue an official Release.  
Test snapshots (however good the quality) and Release ''plans'' are OK.
  ** Engagement by the incubated community with the other ASF communities, 
particularly infrastructure@ (this reflects my personal bias that projects 
should pay an nfrastructure "tax").
  ** Incubator PMC has voted for graduation
  ** Destination PMC, or ASF Board for a TLP, has voted for final acceptance
  
  * __Alignment / Synergy__
  ** Use of other ASF subprojects
  ** Develop synergistic relationship with other ASF subprojects
  
  * __Infrastructure__
  ** CVS module has been created
  ** Mailing list(s) have been created
  ** Mailing lists are being archived
  ** Bugzilla has been created
  ** Project website has been created
  ** Project ready to comply with ASF mirroring guidlines
  ** Project is integrated with GUMP if appropriate
  ** Releases are PGP signed by a member of the community
  ** Developers tied into ASF PGP web of trust
  
  !!Termination of a Podling
  
  If you receive a recommendation for termination then you have a problem.  
Chances are that there are either legal or structural problems with your 
project that in the opinion of the Incubator PMC are not resolvable within a 
reasonable time frame.  A termination decision is basically time to close down 
the project. However, you do have the right to appeal a termination decision 
with the Board of Directors and/or your Sponsoring Entity.  You should be aware 
that several Members of the Board are also Members of the Incubator PMC and as 
such, an appeal is unlikely to be successful. 
  
  !!Migration as a Top Level Project
  
  In cases where a Podling has successfully completed Incubation, and is 
exitting the Incubator to become a Top Level Project, the Incubator PMC SHALL 
provide a recommendation to the board that the Podling is ready to escalate.  
The recommendation SHALL include a draft resolution for the board to vote on.
  
  !!Migration as a sub-project
  
  In cases where a Podling has successfully completed Incubation, and is 
exitting the Incubator to become a sub-project within an already existing Top 
Level Project, the Incubator PMC SHALL provide a recommendation to the TLP that 
the Podling is ready to escalate.
  
  !!!Roles in the Incubation Process
  
  This section describes the roles involved in the Incubation process.
  
  !!Incubator Project Management Committee (PMC)
  
  (From the resolution that created the Incubator Project - see 
http://incubator.apache.org/resolution.html)
  
  The Incubator PMC is responsible for :
  
  * acceptance and oversight of candidate projects submitted or proposed to 
become part of the Foundation;
  * providing guidance and ensuring that sub-projects under it's purview 
develop products according to the Foundation's philosophy and guidelines for 
collaborative development;
  * providing a repository for the storage of incubation history and 
information;
  * assisting a Podling's Mentor in discharging her/his duties;
  * regularly evaluating projects under its purview for the purposes of 
recommending to the Sponsoring Entity whether the project should:
  ** successfully exit incubation;
  ** continue to receive guidance and support within the Incubator; or
  ** be terminated.
  
  
  !!Chair of the Incubator PMC
  
  The person appointed by the Board of Directors to have primary responsibility 
for oversight of the Incubator Project, its policies, and policy implementation.
  
  !!Candidate
  
  A project that is proposed for incubation.
  
  !!Sponsor
  
  A Member of the Apache Software Foundation who supports a Candidate's 
application for Incubation and who supports and assists the Podling through the 
Incubation process.
  
  !!Sponsoring Entity
  
  The Sponsoring Entity is the entity within the ASF that makes the 
determination that a candidate would make a worthy addition to the ASF, and 
agrees to take on the candidate in question (or in the case of the Incubator 
PMC, assist it in finding a home) should it complete the incubation process.
  
  A Sponsoring Entity will be one of:
  
  * The Board of the Apache Software Foundation.  In this case, it is expected 
that the candidate would become a TLP on successful completion of Incubation.
  * A Top Level Project within the ASF.  In this case, the project in question 
has agreed that the candidate is a good fit for their project, and will take on 
the candidate as a sub-project upon successful completion of Incubation.
  * The Incubator PMC.  In this case, the Incubator PMC agrees that the project 
in question will make a good addition to the ASF, but there is no clear "owner" 
of the candidate should it successfully complete incubation.  An incubation 
exit requirement for such candidates will be the identification (and 
successfuly lobbying) of an "owner" entity - either the board (and the 
candidate will be a TLP) or another project.
  
  !!Mentor
  
  A Mentor is a role undertaken by a permanent member of the Apache Software 
Foundation and is chosen by the Sponsoring Entity to actively lead in the 
discharge of their duties (listed above).  Upon acceptance by the Incubator 
PMC, the Mentor automatically becomes a member of the Incubator PMC.  A Mentor 
has specific responsibilities towards the Incubator PMC, the Sponsoring Entity 
and towards the members of the assigned Podling.
  
  
  !!Committers
  
  The candidate shall declare an initial set of committers.  On acceptance of a 
candidate project, the assigned Mentor shall be given access to the Podling's 
cvs repository for the duration of the incubation process.  This is to allow 
the Mentor to perform their incubation duties, and is for administrative 
purposes only.  To be given full committer privileges, such as the right to add 
new code to the repository, the Mentor must earn them as would any other 
potential new committer.  In some cases, the Mentor may be part of the initial 
set of declared committers, but this is not a requirement of the Incubation 
process.
  
  
  
  !!!Appendix A - Glossary
  
  __Should this be a reference elsewhere?__
  
  
  
  
  1.1                  incubator/site/incubation/process.xml
  
  Index: process.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" 
"document-v11.dtd">
  <document>
    <header>
      <title>Incubation Process</title>
  
      <authors>
        <person name="The Apache Incubator Project"
          email="[email protected]" />
      </authors>
  
      <abstract>What it means to go through the Incubator.</abstract>
    </header>
  
    <body>
      <section>
        <title>Entry to/Exit from the Incubator</title>
  
        <warning>The Incubator project team is still working on this,
        and even so it will be refined by experience.  So don't take
        anything here as either complete or completely authoritative.</warning>
  
        <note id="Podling">Things in the Incubator may end up
        being new ASF projects,
        or they may end up being incorporated into some existing
        project (sometimes called a 'subproject').  But while they're
        in the Incubator, they're neither -- so they need to be called
        something else.  The term tentatively chosen by one of
        the Incubator team (the one writing these words ;-) is
        <strong>podling</strong>.</note>
  
        <p>A podling might reach the Incubator by referral,
        or be born there.  Here are some of the ways a podling might
        get here:</p>
        <ul>
          <li>Some group external to the Foundation wants to donate an
          existing codebase;</li>
          <li>Some existing Foundation [sub]project wants to build up
          viability and a community around a codebase;</li>
          <li>Some group of people within the Foundation want to start
          a new codebase and build a community around it;</li>
          <li>[others..?]</li>
        </ul>
        <p>That's the entry to the Incubator.  The exit path similarly
        has a number of different options:</p>
        <ul>
          <li>The podling's codebase may be declared non-viable ('dead'), and 
may
          either languish in the Incubator or be relocated to a
          software cemetery;</li>
          <li>The community around the codebase may decide that the
          Apache Software Foundation isn't the right place, and so the
          foundation may return title to the code and wave
          <em>sayonara</em>;</li>
          <li>The podling may fit best within one of the existing
          ASF projects, and negociations between the Incubator and that
          project result in the podling moving there;</li>
          <li>The podling may seem to belong with an existing project,
          but the project in question refuses to accept it [what happens?];</li>
          <li>The podling represents something sufficiently
          unique as to warrant the creation of a completely new ASF
          project.</li>
        </ul>
        <p>Those are essentially the ins and outs of the Incubator
        project.  The remaining piece is, of course, what goes on
        <em>inside</em> the Incubator with a podling that hasn't
        graduated/matured yet?</p>
      </section>
  
      <section>
        <title>The Process of Incubation</title>
  
        <warning>The Incubator project team is still working on this,
        and even so it will be refined by experience.  So don't take
        anything here as either complete or completely authoritative.</warning>
  
        <p>From the standpoint of a codebase being incubated, there are
        some things that will need to happen before it will even
        be possible for it to exit from the Incubator:</p>
        <ol>
          <li>All software in the codebase will need to have its copyright
          assigned to The Apache Software Foundation; and</li>
          <li>All software in the codebase will need to be licensed
          (or multi-licensed) under the
          <link href="http://www.apache.org/LICENSE";>Apache licence</link>.</li>
        </ol>
        <p>This means that the codebase will need to be examined to ensure
        that, if and when the Foundation begins distributing it, it has
        clear title to do so and isn't infringing on anyone's rights.</p>
  
        <p>The process of incubation of the codebase's community is
        a little different, and consists primarily of ensuring that
        the community has adopted the Apache methodologies and guidelines,
        and all legal concerns have been addressed.  This means the
        following (among others):</p>
        <ul>
          <li>All contributors must sign and submit a
          <link href="forms/ASF_Contributor_License_2_form.pdf"
            >Contributor's Licence Agreement</link>;</li>
          <li>The community has adopted the Apache voting rules and
          is otherwise following the Apache guidelines;</li>
          <li>The community has decided on a policy for the
          composition of its 'steering committee';</li>
          <li>The exit strategy for the podling has defined up front.
          In particular, the incubated podling needs to know:
          <ol>
            <li>To which ASF project (if any) it will be graduating. This 
implies
            that the project is question is sponsoring the podling, at least
            in part.</li>
            <li>The expected timeframe that the podling will
            stay in the incubator. This is determined by mutual consent
            among the community of the podling, the graduation
            PMC of the project to which the codebase and community will
            move at the end of incubation (if any), and the Incubator PMC.</li>
            <li>The "graduation requirements" for leaving the Incubator.
            Basically, what are the pre-defined goals
            that must be met before the podling can leave the Incubator?</li>
           </ol>
          </li>
          <li>[what else?]</li>
        </ul>
        <p>TBD.  Licensing, copyright, steering ctte, voting, guidelines, ..</p>
      </section>
      
      
      <section>
        <title>Incubation Phases</title>
  
        <warning>The Incubator project team is still working on this,
        and even so it will be refined by experience.  So don't take
        anything here as either complete or completely authoritative.</warning>
  
        <fixme author="nicolaken">Summarize the phases the incubating projects 
go throug from proposal
               to running project.</fixme>
      </section>    
      
      
    </body>
  </document>
  
  
  
  1.1                  incubator/site/incubation/Process_Description.cwiki
  
  Index: Process_Description.cwiki
  ===================================================================
  !!!The Process of Incubation
  
  __This is currently a draft, and has no official status.__
  
  !!!Overview of the Process
  
  The incubation process covers the establishment of a candidate, acceptance 
(or rejection) of a candidate leading to the potential establishment of a 
Podling and associated incubation process, which ultimately leads to the 
establishment or a new Apache Top-Level-Project (TLP) or sub-project within an 
existing Apache Project.
  
  {{{
  
   establishment   |------------|  acceptance   |----------|   engagement   
|----------|
  ---------------> | Candidate  |-------------> | Podling  |--------------->| 
Project  |
                   |------------|               |----------|--|             
|----------|
                        |                         |  ^        |
                        |                         |  |        | continuation
                        V                         |  |--------|
                     rejection                    |     
                                                  V
                                             termination
    
  }}}
  
  Readers should also review the [Roles and Responsibilities 
|Roles_and_Responsibilities] document for a description of the various parties 
involved in the Incubation process.
  
  !!!Establishment
  
  The first thing you will want to do is find a __Sponsor __ for your project.  
One way to do this is to explore the Apache site to find similar projects.  
Spend some time reading both the projects' web pages and mailing lists.  By 
simply lurking on the mailing lists (see Mailing Lists section  in this 
document), you may get ideas about who you would like to ask to help you with 
your project proposal.  However, Sponsors must either be ASF  [members 
|http://www.apache.org/foundation/members.html]  or [officers 
|http://www.apache.org/foundation/index.html] (see the Sponsor section later in 
this document for more on Sponsor criteria and responsibilities).  Once you 
have found an eligible person who is willing to act as sponsor, you can use 
this person to help you determine if and how your proposal can complement the 
ASF.  If you and your Sponsor are convinced that your candidate project would 
fit with the "Apache Way", your Sponsor can help you to get it established.
  
  The establishment of a candidate involves the preparation of a project 
description (consistent with the candidate description detailed below) endorsed 
by a __Sponsor__.  
  
  A __Candidate __ project description should be submitted to the relevant 
mailing list(s) of a __Sponsoring Entity __ (see the Mailing Lists section in 
this document).  See the [Jakarta Guidelines for New Projects 
|http://jakarta.apache.org/site/newproject.html] for a list of issues that 
should be addressed in your proposal; also see [ASF Proposal Pages 
|http://nagoya.apache.org/wiki/apachewiki.cgi?ASFProposalPages] for other 
examples.  Typically a __Candidate __ is submitted under a message tagged with 
[[PROPOSAL].  Such a message will normally trigger some discussions on the 
receiving mailing list(s).  Your Sponsor will be involved in these discussions 
acting as your advocate.
  
  As a proposer you should consider the feedback and attempt to gauge a sense 
of consensus.  Do not be put off by extended threads under your initial post 
that have little or nothing to do with you proposal - however, if you feel that 
your candidate project is not being addresed you may want to specifically 
request a decision on the Candidate by the Sponsoring Entity by posting a 
request to the decision making list (either [EMAIL PROTECTED] or [EMAIL 
PROTECTED]; see Mailing List section for more details).  Sometimes a vote will 
be announced without you asking for it (perhaps you have done some homework and 
have a PMC member assisting you though the process), other times you may need 
to cut through discussions and push your request forward for a decision.
  
  !!! Acceptance
  
  The decision to accept a project is taken on a vote by the Sponsoring Entity. 
 The format of this vote will depend on the rules of the entity in question.  
Here again it helps if you have a PMC Member (or board member if the Sponsoring 
Entity is the ASF board) aligned with your project (preferably as your sponsor) 
because you stand a better chance of getting feedback about what is actually 
happening.  The Sponsoring Entity will typically take about 7-10 days before 
announcing a vote result.  
  
  If that vote is affirmative, the Sponsoring Entity will propose to the 
__Incubator PMC __ (referencing the voting result e-mail) that your candidate 
project be escalated to __Podling __ status.  The Sponsoring Entity will assign 
a __Shepherd __.  The Shepherd may, or may not, be your original Sponsor.  If 
not, it is expected your Sponsor will remain involved during the rest of the 
Incubation process, providing as much assistance as possible.
  
  The Shepherd is there to protect you, but be warned - the Shepherd is also 
holding a big stick. The Shepherd is automatically made a member of the 
Incubator PMC, and reports to both it and the Sponsoring Entity on your overall 
health and suitability for eventual inclusion within the Apache Community (or 
recommendation to terminate).  However, the Shepherd (with the assistance of 
the Sponsor) is also looking after you through the incubation.   
  
  One of the roles of the Shepherd is to keep away the wolves - and in the case 
of incubation the wolf is the Incubator PMC, the policies, the process, and 
inevitable bureaucracy and delays.  The Shepherd can help you by guiding and 
protecting you from much of this based on his/her experience in the process and 
familiarity with the policy and procedures of incubation.  In performing their 
role, the Shepherd is representing the Sponsoring Entity.  
  
  Your Sponsoring Entity, represented by your Shepherd, has specific 
responsibilities towards you and the Incubator PMC.  There are a bunch of 
administrative and technical actions to take care of.  Your Shepherd is 
responsible for ensuring that these things happen quickly and efficiently.  
Also, your Shepherd is going to help you out with the getting in place of the 
policies and procedures you use for introducing new comitters, decision making, 
etc.  These aspects will be watched closely by the Incubator PMC as they 
provide a good indication of community dynamics, health and correlation with 
Apache practices.
  
  !!!Review
  
  As your project sorts things out and things stabilize (infrastructure, 
communications, decision making) you will inevitably come under an assessment 
by the Incubator PMC concerning the exit of your project from the incubator.  
Keep in mind that exit can be a good things and bad thing.  Exit via escalation 
to a top-level project or perhaps a subproject of an existing PMC would 
typically be viewed as a positive exit.  On the other-hand, termination is also 
an exit condition that may be considered.  With an upcoming assessment it is 
generally a good idea to have your STATUS file right up to-date and to ensure 
that your Shepherd is doing his/her job of evangelizing your project and has 
good picture of where you are relative to acceptance or the last assessment 
point.  This information will help the Incubator PMC to recommend the best 
action for for your project.  
  
  Conclusion of a review process will be a recommendation (to the Sponsoring 
Entity) of one of the following:
  
  * termination;
  * continuation under incubation with recommendations; or
  * exit via escalation into Apache.
  
  Note that whilst this is a recommendation, it carries a lot of weight.  A 
Sponsoring Entity will only over-ride the recommendation of the Incubator in 
exceptional circumstances, and even then it is likely that the issue in 
question would be escalated to the ASF board for their consideration.
  
  !!Termination
  
  If you receive a recommendation for termination then you have a problem.  
Chances are that there are either legal or structural problems with your 
project that in the opinion of the Incubator PMC are not resolvable within a 
reasonable time frame.  A termination decision is basically time to close down 
the project. However, you do have the right to appeal a termination decision 
with the Board of Directors and/or your Sponsoring Entity.  You should be aware 
that several Members of the Board are also Members of the Incubator PMC and as 
such, an appeal is unlikely to be successful. 
  
  !!Continuation
  
  A recommendation by the Incubator PMC for continuation of incubation shall 
include development recommendations. The Incubator PMC has a responsibility to 
ensure that the recommended actions are tangible and quantifiable.  For 
example, an assessment could be that your project has not established a 
sufficient community to be viable, in which case the Incubator PMC is obliged 
to state specific targets that they consider as viable.  This does not 
necessarily mean that if you meet this target by the next review that you are 
out of incubation - but it does give you concrete achievements that you can 
site. Your Shepherd is also specifically accountable to you for ensuring that 
the recommendations for continuation are usable, substantive and tangible. If 
this is not the case, you have every right to appeal an Incubator decision to 
the Apache Board - however, if your Shepherd is doing a good job, neither of 
these scenarios should arise.
  
  !!Escalation
  
  For Podlings that aim to establish sub-projects or products within existing 
communities you are almost home-free. The main issues you need to deal with now 
is migration of you code into the target project - something you should be 
confident in doing based on the contacts and understanding you gained during 
initial establishment and incubation.  
  
  For projects aiming to be a Top-Level-Project (TLP), you have an additional 
obstacle - namely the ASF Board.  While the ASF Board might be your sponsoring 
entity, this does not mean they have formally accepted you as a TLP.  To 
establish a TLP you need to draft a board motion that identifies the project 
scope, mission and charter.  You can submit the motion to the Board using the 
[EMAIL PROTECTED] email address.  Well-prepared projects will have already 
developed contacts with members of the Board so this should not be a surprise 
agenda item.  Keep in mind that the Board can approve your motion as supplied, 
amend it, or reject it.  If you are rejected then you need to sort this out 
with the Incubator PMC and allies you have developed during the incubation 
process - i.e. for a TLP objective the Incubator PMC OK is only half of the 
story.  
  
  However, in practice, assuming you are building contacts with members in 
Apache, the Incubator PMC, and the ASF Board - the transition from Podling to 
TLP should be a smooth and painless process.
  
  
  
  
  1.1                  
incubator/site/incubation/Roles_and_Responsibilities.cwiki
  
  Index: Roles_and_Responsibilities.cwiki
  ===================================================================
  !!!Roles and Responsibilities
  
  __This is currently a draft, and has no official status.__
  
  This document describes the roles (including Sponsor, Contributor, Shepherd) 
and provides an overview of the responsibilities of the different parties 
involved in an incubation process.
  
  !!Incubator Project Management Committee (PMC)
  
  (From the resolution that created the Incubator Project - see 
http://incubator.apache.org/resolution.html)
  
  The Incubator PMC is responsible for :
  
  * acceptance and oversight of candidate projects submitted or proposed to 
become part of the Foundation;
  * providing guidance and ensuring that sub-projects under it's purview 
develop products according to the Foundation's philosophy and guidelines for 
collaborative development;
  * providing a repository for the storage of incubation history and 
information;
  * assisting a Podling's Shepherd in discharging her/his duties;
  * regularly evaluating projects under its purview for the purposes of 
recommending to the Sponsoring Entity whether the project should:
  ** successfully exit incubation;
  ** continue to receive guidance and support within the Incubator; or
  ** be terminated.
  
  To enable effective management of the process of incubation from the point of 
view of the PMC and from the point of view of members of a project under 
incubation, a set of policies and procedures are described below that identify 
roles and responsibilities of participants throughout the incubation lifecycle.
  
  A project going through the Incubator will therefore be required to regularly 
report to the Incubator PMC.  This will help the PMC in its role of reviewing 
the status of a project under incubation.
  
  Finally, the Incubator PMC is the ASF body with the greatest level of 
expertise and experience in the Incubation process.  They provide a store of 
knowledge that can be called on by the Shepherd or a Podling during (or even 
after) the incubation process.  In cases where an Incubation is particularly 
large, or where the Incubator PMC otherwise feels the Shepherd needs additional 
assistance, the Incubator PMC may choose to provide an experienced Shepherd to 
assist the main Shepherd in discharging their duty.
  
  !!Chair of the Incubator PMC
  
  The person appointed by the Board of Directors to have primary responsibility 
for oversight of the Incubator Project, its policies, and policy implementation.
  
  !!Candidate
  
  A Candidate is a project that is proposed for incubation. A Candidate shall 
meet the following minimum criteria:
  
  * affiliated with a named *Sponsor* (an ASF Member or Officer; see below)
  
  Optionally, a candidate may:
  
  * declare an affiliation with an existing Apache Project in which case it is 
expected that the Sponsor is a member of the affiliated project, and the 
project will become the *Sponsoring Entity*;
  * specify requirements that may be anticipated during incubation; and/or
  * provide a summary of the project relationship/dependencies (existing or 
planned with existing Apache Projects/Products).
  
  Naturally, projects will need more than this in order to exit incubation 
status.
  
  A candidate project compliant with the above criteria may be proposed by the 
Sponsor to the Sponsoring Entity for acceptance as a Podling.  Acceptance of a 
candidate shall be subject to the formal voting method of the Sponsoring 
Entity.  Should that vote be accepted, the Sponsoring Entity will request that 
the Incubator PMC accept the candidate as a Podling under incubation.  The 
Sponsoring Entity shall assign a Shepard, who shall be granted membership of 
the Incubator PMC for the duration of the incubation process.
  
  !!Sponsor
  
  A candidate project shall be sponsored by an [Officer 
|http://www.apache.org/foundation/index.html] or [Member 
|http://www.apache.org/foundation/members.html] of the Foundation.  The Sponsor 
assists the candidate on their initial submission to a Sponsoring Entity.  
While private conversations are not generally encouraged within the Apache 
community, the Sponsor's relationship with the Candidate should allow for this 
in order to educate the Candidate about the Apache Way and prepare the project 
for the questions and issues likely to be raised by the community. 
  
  Where the Sponsor is not a Member of the Foundation (i.e. is an Officer 
only), the Sponsor shall be a member of the PMC of the Sponsoring Entity.
  
  While the Sponsor has no formal responsibility within the Incubation process 
(other than to review and comment on a Candidate's proposal within the 
Sponsoring Entity), it is expected that they will play an active role.  A lack 
of interest on the part of a Sponsor may be seen by the Incubator PMC as a 
negative indicator during the course of incubation.
  
  !!Sponsoring Entity
  
  The Sponsoring Entity is the entity within the ASF that makes the 
determination that a candidate would make a worthy addition to the ASF, and 
agrees to take on the candidate in question (or in the case of the Incubator 
PMC, assist it in finding a home) should it complete the incubation process.
  
  A Sponsoring Entity will be one of:
  
  * The Board of the Apache Software Foundation.  In this case, it is expected 
that the candidate would become a TLP on successful completion of Incubation.
  * A Top Level Project within the ASF.  In this case, the project in question 
has agreed that the candidate is a good fit for their project, and will take on 
the candidate as a sub-project upon successful completion of Incubation.
  * The Incubator PMC.  In this case, the Incubator PMC agrees that the project 
in question will make a good addition to the ASF, but there is no clear "owner" 
of the candidate should it successfully complete incubation.  An incubation 
exit requirement for such candidates will be the identification (and 
successfuly lobbying) of an "owner" entity - either the board (and the 
candidate will be a TLP) or another project.
  
  Note that a Sponsoring Entity is more than just a final resting place for a 
candidate that successfully completes incubation.  The Sponsoring Entity, by 
taking on a candidate, is indicating that they believe the candidate will make 
a worthy addition to the ASF, and takes responsibility for assisting the 
podling through the Incubation process.  The Sponsoring Entity is therefore 
expected to be actively involved in the incubation process and assist where 
necessary, giving the podling the best possible chance of success.  In 
addition, an entity that is a Top Level Project should be involved in the 
Candidate's incubation in order to educate the Candidate about practices that 
are specific to that TLP and about other relevant projects within the TLP.
  
  However, while the Sponsoring Entity is expected to be actively involved, it 
is formally representated by the Shepherd.  The Shepherd is the individual 
accountable to the Incubator PMC for ensuring the incubation process is 
correctly followed.  In cases where the Shepherd is not fulfilling their 
responsibilities, the Sponsoring Entity (in particular its Chair) will be 
expected to remedy the situation.
  
  !Responsibilities of the Sponsoring Entity
  
  * to provide initial approval for a Canidate to be accepted as a Podling
  * to nominate a Shepherd for the incubation process
  
  !!Shepherd
  
  A Shepherd is a role undertaken by a permanent member of the Apache Software 
Foundation and is chosen by the Sponsoring Entity to actively lead in the 
discharge of their duties (listed above).  Upon acceptance by the Incubator 
PMC, the Shepherd automatically becomes a member of the Incubator PMC.  A 
Shepherd has specific responsibilities towards the Incubator PMC, the 
Sponsoring Entity and towards the members of the assigned Podling.
  
  !Responsibilities towards Podling Members
  
  * to ensure that Incubator PMC decisions and/or issue are dealt with in a 
timely manner and ensure that decisions or resolutions effecting the Podling 
are communicated promptly and expeditiously;
  * to represent the interests of the Podling on the Incubator PMC;
  * to liaise between the ASF Secretary and the Podling on matters concerning 
CLA submission and acknowledgments;
  * to liaise between the ASF Infrastructure team and the Podling on matters 
concerning infrastructure support (mailing lists, CVS establishment, account 
establishment, etc.);
  * to assist the Podling on matters concerning the resolution of license 
transfers, copyright assignments, and/or software grants where applicable; and
  * to provide where and as appropriate, guidance on matters concerning Apache 
policies and practices - including the establishment of its internal steering 
committee.
  
  !Responsibilities towards the Incubator PMC
  
  * monitoring the Podling through the incubation process;
  * evaluating the compliance of the Podling with Incubator PMC policies and 
procedures; 
  * assessment of the Podling status with respect to continuation/exit strategy;
  * to notify the Incubator PMC and Sponsoring Entity of the completion of 
administrative actions; and
  * to provide updates to the Incubator PMC and Sponsoring Entity on the status 
of license grants (where and as appropriate) and other relevant legal 
information pertaining to the Podling.
  
  !Committers
  
  The candidate shall declare an initial set of committers.  On acceptance of a 
candidate project, the assigned Shepherd shall be given access to the Podling's 
cvs repository for the duration of the incubation process.  This is to allow 
the Shepherd to perform their incubation duties, and is for administrative 
purposes only.  To be given full committer privileges, such as the right to add 
new code to the repository, the Shepherd must earn them as would any other 
potential new committer.  In some cases, the Shepherd may be part of the 
initial set of declared committers, but this is not a requirement of the 
Incubation process.
  
  In association with its Shepherd and Sponsor, a Podling community is largely 
free to get on with the stuff they want to do (code, architecture, product, 
solutions, etc.) with minimal disruption related to the incubator process.
  
  However, you need to make sure of a number of things:
  
  * keep your Shepherd informed - he/she is reporting to the PMC and generally 
speaking "no news is bad news".  Of course, conducting business on the 
project's mailing lists is one important way to do this.  
  * make sure your Sponsor is continuously in-the-loop and has the latest and 
greatest information about your project
  * actively seek and recruit committers to your project - preferably linking 
you with existing Apache communities
  * make sure your decision making process is visible and accountable
  
  These activities are not unique to projects in the Incubator.  For example, 
existing Apache Projects have regular reports made by their PMC Chair to the 
ASF Board.
  
  During the incubation, the committers will be expected to show how, as a 
group, they are upholding the ideals of the Apache community.  In particular, 
as the Podling evolves it is anticipated that the Podling will establish 
procedures for the introduction of new committers through a process consistent 
with established Apache practices. If you are aiming for TLP status you may 
also want to start on drafting the policy and procedures you aim to put in 
place once accepted.
  
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to