OpenTelemetry Collector Contrib: The Component Bazaar You Build Your Collector From
Contrib repository for the OpenTelemetry Collector
At a glance
- What is it?
- The contrib repository hosts the long tail of OpenTelemetry Collector components that don't fit in core. It is where you find vendor-specific receivers, processors, and exporters, and it is the default source for custom distributions.
- Who is it for?
- Adopt opentelemetry-collector-contrib if you need a component that is not in the core distribution, such as a vendor-specific exporter or a niche receiver, and you are comfortable with per-component stability levels that may be Alpha or Development. Do not adopt it if you expect uniform production readiness across the board; you must check each component's README for its own stability and support status.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What This Repository Actually Is
The repository is written in Go and licensed under Apache-2.0. It is actively maintained, with releases roughly every two weeks. The release cadence is visible in the recent tags: v0.159.0 on 2026-08-17, v0.158.0 on 2026-08-04, and v0.157.0 on 2026-07-21. That is a steady rhythm. For an engineer, this means you can expect frequent updates, which is good for bug fixes but also means you need to track changes if you build a custom distribution.
Stability Levels Are Per Signal, Not Per Component
The README also mentions feature gates. Some features are hidden behind feature gates before they become part of the main code path. The feature gates themselves have lifecycle stages, which are defined in the core featuregate package. This means a component might behave differently depending on whether a feature gate is enabled. You cannot assume that the default behavior is the only behavior. If you see a feature gate in a component's documentation, you need to understand what it changes and whether it is stable enough for your use.
Support Is Fragmented: Vendors, Volunteers, and Downgrades
The repository also has a large list of approvers and triagers, which suggests a healthy review process. But the triager section explicitly says it is 'Actively seeking contributors to triage issues.' That is a signal that the project needs more help. If you are considering contributing, that is an opportunity. If you are considering depending on it, it is a reminder that the project is not infinitely resourced.
How You Get It Running: Build Your Own Distribution
The README does not provide a step-by-step builder command, but it points to the builder's location. You would run something like 'builder --config manifest.yaml' after installing the builder. The manifest specifies the component modules and their versions. You need to know the module paths for the components you want, which are documented in each component's README. This is a real operational cost: you are now responsible for keeping your manifest up to date with new releases and for testing the resulting binary. The official contrib distribution saves you that work, but you trade it for a larger binary and potential unused components.
The Core vs. Contrib Split: Why It Exists and What It Costs You
The release cadence is the same for both repositories, since they are released together in the opentelemetry-collector-releases repository. That is a benefit: you get synchronized versions. But it also means that a change in core can affect contrib components, and vice versa. The maintainers have to coordinate, and that coordination can introduce delays or breaking changes. You should test your custom distribution after each release.
A Real Alternative: The Core Repository and Vendor Distributions
The obvious alternative to using contrib is to use only the core repository. The core repository has a smaller set of components, but they are generally more stable. The README mentions that the core distribution includes Jaeger and Prometheus components, which are common choices. If your telemetry needs are simple, you can build a collector with just core components and skip contrib entirely. That reduces your dependency risk and your binary size. Another alternative is to use a vendor-specific distribution. Many vendors, such as Grafana, Splunk, and Datadog, maintain their own distributions of the collector that bundle specific contrib components. The maintainers list includes people from those vendors, and they often provide pre-built binaries. The difference is that a vendor distribution is opinionated: it includes the components that vendor supports, and it may have its own stability guarantees. You trade flexibility for convenience. The contrib repository is the middle ground: it gives you access to a wide range of components, but you have to do the vetting yourself. If you want maximum control and are willing to invest in the build process, contrib is the way. If you want a stable, minimal collector, start with core and add only what you need from contrib after checking each component's status.
Maintenance and Upgrade Cost: The Price of Choice
The maintenance cost of using this repository is directly tied to how you use it. If you use the official contrib distribution, you get updates every two weeks, and you need to test and redeploy regularly. That is a recurring cost, but it is handled by the release process. If you build your own distribution, you have the additional cost of maintaining your manifest file and rebuilding the binary when you want to update. The README does not provide a migration guide or a changelog, but the release notes for each version are available in the repository. You should review them for breaking changes. The stability levels are a guide, but they are not a guarantee. A component can be downgraded, as the README warns. That means you need to monitor the components you depend on, not just the repository as a whole. The license is Apache-2.0, which is permissive, so you can vendor the code if you need to. But vendoring is a last resort because you lose the upstream updates. In practice, the upgrade cost is manageable if you automate your build and testing. The repository is actively maintained, with a clear governance structure, so you are not betting on a dead project. But you are betting on a project that has a wide surface area and variable component quality. The key is to be selective: use only the components you need, and verify their stability and support before you commit.
Editorial conclusion
Adopt opentelemetry-collector-contrib if you need a component that is not in the core distribution, such as a vendor-specific exporter or a niche receiver, and you are comfortable with per-component stability levels that may be Alpha or Development. Do not adopt it if you expect uniform production readiness across the board; you must check each component's README for its own stability and support status. Before using any component, verify its stability level for each signal (traces, metrics, logs), check whether it is gated behind a feature gate, and confirm who actually maintains it, since support may come from a vendor or a single contributor. If you need a stable, minimal collector, start from the core repository and add only the contrib components you have vetted.
Community notes