This document is an overview of the process. Read it in conjunction with
the "Incubation Policy" and the
various guides.
Also review the
Roles and Responsibilities
for a description of the various parties involved in the Incubation
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.
The first thing you will want to do is find a
Champion
for your project. One way to do this is to explore the existing
Apache projects
to find similar projects. Spend some time reading their project web
pages and mailing lists (follow links at each project website). By
simply lurking on the project mailing lists (and also the
Incubator general list
and other Incubating project lists) you may get ideas about who you
would like to ask to help you with your project proposal.
However, Champions must either be ASF
members
or
officers
(see the Champion section later in this document for more on Champion
criteria and responsibilities). Once you have found an eligible
person who is willing to act as Champion, you can use this person to
help you determine if and how your proposal can complement the ASF.
If you and your Champion are convinced that your candidate project
would fit with the "Apache Way", your Champion 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
Champion
.
A
Candidate
project description should be submitted to the relevant mailing
list(s) of a
Sponsor
(see the
Mailing Lists
guide). See the
Jakarta Guidelines for New Projects
for a list of issues that should be addressed in your proposal; also
see
Incubator Proposal Pages
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 Champion 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 your proposal -
however, if you feel that your candidate project is not being
addressed, you may want to specifically request a decision on the
Candidate by the Sponsor by posting a request to the decision making
list (usually dev@project-name.apache.org - see
Mailing Lists
guide 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.
The decision to accept a project is taken on a vote by the Sponsor.
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 Sponsor is the ASF board) aligned with your project
(preferably as your Champion) because you stand a better chance of
getting feedback about what is actually happening. The Sponsor will
typically take about 7-10 days before announcing a vote result.
If that vote is affirmative, the Sponsor (unless the Sponsor is
already the Incubator PMC) will propose to the
Incubator PMC
(referencing the voting result e-mail) that your candidate project be
accepted by the Incubator as a
Podling
. The Sponsor will assign
Mentors.
The Mentors may include your original Champion. If not, it
is expected your Champion will remain involved during the rest of the
Incubation process, providing as much assistance as possible.
The Mentors are there to protect you, but be warned - Mentors
are holding a big stick. The Mentors are members
of the Incubator PMC, and report to both the PMC and the Sponsor
about your overall health and suitability for eventual inclusion
within the Apache Community (or recommendation to terminate).
However, the Mentors (with the assistance of the Champion) are also
looking after you through the incubation.
One of the roles of the Mentors 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 Mentors can
help you by guiding and protecting you from much of this based on
their experience in the process and familiarity with the policy and
procedures of incubation. In performing their role, the Mentors are
representing the Sponsor.
Your Sponsor, represented by your Mentors, has specific
responsibilities towards you and the Incubator PMC. There are a bunch
of administrative and technical actions to take care of. Your Mentors
are responsible for ensuring that these things happen quickly and
efficiently. Also, your Mentors are 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.
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
thing and bad thing. Exit via graduation 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 Mentor 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
Sponsor) of one of the following:
- termination;
- continuation under incubation with recommendations; or
- graduation into Apache.
Note that whilst this is a recommendation, it carries a lot of
weight. A Sponsor 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.
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 Sponsor. 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.
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
cite. Your Mentor 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 Mentor is doing a good job, neither of these scenarios should
arise.
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 your 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 Sponsor, 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 board at apache dot org 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. In other words, for a TLP objective the
Incubator PMC okay 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.