Version 1.0 created by Bill Snow and Scott Nicholas, adopted in ONOS board meeting held 17 June 2016.

ONOS Project Lifecycle

ONOS Project’s technical projects (“Projects”) shall consist of individual projects (each a “Project”), and each Project may have one or more modules (each a “Module”).  The creation, maintenance, promotion and archiving of Projects shall follow a lifecycle described in this Project Lifecycle document.  

The TST shall create, align and coordinate Projects and Modules.  The TST shall have the power to reorganize Projects and Modules after sufficient review and discussion with the Projects and community involved.  Subject to the foregoing, individual Projects can organize Modules within each such Project. 

The TST shall encourage new Projects and innovation in the technical community. New Projects enter the ONOS technical community through a proposal (a “Proposal”) to the TST and if approved, are granted Incubation-state status.  Any member of the ONOS technical community may submit a Proposal to the TST.  

Any TST member may request the TST to consider promoting a Project, and, with respect to an Incubation-state project, the Project Lead of that Project may request the TST consider promoting said Project. 

Any TST member may request that a Project be considered for promotion to Core or transitioned to Archived-state.  

Projects shall change state following TST reviews. Projects typically change states independently from each other, but can cooperate closely and leverage each other’s results. Projects graduate from Proposal-state, through Incubation-state and Mature-state to Core-state. Archived–state is a Project state reserved for those Projects no longer being actively developed or used by the community.

Project state

Description

Proposal

Project does not formally exist yet, may not have real resources (yet), but is being worked on by the community to submit a formal proposal to the TST.

Incubation

Project has been approved by the TST, has resources, but is recognized to be nascent.

Mature

Project is fully functioning and stable, has achieved successful releases, but is not a required component of the ONOS Core.

Core

Project is a required component of the ONOS Core.

Archived

Project has been recognized as no longer being actively used or developed. This could be for a variety of reasons, e.g. project successfully accomplished its goals but is no longer used, project failed, etc., and has been archived as it's no longer a going concern.

Project state transitions

From State

To State

Review

<null>

Proposal

n/a

Proposal

Incubation

Creation Review

Incubation

  • Mature;

or

  • Core
  • Graduation Review;

or 

  • Graduation and Core Review, in parallel

Mature

Core

Core Review

{Proposal, Incubation, Mature, Core}

Archived

Archive Review

Reviews

Creation Review

Graduation Review

Core Review

Termination Review