From 5422b901f4485e54093c538a5255480da5df718e Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Tue, 14 May 2024 13:01:08 -0700 Subject: [PATCH] Add code owner policy (#5555) * Add Code Owners policy * Add Code Owner Request Issue template * Add changelog entry * Fix lint * Apply suggestions from code review Co-authored-by: Damien Mathieu <42@dmathieu.com> * Add Removing Code Ownership section * Apply suggestions from code review Co-authored-by: Damien Mathieu <42@dmathieu.com> --------- Co-authored-by: Damien Mathieu <42@dmathieu.com> --- .github/ISSUE_TEMPLATE/owner.md | 27 +++++++++++++++++++ CHANGELOG.md | 1 + CONTRIBUTING.md | 48 +++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/owner.md diff --git a/.github/ISSUE_TEMPLATE/owner.md b/.github/ISSUE_TEMPLATE/owner.md new file mode 100644 index 00000000000..834b66c10f0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/owner.md @@ -0,0 +1,27 @@ +--- +name: 'Code Owner Request' +about: Request to become a Code Owner for a module +title: 'Request to become a Code Owner' + +--- + +Module: [e.g. go.opentelemetry.io/contrib/zpages] + +### Requirements + +- [ ] I am a [member of the OpenTelemetry organization] +- [ ] I will maintain my OpenTelemetry organization membership as a Code Owner +- [ ] I have good working knowledge of the code in the module +- [ ] I have good working knowledge of the technology the module supports +- [ ] I understand I will be responsible for keeping up with the changes to technology the module supports +- [ ] I understand I will be expected to review any Pull Requests or Issues created that relate to this module +- [ ] I understand I will be responsible for the stability and versioning compliance of the module +- [ ] I understand I will be responsible for deciding any additional Code Owners of the module + +[member of the OpenTelemetry organization]: https://github.com/open-telemetry/community/blob/main/community-membership.md#member + +### Relvant experience + +List any PRs/Issues you have interacted with in this repository for this module. + +Additionally, provide any experience you have related to the underlying technology the module supports. diff --git a/CHANGELOG.md b/CHANGELOG.md index e6fb1b6454a..281cec2d184 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm - Add `WithFallbackMetricProducer` option that adds a fallback if the `OTEL_METRICS_PRODUCERS` is not set or empty. - The `go.opentelemetry.io/contrib/processors/baggage/baggagetrace` module. This module provides a Baggage Span Processor. (#5404) - Add gRPC trace `Filter` for stats handler to `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc`. (#5196) +- Add a repository Code Ownership Policy. (#5555) ### Changed diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3ed049d5c9b..e9fa7b46748 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,6 +9,54 @@ Before you start please be sure to read through these contributing requirements All contributions to this project MUST be licensed under this project's [license](LICENSE). You will need to sign the [CNCF CLA](https://identity.linuxfoundation.org/projects/cncf) before your contributions will be accepted. +## Code Owners + +To ensure code that lives in this repository is not abandoned, all modules added are required to have a Code Owner. +A Code Owner is responsible for a module within this repository. +This status is identified in the [CODEOWNERS file](./CODEOWNERS). +That responsibility includes maintaining the component, triaging and responding to issues, and reviewing pull requests. + +### Requirements + +To become a Code Owner, you will need to meet the following requirements. + +1. You will need to be a [member of the OpenTelemetry organization] and maintain that membership. +2. You need to have good working knowledge of the code you are sponsoring and any project that that code instruments or is based on. + +If you are not an existing member, this is not an immediate disqualification. +You will need to engage with the OpenTelemetry community so you can achieve this membership in the process of becoming a Code Owner. + +It is best to have resolved at least an issue related to the module, contributed directly to the module, and/or reviewed module PRs. +How much interaction with the module is required before becoming a Code Owner is up to the existing Code Owners. + +Code Ownership is ultimately up to the judgement of the existing Code Owners and Maintainers of this repository. +Meeting the above requirements is not a guarantee to be granted Code Ownership. + +[member of the OpenTelemetry organization]: https://github.com/open-telemetry/community/blob/main/community-membership.md#member + +### Responsibilities + +As a Code Owner you will be responsible for the following: + +- You will be responsible for keeping up with the instrumented library. Any "upstream" changes that impact this module need to be proactively handle by you. +- You will be expected to review any Pull Requests or Issues created that relate to this module. +- You will be responsible for the stability and versioning compliance of the module. +- You will be responsible for deciding any additional Code Owners of the module. + +### How to become a Code Owner + +To become a Code Owner, open [an Issue](https://github.com/open-telemetry/opentelemetry-go-contrib/issues/new?assignees=&labels=&projects=&template=owner.md&title=). + +### Removing Code Ownership + +Code Owners are expected to remove their ownership if they cannot fulfill their responsibilities anymore. + +It is at the discretion of the repository Maintainers and fellow Code Owners to decide if a Code Owner should be considered for removal. +If a Code Owner is determined to be unable to perform their duty, a repository Maintainer will remove their ownership. + +Inactivity greater than 5 months, during which time there are active Issues or Pull Requests to address, is deemed an automatic disqualification from being a Code Owner. +A repository Maintainer may remove an Code Owner inactive for this length. + ## Filing Issues Sensitive security-related issues should be reported to . See the [security policy](https://github.com/open-telemetry/opentelemetry-go-contrib/security/policy) for details.