Codice Incubation Process

So...how do projects get into Codice?

The Codice incubation process, like the rest of the Codice fundamentals looks to the Apache Foundation for its initial operating principles and practices. While there are lots of details, the basic process is really straight forward: submit a proposal, the Codice BoD (to include the sponsor) will vote on entrance, incubate until ready for promotion to top-level project (or terminate), then promote and operate.

The Process

The process begins with communicating the need, your project, or just an idea with a Codice member (BoD or PMC). It is really important to involve the Codice foundation as early as possible in the process, ideally before any code is written. This will ensure a smooth transition of the project into the Codice Incubation Process. Then, assuming it's all good, you'll submit a proposal. We've put together a Proposal Template, which you are free to use. We actually recommend using our wiki environment for developing the proposal then using it to generate the final submission. This way we can help provide feedback and the community can comment in realtime. Once the proposal is received and reviewed by the Codice BoD, we'll collectively iterate over the details of Incubator inclusion. It is normal for the incubating project to maintain it's state in transition from incubator to top-level, for the first period of operation.

The Vote

We're still trying to figure out what the right timeframe is for submission, or even what the appropriate duration is for the vote. However the vote will be put to the Codice BoD and (for now) we'll return the vote results to the IPMC Chair as quickly as possible with any feedback available.

Who

Each incubating project will be required to form the committee that is responsible for operating the project towards top-level inclusion at Codice. The committee will define a chairperson who well act as the liaison between the Codice BoD, the committee and the community at-large. The Chair is responsible for all documentation requirements and coordinating the incubation process with the community.

Incubator Project Management Committee (PMC)

The Project Management Committee is responsible to the Board for administering the Incubator Project in the manner specified in the founding resolution. It is expected that the incubating project's PMC will transition directly to the top-level project's PMC.

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 (project)

A proposal for incubation. Described in detail here.

Champion

A Member of the Codice Foundation who supports a Candidate's application for Incubation and who supports and assists the Podling through the Incubation process.

Sponsor

A Sponsor SHALL be either:

the Board of the Codice Foundation; a Top Level Project (TLP) within the Codice Foundation (where the TLP considers the Candidate to be a suitable sub-project); or the Incubator PMC. This role and its responsibilities are discussed [here].

Mentor

An incubator project has one or more Mentors, one of which MUST be an Codice Member. Mentors are chosen by the Sponsor to actively monitor the project, guide the project, and report its status to the Sponsor and the Incubator PMC. All Mentors must be members of the Incubator PMC. A Mentor has responsibilities toward the Incubator PMC, the Sponsor, and the community of the assigned project.

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 project'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 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.

Operating Notes

This process, in particular the proposal submission, is evolutionary... It is likely to improve and become optimized for efficiency over time. In order for the evolution to occur, we're trying to stay away from as many "hard" rules as possible. That said, until an incubation-specific board is formulated to handle the incoming projects and projects in incubation the BoD will have final say.

Disputes?

Any disputes between a proposal, incubating project, or members thereof will be handle directly between the Codice BoD and the submitting/acting IPMC Chairperson only. Any "out-of-bounds" commentary in any of the Codice tools will not be tolerated, and will be removed at the discretion of the BoD.

Any disputes between the IPMC and the community should be handle professionally, and transparently in the community communication forums.

If it is deemed that an IPMC Chairperson is ineffectively managing the project proposal/incubation, the BoD reserves the right to resolve directly, or to open the position for nomination by the IPMC. Note, that is in everyone's best interest that we try to grow individuals as well as projects.