WARNING! this page contains stale information.
OpenStack consists of several core projects. Those core projects elect their own technical leads and enjoy a level of independence, especially around milestone planning and feature definition and delivery. However, OpenStack, as represented by the PPB, exercises control over the projects in order to ensure:
> Each project should respect the 4 opens: open source, open design, open development, open community
> Each project should meet in public and provide all information on roadmap and delivery status
> All projects should strive to use the same standards, in code, libraries used, file formats, documentation etc.
> Each project should use as many of the others' features as possible and provide the requested integration points
Respect of release deadlines<
> Each project should coordinate with the release manager to ensure a smooth coordinated release every 6 months
Facilitation of downstream distribution<
> Each project should help packaging efforts to facilitate downstream distribution
OpenStack Project Designations
Core - official projects with full access to OpenStack brand and assets
Core projects are the main OpenStack projects. Core projects are branded as OpenStack projects (like OpenStack Compute) and are able to make full use of OpenStack assets and resources including the openstack.org web properties, community documentation resources, automated build and testing infrastructure, and release management resources. Core projects also adhere to the standard OpenStack release cycle.
Incubated - projects on an official track to become core projects; partial access to OpenStack brand and assets
Incubated projects are projects that have declared their intention to become Core projects and that have been approved for entry into the Incubator program by the PPB. They have some access to community resources to help guide them through the incubation process and can make use of the OpenStack brand only when it is clear that they are an OpenStack incubated project and not an official Core project. They may also make use of certain community resources such as content hosted under an openstack.org subdomain or the community build infrastructure.
Library - library projects are directly or indirectly consumed by Core projects. They are therefore necessary for proper core project operation, but they are potentially released on a different schedule. this includes Python client libraries corresponding to each Core project, and the openstack-common library.
Gating - gating projects are used as part of the continuous integration gate mechanism that protects the core projects branches from regressive changes. They may block core project progress and are an integral part of developing OpenStack. This includes integration test suites and specific deployment tools used in the gating mechanism.
Supporting - additional projects that are deemed necessary in producing the other official projects. This includes documentation and development infrastructure.
Related - unofficial projects with no rights to use OpenStack brand and assets or project resources
Related projects have chosen to associate themselves with OpenStack. These projects are not officially tied to OpenStack or any OpenStack processes or resources, but may make use of OpenStack or add functionality on top of OpenStack projects. They may use StackForge and the OpenStack Wiki. The "related project" designation is meant to provide an aggregation method for the community to expose useful projects and products in the OpenStack ecosystem that are not directly part of the core or incubated projects.