Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .cspell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ words:
- toolset
- traceid
- traceresponse
- Triager
- triagers
- Untrace
- vitess
- webmocks
Expand Down
32 changes: 32 additions & 0 deletions .github/component_owners.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Keep all in alphabetical order
components:
instrumentation/active_storage:
- ymtdzzz
instrumentation/aws_sdk:
- jterapin
- alextwoods
- NathanielRN
instrumentation/grape:
- muripic
instrumentation/graphql:
- swalkinsha
- rmoslogo
instrumentation/grpc:
- michal-kazmierczak
instrumentation/httpx:
- HoneyryderChuck
instrumentation/mongo:
- johnnyshields
instrumentation/racecar:
- chrisholmes
instrumentation/rspec:
- chrisholmes
instrumentation/que:
- indrekj
processor/baggage:
- robbkidd
- mikegoldsmith
resources/container:
- scbjans
sampler/xray:
- jj22ee
18 changes: 18 additions & 0 deletions .github/workflows/component-owners.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: 'Component Owners'
on:
pull_request_target:

permissions:
contents: read

jobs:
run_self:
permissions:
pull-requests: write # required for assigning reviewers to PRs
runs-on: ubuntu-latest
name: Auto Assign Owners
steps:
- uses: dyladan/[email protected]
with:
config-file: .github/component_owners.yml
repo-token: ${{ secrets.GITHUB_TOKEN }}
41 changes: 0 additions & 41 deletions CODEOWNERS

This file was deleted.

49 changes: 49 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,55 @@ In addition, when a change is complex or a reviewer is unfamiliar with the code,
the reviewer may seek additional reviews from people more familiar with the
change before merging a PR.

## Component Ownership
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is largely copied from the guidelines in the opentelemetry-js-contrib CONTRIBUTING.md file.


This repository contains many components which are maintained by more than the typical set of ruby-contrib maintainers and approvers.
Each component in this repository SHOULD have a component owner who is responsible for maintaining it.
The README.md for each component SHOULD contain its owner, but the source of truth for component ownership is in [.github/component_owners.yml](.github/component_owners.yml).

Component owners are generally given authority to make decisions relating to implementation and feature requests for their components,
provided they follow the best practices set out by the maintainers and the [mission, vision and values](https://github.com/open-telemetry/community/blob/main/mission-vision-values.md)
of the OpenTelemetry Project. To facilitate independent triage of issues pertaining to the owned component, component owners are assigned
[the Triager role](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#triager).

Component owners MUST do their best to maintain a high level of quality, security, performance, and specification compliance within their components.
Maintainers may override the decisions of component owners, but should only do so when they feel one or more of these traits is compromised.

### Becoming a Component Owner

To become a component owner, contributors MUST be a [member](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#member) of the OpenTelemetry GitHub organization.
To become a member, follow the steps in the [community guidelines for membership requirements](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#requirements).

To become a component owner, contributors SHOULD demonstrate prior knowledge of the instrumented package or the concepts therein.

Ways do to so may be by providing proof of:

- current or prior involvement with the community that develops the upstream package
- **Example:** A person working on MongoDB requesting ownership over a MongoDB instrumentation
- current or prior involvement with a community that develops systems with similar concepts
- **Example:** A person previously working on MySQL requesting ownership of a instrumentation package that instruments another database client library instrumentation.
- current or prior extensive use of the instrumented package in other project they are involved in
- **Example:** A person working at a company that makes extensive use of the `koala` library requesting ownership of the `opentelemetry-instrumentation-koala` package.
- a vested interest in the telemetry being emitted from that instrumentation
- **Example:** A person employed at an observability vendor that relies on the continued maintenance of the instrumentation

**Examples of proof may include but are not limited to:**

- Links to issues/PRs they worked on
- Links to blog posts authored by them on behalf of the organization developing that system
- Membership in GitHub teams/organizations that are associated with the development of the upstream package

Aspiring Component Owners MUST agree to uphold the [mission, vision and values](https://github.com/open-telemetry/community/blob/main/mission-vision-values.md) of the OpenTelemetry project.
Further, aspiring component owners are expected to have knowledge of the [OpenTelemetry Semantic Conventions](https://github.com/open-telemetry/semantic-conventions)
and MUST agree to adhere to the rules set out therein.

If all these conditions are met, aspiring component owners are encouraged to self-nominate by opening an issue.
@open-telemetry/ruby-contrib-maintainers will then engage on the issue, may ask questions, and will then - based on the
information provided on the issue - either approve or deny the ownership request. If the ownership request has been
approved, the new component owner opens a PR to add themselves to the list of owners ([.github/component_owners.yml](.github/component_owners.yml))
for that package.
@open-telemetry/ruby-contrib-maintainers will add the component owner to @open-telemetry/ruby-contrib-triagers.

## Releases

This repository includes a set of tools for releasing gems. Only maintainers
Expand Down
2 changes: 2 additions & 0 deletions instrumentation/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ In addition to the requirements to maintain at least [community member status](h
* Ruby language changes
* Instrumented library changes

When you become a component owner, you will be added to the `opentelemetry/ruby-contrib-triagers` group and will be automatically assigned to pull requests related to your component.

If you do not have the capacity to maintain the instrumentation library, please consider contributing to the OpenTelemetry Ruby project in other ways or consider creating a separate project for the instrumentation library.

> :warning: Libraries that do not meet these requirements may be removed from the project at any time at the discretion of OpenTelemetry Ruby Contrib Maintainers.
Expand Down