diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 50e98417357f..45ec658761bd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -111,8 +111,8 @@ providing the following information: components, having a sponsor means that your use case has been validated. * Some information about your component, such as the reasoning behind it, use-cases, telemetry data types supported, and anything else you think is relevant for us to make a decision about accepting the component. -* The configuration options your component will accept. This will help us understand what it does and have an idea of - how the implementation might look like. +* The configuration options your component will accept. This will give us a better understanding of what it does, and + how it may be implemented. Components refer to connectors, exporters, extensions, processors, and receivers. The key criteria to implementing a component is to: @@ -121,7 +121,7 @@ Components refer to connectors, exporters, extensions, processors, and receivers * Provide the implementation which performs the component operation * Have a `metadata.yaml` file and its generated code (using [mdatadgen](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/mdatagen/README.md)). -Familiarize yourself with the interface of the component that you want to write, and use existing implementations as reference. +Familiarize yourself with the interface of the component that you want to write, and use existing implementations as a reference. [Building a Trace Receiver](https://opentelemetry.io/docs/collector/trace-receiver/) tutorial provides a detailed example of building a component. *NOTICE:* The Collector is in Beta stage and as such the interfaces may undergo breaking changes. Component creators @@ -130,8 +130,8 @@ excluded from the default builds. Generally, maintenance of components is the responsibility of contributors who authored them. If the original author or some other contributor does not maintain the component it may be excluded from the default build. The component **will** -be excluded if it causes build problems, has failing tests or otherwise causes problems to the rest of the repository -and the rest of contributors. +be excluded if it causes build problems, has failing tests, or otherwise causes problems to the rest of the repository +and its contributors. - Create your component under the proper folder and use Go standard package naming recommendations. - Use a boiler-plate Makefile that just references the one at top level, ie.: `include ../../Makefile.Common` - this