This page's proposal was approved by TSC vote on 04/18/19 and defines the process and criteria for BPs to graduate between states and objective graduation criteria.
Powerpoint version of approved proposal
View file | ||||
---|---|---|---|---|
|
PDF versionversion of approved proposal
View file | ||||
---|---|---|---|---|
|
...
Current State | (Target State) | Description | Release Quality | Release Numbering | Deliverables / Exit Criteria |
Proposal | (Incubation) | Project doesn’t really exist yet, may not have real resources, but is proposed and is expected to be created due to business needs. | n/a | n/a | 3.3.7.1 Incubation Review: - Name of the project is appropriate (no trademark issues etc.); Proposed repository name is all lower-case without any special characters [a checkmark] - Project contact name, company and email are defined and documented [presumably at least one proposer] - Description of the project goal and its purpose are defined [a checkmark – use the templates] - Scope and project plan are Scope well defined [yes to scope, no to project plan] - Resources committed and available - Contributors identified - Initial list of committers identified (elected/proposed by initial contributors) - Meets Akraino TSC Policies - Proposal has been socialized with potentially interested or affected projects and/or parties (e.g. presented at Community Meeting) - Cross Project Dependencies (XPDs). In the case where a project will require changes in other projects and upstream dependencies, those projects are listed in the proposal, and a sponsoring developer in the project has been identified - Tools have been identified and discussed with relevant partners (Linux Foundation, IT). Once the project passes the review, the tools chain must be created within one week. Tools encompass Configuration Management, CI/CD, Code Review, Testing, Team Wiki, End Users documentation (not exhaustive). |
Incubation | (Mature) | Project has resources, but is recognized to be in the early stages of development. | Alpha (MVP) | 0.1 to 0.x | 3.3.7.2 Maturity Review: On a successful graduation the BP HW/SW package is deemed to be Beta-Quality and the BP moves to the Mature stage. The collective TSC vote as defined in Akraino Technical Community Document#4.4.1TSCDecisionMakingProcess will be based on all the following set of checks being met:
The BP project contributors have deployed and validated the BP in at least 2 community member validation labs or a community member validation lab and LF CD lab with the exact HW and SW configuration for which the maturity review is being requested. All validation labs are required to connect with Akraino LF CI. Logs on the LF CI servers pushed from each validation lab's CD testing would be used to verify this check.
Successful participation in at least two Akraino release periods in the incubation stage [Note : This implies that nothing will be Mature in Akraino R1 - however a PTL could request a maturity review anytime after R1 i.e. Graduation to Maturity would be possible in R2 from 1st June onwards – TSC should confirm that’s what they want]
The SW quality will be assessed as reaching beta according to :
Precise HW requirements and descriptions are defined and included in the BP's documentation (as used in both lab validations)
Upstream dependencies must be clearly defined
Documentation subcommittee to provide a recommendation on graduation, or if not with items requiring action/remedy. This check includes verification that any supported APIs are clearly documented
PTL should provide a summary of contributors and committers and companies and demonstrate growth - Project is active and contributes to Akraino: The project demonstrates increasing number of commits and/or number of contributions across recent releases. Contributions are commits that have been to an Akraino repository project or related upstream project. Commit examples can be patches to update the requirements document of a project, code addition to an Akraino or upstream project repository, new additional test cases and so forth. [maybe create a template, or use something like Bitergia to get some consistent metrics coming into this review]. The PTL should demonstrates stable output (code base, documents) within its history of releases in accordance with the release policy. |
Mature | (Core) | Project is fully functioning and stable, has achieved successful releases. | Beta | 0.x to <1.0 | 3.3.7.3 Core Review: On a successful graduation the BP HW/SW package is deemed to be GA-Quality and the BP moves to the Core stage. The collective TSC vote as defined in Akraino Technical Community Document#4.4.1TSCDecisionMakingProcess will be based on all the following set of checks being met:
The BP project been deployed in at least 2 production networks/locations with the exact HW and SW configuration for which the core review is being requested.
Successful participation in at least two Akraino release periods in the mature stage
The SW quality will be assessed as reaching GA quality according to :
Precise HW requirements and descriptions are defined and included in the BP's documentation (as used in both the lab validations and the production deployments)
Upstream dependencies must be clearly defined
Documentation subcommittee to provide a recommendation on graduation, or if not with items requiring action/remedy. This check includes verification that any supported APIs are clearly documented. [It is expected the documentation requirements for a core review be more stringent/extensive than an mature review]
PTL should provide a summary of contributors and committers and companies and demonstrate growth - Project is active and contributes to Akraino: The project demonstrates increasing number of commits and/or number of contributions across recent releases. Contributions are commits that have been to an Akraino repository project or related upstream project. Commit examples can be patches to update the requirements document of a project, code addition to an Akraino or upstream project repository, new additional test cases and so forth. [maybe create a template, or use something like Bitergia to get some consistent metrics coming into this review]. The PTL should demonstrates stable output (code base, documents) within its history of releases in accordance with the release policy. |
...