Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Project technical and release decisions shall be made by consensus of the Reviewers and Committers of that project participating in meetings organized for that purpose. If consensus cannot be reached, the issues are escalated for discussion at a public forum available for Anuket project participants (e.g.: Anuket mailing lists, chat channels or the Anuket Weekly Technical Meetings). If all fails, the issues are escalated to the Anuket TSC for decision.

2.3. Sub-project lifecycle

The activities of the Community are organized into sub-projects targeting different areas within the scope of Anuket including but not limited to development of upstream code, integration of platform components, support functions to create and maintain the infrastructure and the development and maintenance of the toolchains we use.

Lifecycle overview
Anuket defines three maturity levels that each sub-project goes through during its lifecycle. The procedure of moving from one level to the next one is independent from the release process of Anuket and the pace depends on each individual sub-project.

The lifecycle of the sub-projects is depicted on the following diagrams:


Image Added

Sub-project lifecycle.pptx


Sub-project States

Sub-project stateDescription
ProposalSub-project doesn’t really exist yet, may not have real resources, but is proposed and is expected to be created due to needs.
IncubationSub-project has resources, but is recognized to be nascent.
MatureSub-project is fully functioning and stable, has achieved successful releases.
ArchivedSub-project has been recognized as dead (could be for a variety of reasons, e.g. sub-project successfully accomplished its goals, sub-project failed, etc.), and has been archived as it’s no longer a going concern.

Reviews & Metrics

Sub-project promotion, and demotion, across states can only be done by TSC review and voting. During the reviews the candidate sub-projects are evaluated based on predefined metrics and KPIs. The target numbers may vary for the different levels.

  • Longevity of the sub-project
  • Sub-project follows Anuket release cadence
  • Requirements have resulted in corresponding implementations
    • Comprehensiveness and maturity of the artifacts (code, test cases, documentation) the sub-project produces including contributions/code to partner/upstream sub-projects where applicable
    • Mature testing/integration success for defined environments (Anuket and/or partner/upstream sub-projects, which is applicable or both)
  • Community
    • Size and diversity of the active community (number and diversity of people contributing)

Creation Review

  • Proposal posted for two weeks:
    • Name of the sub-project is appropriate (no trademark issues etc.); Proposed repository name is all lower-case without any special characters
    • Sub-project contact name and email
    • Description is complete
    • Scope and sub-project plan is well defined
    • Reference of an existing NFV requirement or clear identification of a new requirement
    • Resources committed
    • Contributors identified
    • Initial list of committer identified (elected/proposed by initial contributors)
    • Meets BoD policy (IPR)
    • Proposal has been socialized with potentially interested or affected sub-projects and/or parties
    • In the case where a sub-project will require changes in other sub-projects, those sub-projects are listed in the proposal, and a sponsoring developer in the sub-project has been identified
    • Proposal email to TSC mailing list
  • Review by TSC: Confirm that the proposal is complete and the above listed requirements are met.
  • Simple majority approval by voting TSC members

Graduation Review

  • Graduation proposal posted for two weeks
  • Review metrics for creation review:
    • Successful participation in releases: The sub-project demonstrates stable output (code base, documents) within its history of releases in accordance with the release policy.
    • Sub-project is active and contributes to Anuket: The sub-project demonstrates a stable or increasing number of contributions across recent release cycles. Contributions are commits which got merged to a repository of an Anuket sub-project or a related upstream sub-project. Commits can for example be patches to update the requirements document of a sub-project, code addition to an Anuket or upstream sub-project repository, new test cases and so forth.
    • Mature artifacts produced: The sub-project demonstrates that the artifacts produced by the sub-project are deployable (where applicable) and have been successfully deployed and used by users.
  • TSC review and simple majority approval by voting TSC members for graduation

Termination Review

  • Termination proposal posted for two weeks
    • A termination review is initiated by the sub-project PTL, unless the PTL is unresponsive to attempts to contact them, or if the sub-project has not submitted an intent-to-participate notification for the two most recent releases. In that case, a sub-project contributor, a TSC member, or LF staff may initiate the termination review. If the termination review is initiated by someone other than the PTL, then the PTL should be copied, using their last known good email address, when the termination review is posted to the mailing list.
  • States reason for sub-project termination being sought
  • Termination proposal to include acceptable triggers for termination (e.g. protracted idleness, or request by the sub-project)
  • Estimates impact on other sub-projects and how to mitigate
  • Removal will not break Reference Platform builds
  • Location identified and links created for archived sub-project
  • Simple majority approval by voting TSC members
  • If no approval, remains in pre-reviewed state

Reactivation Review

A sub-project that was previously approved by the Anuket TSC, then later terminated, may be reactivated, as follows:

  • Proposal posted for two weeks to the TSC mailing list:
    • Sub-project contact name and email
    • Identify any changes to the scope of the original sub-project proposal.
    • Justify reactivating the sub-project, including discussing why the sub-project was terminated and what has changed.
    • Explain what the sub-project intends to accomplish if it is reactivated.
    • Resources committed
    • Contributors identified
    • Initial list of committer identified (elected/proposed by initial contributors)
    • Passes IPR check
    • Proposal has been socialized with potentially interested or affected sub-projects and/or parties
    • In the case where a sub-project will require changes in other sub-projects, those sub-projects are listed in the proposal, and a sponsoring developer in the sub-project has been identified
  • Review by TSC: Confirm that the proposal is complete and the above listed requirements are met.
  • Simple majority approval by voting TSC members

2.3. Release Process

The Anuket TSC decided on the bi-annual release dates. Projects Sub-projects shall publish a Release Plan at the beginning of a release cycle. The Release Plan shall have certain common tasks whose duration shall be fixed by the Anuket TSC:

...

  • Release Deliverables
  • Release Milestones
  • Expected Dependencies on Other Projectsother sub-projects
  • Compatibility with Previous Release
  • Themes and Priorities
  • Features delivered
  • Open Issues (if any)
  • Quality Assurance (test coverage, etc.)
  • End-of-Support/End-of-life (EOS/EOL) API/Features
  • Summary of Outstanding Bugs
  • Summary of Standards Compliance
  • Delta between planed schedule and actual schedule
  • Other

...