This document describes the roles (including Sponsor, Contributor, Mentor) and provides an overview of the responsibilities of the different parties involved in an incubation process.
The Board delegates responsibility for incubation to the IPMC.
Directors are often active in the Incubator. Conventionally, unless indicated otherwise, individuals speak personally. So, a Director speaking without their Board hat is not stating policy but expressing a personal opinion.
See also: How Apache Works
The Incubator PMC [resolution] 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 Sponsor whether the project should:
graduate from incubation;
continue to receive guidance and support within the Incubator; or
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 Mentor 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 Mentor needs additional assistance, the Incubator PMC may choose to provide an experienced Mentor to assist the main Mentor in discharging their duty.
Individuals may be nominated to join the IPMC after a vote which passes with more than 3/4 of those voting. Additionally, any Member of the Apache Software Foundation may join the IPMC by request.
See also: How Apache Works
The person appointed by the Board to have primary responsibility for oversight of the Incubator Project, its policies, and policy implementation.
A Candidate is a project proposed for incubation. A Candidate shall meet the following minimum criteria:
affiliated with a named Champion
Optionally, a candidate may:
declare an affiliation with an existing Apache Project in which case the project will become the Sponsor;
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 graduate from incubation status.
A candidate project compliant with the above criteria may be proposed by the Champion to the Sponsor for acceptance as a Podling. Acceptance of a candidate shall be subject to the formal voting method of the Sponsor. Should that vote be accepted, the Sponsor will request that the Incubator PMC accept the candidate as a Podling under incubation. The Sponsor shall assign a Mentor, who shall be granted membership of the Incubator PMC for the duration of the incubation process.
A candidate project shall be sponsored by an Officer or Member of the Foundation. The Champion assists the candidate on their initial submission to a Sponsor. While private conversations are not generally encouraged within the Apache community, the Champion’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.
Before incubation begins, the Champion is expected to: * help with any process/ASF related hurdles before the Candidate enters incubation</li> * help find the right people in the ASF to speak with</li> * help to find Mentors</li> * drive the process of entering the Incubator, leading to a vote to accept the proposed podling
The Sponsor 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 Sponsor will be one of:
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. In most cases, the Incubator PMC is the correct Sponsor (Candidates should discuss this with their Champion).
Note that a Sponsor is more than just a final resting place for a candidate that successfully completes incubation. The Sponsor, 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 Sponsor 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 Sponsor is expected to be actively involved, it is formally representated by the Mentors. The Mentors are the individuals accountable to the Incubator PMC for ensuring the incubation process is correctly followed. In cases where the Mentors are not fulfilling their responsibilities, the Sponsor (in particular its Chair) will be expected to remedy the situation.
to provide initial approval for a Canidate to be accepted as a Podling
to nominate Mentors for the incubation process
Mentors are chosen by the Sponsor to actively monitor the podling, guide the podling in the Apache Way, and report its status to the Sponsor and the Incubator PMC. All Mentors must be members of the Incubator PMC. A Mentor has the following responsibilities toward the Incubator PMC, the Sponsor, and the community of the assigned Podling.
to ensure that Incubator PMC decisions and/or issue are dealt with in a timely manner and ensure that decisions or resolutions affecting 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.
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 Sponsor of the completion of administrative actions; and
to provide updates to the Incubator PMC and Sponsor on the status of license grants (where and as appropriate) and other relevant legal information pertaining to the Podling.
provide status to the Sponsor as to the progress of the podling
All committers on podlings should be familiar with Developer Information for Committers.
The candidate shall declare an initial set of committers. On acceptance of a candidate project, the assigned Mentors shall be given access to the Podling’s repository for the duration of the incubation process. This is to allow the Mentors 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 Mentors must earn them as would any other potential new committer. In some cases, the Mentors may be part of the initial set of declared committers, but this is not a requirement of the Incubation process.
In association with its Mentor and Champion, 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 Mentors informed - they are 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 Champion 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 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.