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 treorganize Projects and Modules after sufficient review and discussion with the Projects and community involved.  Subject tthe 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”) tthe TST and if approved, are granted Incubation-state status.  Any voting member of the ONOS technical community may submit a Proposal tthe TST.  

Any TST member may request that the TST tconsider promoting a Project, and, with respect tan Incubation-state project, any voting member of that Project may request the TST consider promoting said Project. 

Any TST member may request that a Project be considered for promotion tCore or transitioned tArchived-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 tCore-state. Archived–state is a Project state reserved for those Projects nlonger 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 tsubmit a formal proposal tthe TST.

Incubation

Project has been approved by the TST, has resources, but is recognized tbe 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 nlonger being actively used or developed. This could be for a variety of reasons, e.g. project successfully accomplished its goals but is nlonger used, project failed, etc., and has been archived as it's nlonger a going concern.

Project state transitions

From State

TState

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