Jump to: navigation, search

Obsolete:Governance/Old Incubation Ladder

Revision as of 13:55, 25 April 2013 by Markmc (talk | contribs)

As the OpenStack community grows, new projects will emerge and aspire to become official OpenStack integrated projects. This page describes the various states those projects can be in, and the process those projects can follow to become part of the integrated release. This process is fully driven by the OpenStack Technical Committee.

Diagram showing the process for inclusion of new projects

External

A new project starts as an idea. While the project idea matures, it should be developed as an external, open source project. That gives the project a chance to gather a community of contributors and momentum around it. That time should be used to get alternate implementations of the same idea to coalesce around a single common project, reducing duplication of effort and ensuring long-term viability of the project. The scope and the basic design of the project should also be fleshed out during that period, and working code be produced.

Choosing the Apache 2.0 license for your new project will avoid relicensing headaches should you consider to be made part of the integrated release in the future. You can reuse most of the OpenStack development infrastructure by hosting your project under stackforge, and/or using Launchpad for bugs and blueprint tracking. This will let you enjoy all the tools we've built to support OpenStack and make transitioning to the "official" infrastructure painless.

Once your new project has matured, you may want to make it part of the OpenStack integrated release. If that's the case, you should designate (by election or popular designation) a project technical lead and file an OpenStack incubation request. This should ideally be done in the first half of the development cycle, so that you spend enough time in incubation to be considered for graduation at the end of the cycle.

Incubation

Before it can be made part of the OpenStack integrated release, a project needs to go through a period of Incubation. This period is used to learn about our release cycle, our release process, align with the OpenStack way and explore integration opportunities with the other projects. That period needs to last at least two development milestones.

During that period, projects are migrated to the openstack namespace and the main OpenStack infrastructure.

At the end of the development cycle, prior to the election of the next cycle's PTLs, the Technical Committee conducts a graduation review. Projects that have spent at least two development milestones in incubation are reviewed, and the ones which have proved they can be part of the integrated release are promoted to Integrated status for the next release cycle.

Integrated

Integrated projects are released as part of the common OpenStack integrated release. Projects cannot graduate in the middle of a cycle. They have to follow a full cycle as an integrated project before they are released as an integrated project.

Core ?

The exact meaning of Core changed in 2013 due to the change in governance following the transition to the OpenStack Foundation. "Core" is now a label the Board of Directors of the Foundation can attach to a project that is part of the regular integrated release. Core projects are therefore the subset of Integrated projects that meet the criteria the Board of Directors attaches to Core. Core projects are expected to benefit from extra rights for using the OpenStack trademark.