|
| 1 | +# OpenTelemetry Collector Releases approvers |
| 2 | + |
| 3 | +## Problem statement |
| 4 | + |
| 5 | +Release engineering requires a different set of skills and interests than developing the Collector |
| 6 | +codebase. As such, the set of contributors for the Collector releases has overlap with but is |
| 7 | +different from the set of contributors for the Collector codebase. We are missing out on retaining |
| 8 | +people who are more interested in these aspects. We can see this with the examples of the |
| 9 | +OpenTelemetry Operator repository and the OpenTelemetry Collector Helm Chart repository; they are |
| 10 | +able to work independently from the other Collector repositories and have been able to create an |
| 11 | +independent community. |
| 12 | + |
| 13 | +We also have a [growing backlog][1] of issues related to the release process that would benefit from |
| 14 | +a dedicated set of people. |
| 15 | + |
| 16 | +## Overview |
| 17 | + |
| 18 | +I propose we create a new `collector-releases-approvers` Github team that are [approvers][2] on the |
| 19 | +[opentelemetry-collector-releases][3] repository and code owners for the Builder and release |
| 20 | +workflows. The existing approvers teams will focus on the Collector and Collector components |
| 21 | +codebases. This opens future possibilities for creating a separate WG/SIG for this and further |
| 22 | +improving our release process. |
| 23 | + |
| 24 | +## Team scope and responsibilities |
| 25 | + |
| 26 | +The `collector-releases-approvers` team will be [approvers][2] for the |
| 27 | +opentelemetry-collector-releases repository. They will also be listed as [code owners][4] for the |
| 28 | +release workflows on the opentelemetry-collector and opentelemetry-collector-contrib repositories. |
| 29 | + |
| 30 | +The new team will not acquire any responsibilities related to the release; there will be no changes |
| 31 | +in the release rotation or release duties after this change. |
| 32 | + |
| 33 | +## Initial team members |
| 34 | + |
| 35 | +Initially, all members of the `collector-contrib-approvers` team will be part of the |
| 36 | +`collector-releases-approvers` team. The Collector maintainers will reach out to existing |
| 37 | +contributors to the Collector releases to invite them to join the team. |
| 38 | + |
| 39 | +## Prior art |
| 40 | + |
| 41 | +This introduces an approver group without a maintainer. It also introduces this team as a code owner for files in other repositories. There are prior instances of both of these patterns within the OpenTelemetry project: |
| 42 | + |
| 43 | +1. There are currently two SIGs that have approver teams without corresponding maintainer teams: |
| 44 | + - The Docs SIG has multiple localization approver teams that have approver duties for the translations of the OpenTelemetry documentation. |
| 45 | + - The Semantic Conventions SIG has multiple approver teams corresponding to different Working Groups and/or semantic conventions areas. |
| 46 | +2. There are multiple instances of teams being code owners: |
| 47 | + - [opentelemetry-collector approvers are code owners for `examples/demo` in `opentelemetry-collector-contrib`][5] |
| 48 | + - [Helm chart and Operator approvers are code owners for the k8s distro in `opentelemetry-collector-releases`][6] |
| 49 | + - [Go instrumentation approvers are code owners of instrgen in `opentelemetry-go-contrib`][7] |
| 50 | + |
| 51 | +## Future work |
| 52 | + |
| 53 | +If we are able to grow a healthy community around the releases repository, in the future we can |
| 54 | +consider the following: |
| 55 | + |
| 56 | +- Having a dedicated SIG/WG for the opentelemetry-collector-releases repository. |
| 57 | +- Making the `collector-releases-approvers` code owners of the OpenTelemetry Collector Builder. |
| 58 | +- Having dedicated meetings for release retros that allow us to iteratively improve the Collector |
| 59 | + release process. |
| 60 | +- Splitting off the artifact and container release process to be independent from the source code |
| 61 | + release from opentelemetry-collector and opentelemetry-collector-contrib. |
| 62 | + |
| 63 | +This proposal does not require us to do any of the above, but they are interesting possibilities for |
| 64 | +the future. |
| 65 | + |
| 66 | +[1]: https://github.com/search?q=org%3Aopen-telemetry+label%3Arelease-retro++&type=issues&state=open |
| 67 | +[2]: https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver |
| 68 | +[3]: https://github.com/open-telemetry/opentelemetry-collector-releases |
| 69 | +[4]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/CONTRIBUTING.md#membership-roles-and-responsibilities |
| 70 | +[5]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/40fa8b8a925cadf569e785cbc85d6dfca152bde2/.github/CODEOWNERS#L40 |
| 71 | +[6]: https://github.com/open-telemetry/opentelemetry-collector-releases/blob/3ba7931410d1696d9df7bef424b634a5d64cffbd/.github/CODEOWNERS#L17 |
| 72 | +[7]: https://github.com/open-telemetry/opentelemetry-go-contrib/blob/c0cc77f10a2dae774161d6a03441b12c0e8b0816/CODEOWNERS#L73 |
0 commit comments