Skip to content

Commit 28ca163

Browse files
mx-psiChrsMark
andauthored
[docs/component-stability.md] Add criteria for graduating between stability levels (open-telemetry#11864)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Code ownership and maintenance of components continues to be an issue, with varying levels of support across contrib. As we approach 1.0 and the ability to mark components as stable, we want to make sure that components that we deem as 'stable' have a healthy community around them. We have three datapoints that we can leverage here: how many codeowners a component has, how diverse these are in terms of employers and how actively the codeowners have been responding to issues/PRs in the recent past. We need criteria that 1. Are reasonable predictors of the component health over the short/medium term 2. Are not too onerous on the code owners Some notes: 1. Some beta components do not meet the criteria listed on the PR. This will be the case even after the transition for some components. This PR makes no claim as to what should happen to these components stability (so, de facto, they will stay as is). 2. The OTLP receiver and exporters do not meet this criteria today because they don't have listed code owners. We can solve this either by carving out an exception or by listing code owners. 3. We need automation and templates to enforce this. <!-- Issue number if applicable --> #### Link to tracking issue Fixes open-telemetry#11850 --------- Co-authored-by: Christos Markou <[email protected]>
1 parent 2cab46e commit 28ca163

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

docs/component-stability.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,42 @@ To move within the 'Maintained' ladder ("graduate"), the process for doing so is
260260
3. If approved, a PR to change the stability level should be opened and MUST be approved by all
261261
listed code owners.
262262

263+
## Graduation criteria
264+
265+
In addition to the requirements outlined above, additional criteria should be met before a component
266+
can graduate to a higher stability level. These ensure that the component is ready for the increased
267+
usage and scrutiny that comes with a higher stability level, and that the community around it is
268+
sufficiently healthy.
269+
270+
If the graduation criteria are not met, the approver should provide feedback on what is missing and
271+
how to address it. The component owners can then address the feedback and re-request graduation on
272+
the same issue.
273+
274+
## In development to alpha
275+
276+
No additional criteria are required to graduate from development to alpha.
277+
The component still needs to meet the general requirements for alpha components.
278+
279+
## Alpha to beta
280+
281+
To graduate any signal from alpha to beta on a component:
282+
1. The component MUST have at least two active code owners.
283+
3. Within the 30 days prior to the graduation request, the code owners MUST have reviewed and
284+
replied to at least 80% of the issues and pull requests opened against the component. This
285+
excludes general PRs or issues that are not specific to the component itself (e.g. repo-wide API
286+
updates). It is not necessary that the issues and PRs are closed or merged, but that they have
287+
been reviewed and replied to appropriately.
288+
289+
## Beta to stable
290+
291+
To graduate any signal from beta to stable on a component:
292+
1. The component MUST have at least three active code owners.
293+
3. Within the 60 days prior to the graduation request, the code owners MUST have reviewed and
294+
replied to at least 80% of the issues and pull requests opened against the component. This
295+
excludes general PRs or issues that are not specific to the component itself (e.g. repo-wide API
296+
updates). It is not necessary that the issues and PRs are closed or merged, but that they have
297+
been reviewed and replied to appropriately.
298+
263299
## Deprecation Information
264300

265301
When a component is moved to deprecated, a deprecation section should indicate the date it was deprecated

0 commit comments

Comments
 (0)