From 1e759c408fd02b269af94a100772e294fc6a3d5e Mon Sep 17 00:00:00 2001 From: Cornelius Schumacher Date: Fri, 25 Aug 2023 08:42:06 +0200 Subject: [PATCH 1/6] Add stages and criteria for incubation process --- images/incubation-stages.svg | 392 +++++++++++++++++++++++++++++++++++ incubation_process.md | 79 ++++++- 2 files changed, 469 insertions(+), 2 deletions(-) create mode 100644 images/incubation-stages.svg diff --git a/images/incubation-stages.svg b/images/incubation-stages.svg new file mode 100644 index 0000000..2c1c0f3 --- /dev/null +++ b/images/incubation-stages.svg @@ -0,0 +1,392 @@ + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + Sandbox + + Retired + Graduated + Incubation + + + + + Low BarrierProject meetsminimum requirements + Significant BarrierProject has adoptedmain OpenRail criteria + Evolutionary StepProject is recognizedas mature project + Evolutionary StepProject is not longeractively developed + + + + Stages of incubation process + + diff --git a/incubation_process.md b/incubation_process.md index a34e9f9..5942c76 100644 --- a/incubation_process.md +++ b/incubation_process.md @@ -1,10 +1,10 @@ # Incubation process *This is a draft* -## Funnel: +## Funnel: The project is candidate. The foundation proceeds to compliance, business and technical evaluation. -### Compliance evaluation: +### Compliance evaluation: - The project provides all the documents (IP, CoC, License, …) - The TC check that the project is compliant with the ORF rules. @@ -22,9 +22,84 @@ The project is candidate. The foundation proceeds to compliance, business and te - The project describes the architecture of the software. - The project describes its governance +## Stages + +Projects can be in four stages which are reflecting the maturity of the project and the rate of adoption in the OpenRail community (Sandbox, Incubation, Graduated, Retired). For each stage the project has to fullfil a set of criteria. Projects can propose to be moved from one stage to another. The TC will evaluate the proposal and decide if the project can move to the next stage. + +![Project lifecycle](images/incubation-stages.svg) + +*The stages and the process are inspired by the [CNCF project lifecycle process](https://github.com/cncf/toc/blob/main/process/README.md)* + +## Sandbox + +The Sandbox stage is the initial stage for projects being hosted by the OpenRail Foundation. Sandbox projects meet the minimal requirements necessary for being considered to be part of the OpenRail Foundation. The Sandbox stage is meant for projects that are in an early phase and are being prepared for meeting the full criteria of the Incubation stage. + +### Criteria + +* Apply to join the Sandbox using the form +* Adopt the OpenRail Foundation Code of Conduct +* Adhere to OpenRail Foundation IP Policy + +## Incubation + +The Incubation stage is for projects that have reached a level of maturity that indicates they are ready to be used by end users. Incubation projects meet the main criteria of the OpenRail Foundation which make sure that the project is governed openly. + +### Criteria + +*Examples from CNCF incubation process, to be adopted* + +* Document that it is being used successfully in production by at least three independent adopters which, in the TOC’s judgement, are of adequate quality and scope. +* Have a healthy number of committers. A committer is defined as someone with the commit bit; i.e., someone who can accept contributions to some or all of the project. +* Demonstrate a substantial ongoing flow of commits and merged contributions. +* Since these metrics can vary significantly depending on the type, scope and size of a project, the TOC has final judgement over the level of activity that is adequate to meet these criteria +* A clear versioning scheme. +* Specifications must have at least one public reference implementation. + +## Graduated + +The Graduated stage is for projects which have reached a level of hight maturity and adoption. They are the flagship projects of the OpenRail Foundation. + +### Criteria + +*Examples from CNCF incubation process, to be adopted* + +* Have committers from at least two organizations. +* Have achieved and maintained a OpenSSF Best Practices Badge. +* Have completed an independent and third party security audit with results published of similar scope and quality as this example which includes all critical vulnerabilities and all critical vulnerabilities need to be addressed before graduation. +* Explicitly define a project governance and committer process. The committer process should cover the full committer lifecycle including onboarding and offboarding or emeritus criteria. This preferably is laid out in a GOVERNANCE.md file and references an OWNERS.md file showing the current and emeritus committers. +* Explicitly define the criteria, process and offboarding or emeritus conditions for project maintainers; or those who may interact with the CNCF on behalf of the project. The list of maintainers should be preferably be stored in a MAINTAINERS.md file and audited at a minimum of an annual cadence. +* Have a public list of project adopters for at least the primary repo (e.g., ADOPTERS.md or logos on the project website). For a specification, have a list of adopters for the implementation(s) of the spec. +* Please include a short one-page narrative based off the Graduation template, no more than 500 words. + +## Retired + +Project that aren't developed anymore or that have been replaced by another project are moved to the Retired stage. + +### Criteria + +* Project has no active maintainers +* Development activity has slowed significantly + ## TC evaluation and advice to the Board of Directors The evaluation has to be done for each version of the project. A comuunity version could be accepted and not the enterprise version. ## The Board of Director validates the candidate as a project hosted by the OpenRail Foundation + +## Appendix + +### Template for project proposal for Sandbox stage + +* Project description +* List of criteria and how the project fullfil them + +See https://github.com/cncf/sandbox/blob/main/.github/ISSUE_TEMPLATE/application.yml for a template as inspiration. + +### Template for project proposal for Incubation stage + +* Project description + * Compliance + * Technical + * Business +* List of criteria and how the project fullfil them From 7173b098eeb053d1d186876326b5a78f9762e2ab Mon Sep 17 00:00:00 2001 From: Cornelius Schumacher Date: Thu, 1 Feb 2024 12:39:17 +0100 Subject: [PATCH 2/6] Ignore generated files --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..722d5e7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode From 76036fed86137bb8bc11d89d5fd5fd10922e5426 Mon Sep 17 00:00:00 2001 From: Cornelius Schumacher Date: Thu, 1 Feb 2024 13:10:01 +0100 Subject: [PATCH 3/6] Adapt name of organization We changed from "OpenRail Foundation" to "OpenRail Association". --- incubation_process.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/incubation_process.md b/incubation_process.md index 517a9ee..226377d 100644 --- a/incubation_process.md +++ b/incubation_process.md @@ -32,17 +32,17 @@ Projects can be in four stages which are reflecting the maturity of the project ## Sandbox -The Sandbox stage is the initial stage for projects being hosted by the OpenRail Foundation. Sandbox projects meet the minimal requirements necessary for being considered to be part of the OpenRail Foundation. The Sandbox stage is meant for projects that are in an early phase and are being prepared for meeting the full criteria of the Incubation stage. +The Sandbox stage is the initial stage for projects being hosted by the OpenRail Association. Sandbox projects meet the minimal requirements necessary for being considered to be part of the OpenRail Association. The Sandbox stage is meant for projects that are in an early phase and are being prepared for meeting the full criteria of the Incubation stage. ### Criteria * Apply to join the Sandbox using the form -* Adopt the OpenRail Foundation Code of Conduct -* Adhere to OpenRail Foundation IP Policy +* Adopt the OpenRail Association Code of Conduct +* Adhere to OpenRail Association IP Policy ## Incubation -The Incubation stage is for projects that have reached a level of maturity that indicates they are ready to be used by end users. Incubation projects meet the main criteria of the OpenRail Foundation which make sure that the project is governed openly. +The Incubation stage is for projects that have reached a level of maturity that indicates they are ready to be used by end users. Incubation projects meet the main criteria of the OpenRail Association which make sure that the project is governed openly. ### Criteria @@ -57,7 +57,7 @@ The Incubation stage is for projects that have reached a level of maturity that ## Graduated -The Graduated stage is for projects which have reached a level of hight maturity and adoption. They are the flagship projects of the OpenRail Foundation. +The Graduated stage is for projects which have reached a level of hight maturity and adoption. They are the flagship projects of the OpenRail Association. ### Criteria @@ -85,7 +85,7 @@ Project that aren't developed anymore or that have been replaced by another proj The evaluation has to be done for each version of the project. A community version could be accepted and not the enterprise version. -## The Board of Director validates the candidate as a project hosted by the OpenRail Foundation +## The Board of Director validates the candidate as a project hosted by the OpenRail Association ## Appendix From e6615f716473d37ed057b2da11be261c9eab5a0e Mon Sep 17 00:00:00 2001 From: Cornelius Schumacher Date: Thu, 1 Feb 2024 13:14:27 +0100 Subject: [PATCH 4/6] Fix typo --- incubation_process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/incubation_process.md b/incubation_process.md index 226377d..2e1bc49 100644 --- a/incubation_process.md +++ b/incubation_process.md @@ -24,7 +24,7 @@ The project is candidate. The Association proceeds to compliance, business and t ## Stages -Projects can be in four stages which are reflecting the maturity of the project and the rate of adoption in the OpenRail community (Sandbox, Incubation, Graduated, Retired). For each stage the project has to fullfil a set of criteria. Projects can propose to be moved from one stage to another. The TC will evaluate the proposal and decide if the project can move to the next stage. +Projects can be in four stages which are reflecting the maturity of the project and the rate of adoption in the OpenRail community (Sandbox, Incubation, Graduated, Retired). For each stage the project has to fulfill a set of criteria. Projects can propose to be moved from one stage to another. The TC will evaluate the proposal and decide if the project can move to the next stage. ![Project lifecycle](images/incubation-stages.svg) From cd0741dcc8f7531cc063a2cd03953a7322b0d161 Mon Sep 17 00:00:00 2001 From: Cornelius Schumacher Date: Thu, 1 Feb 2024 13:14:42 +0100 Subject: [PATCH 5/6] Link new project questionnaire --- incubation_process.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/incubation_process.md b/incubation_process.md index 2e1bc49..9477070 100644 --- a/incubation_process.md +++ b/incubation_process.md @@ -36,7 +36,7 @@ The Sandbox stage is the initial stage for projects being hosted by the OpenRail ### Criteria -* Apply to join the Sandbox using the form +* Apply to join the Sandbox using the [New Project Questionnaire](new_project_questionnaire.md) * Adopt the OpenRail Association Code of Conduct * Adhere to OpenRail Association IP Policy @@ -92,10 +92,7 @@ A community version could be accepted and not the enterprise version. ### Template for project proposal for Sandbox stage -* Project description -* List of criteria and how the project fulfill them - -See https://github.com/cncf/sandbox/blob/main/.github/ISSUE_TEMPLATE/application.yml for a template as inspiration. +See [New Project Questionnaire](new_project_questionnaire.md) ### Template for project proposal for Incubation stage From 277a932b48b00bc759883681a238ea46fe4a8da8 Mon Sep 17 00:00:00 2001 From: Cornelius Schumacher Date: Thu, 1 Feb 2024 13:43:04 +0100 Subject: [PATCH 6/6] Add reference to board decision --- incubation_process.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/incubation_process.md b/incubation_process.md index 9477070..09e1fd7 100644 --- a/incubation_process.md +++ b/incubation_process.md @@ -1,18 +1,23 @@ # Incubation process + *This is a draft* -## Funnel: +## Funnel + The project is candidate. The Association proceeds to compliance, business and technical evaluation. ### Compliance evaluation: + - The project provides all the documents (IP, CoC, License, …) - The TC check that the project is compliant with the ORF rules. ### Business evaluation + - The project describes the need it fulfills, and which strategic themes are concerned by the project. - The project explains the business roadmap. ### Technical evaluation + - The project describes the release plan. - The project describes the version(s): - Is there a community version working on open data? @@ -87,6 +92,7 @@ A community version could be accepted and not the enterprise version. ## The Board of Director validates the candidate as a project hosted by the OpenRail Association +According to the statutes of the OpenRail Association Article 22 the OpenRail board finally decides about the acceptance of the project based on the decision prepared by the Technical Committee. ## Appendix