Approved by ODPi TSC on 2018-09-04
ODPi Top Level Project Graduation Criteria
Every ODPi project has an associated maturity level. Proposed ODPi projects should state their preferred maturity level. When a TSC vote is held on a proposed project entering ODPi, votes may either be for the project to enter as an Incubation or Active Stage project, or not to enter at this time. A two-thirds supermajority is required for a project to be accepted. If there is not a supermajority of votes to enter as a Active Stage project, then any Active Stage votes are recounted as votes to enter as an Incubation Stage project. If there is not a supermajority of votes to enter as an Incubation Stage project, the project is rejected. This voting process is called fallback voting.
Projects of all maturities have access to resources provided by ODPi such as code hosting, build/CI infrastructure, and communication tools, but if there is contention, more mature projects will generally have priority.
To be accepted to the Incubation Stage, a project must complete the proposal process.
Every 12 months, each Incubation Stage project will come to a vote with the TSC. A supermajority vote is required to renew a project at Incubation Stage for another 12 months or move it to active stage. If there is not a supermajority for any of these options, the project is not renewed.
In the case of an Incubation Stage project that is not renewed with ODPi, the trademark will be returned to the project maintainers or an organization they designate.
To graduate from Incubation Stage, or for a new project to join as an Active Stage project, a project must complete the proposal process plus:
- Have committers from at least two organizations.
- Have achieved and maintained a Core Infrastructure Initiative https://bestpractices.coreinfrastructure.org/[Best Practices Badge].
- Explicitly define a project governance process. This preferably is laid out in a GOVERNANCE.md file and references an OWNERS.md or MAINTAINERS.md file showing the current and emeritus committers or maintainers. A recommended governance process is defined at example_governance.md
- Have a public list of project adopters for at least the primary repo (e.g., ADOPTERS.md or logos on the project website).
- Complete a code licensing scan to ensure licensing is inline with the ODPi guidelines
- Elect or appoint a project lead to represent the project on the TSC
- Receive a supermajority vote from the TSC to move to accepted stage.
Projects start at the Active Stage if they can demonstrate sufficient maturity. Projects can remain in an Incubation Stage indefinitely, but they are normally expected to move to Active Stage within two years.
Projects like products have lifecycles, and often in open source the relevance for a given project over time can dimenish. Nonetheless, having a home for projects no longer recieving active development is crucial for long-term sustainability and asset management.
Projects only can enter the Emeritus Stage by either:
- On request from the project itself, requiring a supermajority votes of all active project committers
- By a supermajority vote of the TSC if there has been insufficent activity in the project over the course of 6 months.
When in the Emeritus Stage, the project's code repository adminstration is transfered to a designated individual by the TSC. No new features or bug fixes will be addressed, unless it is deemed a security issue. ODPi will hold all assets in perpetuity.
A project can move back to Active Stage following the guidelines for a project being accepted at the Active Stage above.
Project Benefits Associated with Each Lifecycle Stage
Incubation stage projects are eligible to receive the following benefits:
- Incubation stage projects will constitute “ODPi Projects” under the ODPi TSC Charter and may receive support as determined by the Board of Directors.
- Neutral hosting of the project’s community and any key assets (e.g. trademark, domain, etc.)
- Assistance from the ODPi TSC to facilitate collaboration with other project communities.
- Blog announcement or similar communication announcing the inclusion of the project.
- Right to refer to the project as an incubation project of ODPi, and an opportunity to participate in events and other collaborative activities sponsored by ODPi.
- Subject to applicable trademark usage guidelines, to display ODPi's logo on the project’s code repository.
Active stage projects are eligible to receive the following benefits:
- Will become an official "ODPi Project” under the ODPi TSC Charter and may receive additional resources or support as determined by the Board of Directors.
- Right to refer to the project as an officially active project of ODPi, and receive highest priority for participating in events and other collaborative activities sponsored by ODPi.
- A blog announcement or similar communication announcing the graduation of the project.
The TSC may undertake periodic reviews of all projects (i.e., annual). Such review will include an assessment as to whether each Incubation stage project is making adequate progress towards the Active stage.