Description
Is your feature request related to a problem?
When I want to use OpenTelemetry C++ I currently have 2 options to do so:
- I build the code myself from the sources
- I use an "unofficial", maybe not stable package if it is available for my environment (see below)
For most users only option (1) is available and it's a huge entry barrier for people to get started with OpenTelemtry C++. A good example on the level of complexity is the Getting Started, which asks a lot of steps that need to be accomplished to get an app up and running.
Describe the solution you'd like
We discussed this during one of the last SIG meetings and this is a follow up issue on that: to make it easier for end-users to get started with OpenTelemetry C++ there are two options to address that:
- Provide binary releases for major platforms (OS + arch), similar to the releases the collector provides (see https://github.com/open-telemetry/opentelemetry-collector-releases/releases)
- Add support for common package managers (rpm, deb, ebuild, apk, homebrew), or if available already, collaborate with the maintainers of those packages to provide first-level support.
Both options are not mutually exclusive, indeed by providing binary releases some publications for package managers are easier as well (except they require reproducable builds).
I suggest the following steps:
- Create a github workflow that builds & releases binaries for major platforms, similar to https://github.com/open-telemetry/opentelemetry-collector-releases/blob/main/.github/workflows/release-core.yaml
- Review different package managers if they allow (a) the use of binary releases and (b) automatic updates
Describe alternatives you've considered
Do nothing.
Additional context
Addressing this issue does not require deep understanding of C++ but knowledge around releasing and publishing open source packages. Therefore I suggest this issue gets tagged with "help wanted".
Existing packages from 3rd parties:
- vcpkg: https://vcpkg.link/ports/opentelemetry-cpp
- alpine (apk): https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/testing/opentelemetry-cpp?ref_type=heads
- homebrew: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/o/opentelemetry-cpp.rb
- ebuild: https://cgit.gentoo.org/repo/gentoo.git/tree/dev-cpp/opentelemetry-cpp