Skip to content

Commit bf3da24

Browse files
committed
[Proposal] A pre-release review process for new major releases of any client library
The main idea is that before every major release or the release of a new telemetry type (metrics) we would like to do a technical and specification conformance review that will ensure consistency and same "look and feel" for all officially released libraries. Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
1 parent f228a83 commit bf3da24

File tree

2 files changed

+97
-0
lines changed

2 files changed

+97
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Technical Review and Specification Conformance for ${Language}/${SIGNAL}/${MAJOR_VERSION} library
2+
3+
Technical Committee Sponsor(s): []
4+
5+
Expected Release Date: []
6+
7+
Expected Version Number: []
8+
9+
Spec Compliance Matrix is up to date: [Permanent link to the matrix]
10+
11+
Versioning And Stability Document: [Link to version document]
12+
13+
Public Code Documentation: [Link to godoc, javadoc, etc.]
14+
15+
Public Examples: [Link to couple of official usage examples]
16+
17+
Discovered Issues: [List of filed issues by the TC members during the review process]
18+
19+
## TODOs
20+
21+
This section must be deleted when the PR for starting the review is opened,
22+
but it contains a list of important TODOs that maintainers MUST do before starting the process.
23+
24+
The Language Maintainers MUST:
25+
26+
* Prior to starting the review, update the
27+
[compliance matrix](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md)
28+
for that language/signal.
29+
* Each language implementation MUST follow
30+
[the versioning and stability requirements](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/versioning-and-stability.md)
31+
and prepare the public documentation about the versioning and stability guarantees.
32+
* Work with a Technical Committee Sponsor(s) during review. The Technical
33+
Committee members are not language experts, and it is expected to work with the
34+
language maintainers and/or invited language experts to perform this review
35+
process. Language maintainers SHOULD respond to any question during the review
36+
time in a reasonable amount of time to not delay the review process.
37+
38+
It is highly recommended to have at least 2 members of the Technical Committee
39+
as sponsors. Any Technical Committee can be a sponsor, and any Technical
40+
Committee member can provide feedback during the review process.
41+
42+
Technical Committee Sponsor(s) MUST:
43+
44+
* Do the due diligence and review the public documentation and examples, and
45+
ensure specification conformance.
46+
* Ensure conformance with the versioning and stability document.
47+
* Ensure consistent names across implementations (e.g. TraceId vs GlobalId)
48+
* Avoid confusions across implementation (e.g same function returns has different behaviors)
49+
* Ensure no experimental features (signals) are part of the released packages (e.g. api, sdk, etc.).
50+
51+
The OpenTelemetry Technical Committee MUST attend one of the language SIG
52+
meetings and have a public discussion with the language maintainers to discuss
53+
any issues found during the review process.
+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# New Signal Release Process
2+
3+
This document defines the release requirements and process followed by the
4+
OpenTelemetry libraries, along with the rules and procedures for meeting those
5+
requirements.
6+
7+
In this document, the terms "OpenTelemetry" and "language implementations" both
8+
specifically refer to the OpenTelemetry client libraries. These terms do not
9+
refer to the specification or the Collector in this document.
10+
11+
Every OpenTelmetry official major release MUST follow the release process
12+
proposed in this document. A "major release" refers to a new version of any
13+
[signal](../specification/glossary.md#signals) (adding a new signal to an
14+
already released major version of the library, or a major version bump for an
15+
existing released signal) for OpenTelemetry client libraries.
16+
17+
The OpenTelemetry [Technical Committee](https://github.com/open-telemetry/community/blob/main/tech-committee-charter.md) (with guidance from language maintainers) is responsible to setup release dates
18+
and ensure quality standards of the official releases
19+
[here](https://github.com/open-telemetry/community/blob/main/tech-committee-charter.md#responsibilities-of-the-technical-committee).
20+
21+
To graduate the release process, each language implementation MUST do:
22+
23+
* Technical and Specification Compliance Review
24+
25+
The OpenTelemetry Technical Committee reserves the right to change and improve
26+
this process during time based on the prior experiences.
27+
28+
## Technical and Specification Compliance Review
29+
30+
The OpenTelemetry [Technical Committee](https://github.com/open-telemetry/community/blob/main/tech-committee-charter.md)
31+
commits to ensure that every decision will be made in less than 14 days after
32+
the process is started.
33+
34+
To begin the technical and specification compliance review language maintainers
35+
MUST submit a PR and complete this [template](new-signal-release-process-template.md).
36+
The name of the file MUST be `release-review-${language}-${signal}-v${major_version}.md`.
37+
38+
During the review process, breaking changes related to the new signal MAY be
39+
needed to comply with the specification, it is highly recommended to start
40+
the process as soon as possible, but after all features and planned changes are merged.
41+
42+
After the review is approved, it is highly recommended to not make any major
43+
change to the code because that will cause the review to invalidate and the
44+
process needs to be redone.

0 commit comments

Comments
 (0)