Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New blog post on how to contribute to OTel #3238

Merged
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
69627f1
New blog post on how to contribute to OTel
avillela Sep 8, 2023
056d5a3
Updates
avillela Sep 8, 2023
36f6d18
Fix filename format
avillela Sep 8, 2023
49c2d1e
Fix linting issues
avillela Sep 8, 2023
594960c
Fix build issues
avillela Sep 8, 2023
50f9571
Update content/en/blog/2023/contributing-to-otel/index.md
avillela Sep 11, 2023
aef29ea
Update content/en/blog/2023/contributing-to-otel/index.md
avillela Sep 11, 2023
697c2ee
Update content/en/blog/2023/contributing-to-otel/index.md
avillela Sep 11, 2023
071aba4
Update content/en/blog/2023/contributing-to-otel/index.md
avillela Sep 11, 2023
11dfe72
Update content/en/blog/2023/contributing-to-otel/index.md
avillela Sep 11, 2023
601d181
Add suggestions from @svrnm
avillela Sep 12, 2023
6ef084e
Fix build issues
avillela Sep 12, 2023
ede3764
Update content/en/blog/2023/contributing-to-otel/index.md
avillela Sep 12, 2023
bf1ad79
Update content/en/blog/2023/contributing-to-otel/index.md
avillela Sep 12, 2023
5dccc12
Update content/en/blog/2023/contributing-to-otel/index.md
avillela Sep 12, 2023
96fbbfb
Include suggestions from @svrnm
avillela Sep 12, 2023
9dd9d66
Fix build issues
avillela Sep 12, 2023
a9fcc5f
Fix build issues
avillela Sep 12, 2023
6b582dc
Update content/en/blog/2023/contributing-to-otel/index.md
avillela Sep 13, 2023
65b23da
Add suggestions from @svrnm
avillela Sep 13, 2023
fd1c3b0
Update publiciation date
avillela Sep 13, 2023
a74b12e
Merge branch 'main' into avillela-otel-contributing-blog-post
cartermp Sep 14, 2023
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
191 changes: 191 additions & 0 deletions content/en/blog/2023/contributing-to-otel/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
---
title: Thinking about contributing to OpenTelemetry? Here's how I did it.
linkTitle: Contributing to OTel
date: 2023-09-08
avillela marked this conversation as resolved.
Show resolved Hide resolved
author:
>- # If you have only one author, then add the single name on this line in quotes.
[Adriana Villela](https://github.com/avillela) (Lightstep),
canonical_url: https://medium.com/cloud-native-daily/how-to-contribute-to-opentelemetry-5962e8b2447e
cSpell:ignore: EUWG, nolan, riaan, sayin, servian
---

![Sunset over the water over an orange sky, with long grass in the foreground.](turks-sunset.jpg)

Are you an [OpenTelemetry](/) (OTel) practitioner? Have you ever wanted to
contribute back to OpenTelemetry, but didn't know where to begin? Well, my
friend, you've come to the right place!

Drawing from my own personal journey, I'd like to offer some valuable insights
into effective ways I've discovered for initiating involvement in this thriving
and inclusive open source community.

## Contributing to open source can be SCARY!

Let's face it. Most of us use open source projects in our day-to-day tech jobs
(Or maybe side hustles?). But what about _contributing_ to these open source
projects? I don't know about you, but for me, up until last year, the prospect
of contributing to open source was just plain _scary_!! I mean, when you open up
a
[pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
(PR),
_[you are putting yourself out there](https://oncallmemaybe.com/episodes/adventures-in-open-source-software-with-riaan-nolan-of-servian)_,
to be judged by those little GitHub avatars that make up the approvers list for
the repository you're contributing to. YIKES!

But as scary as the thought of opening a PR might be, it's also SO VERY
SATISFYING to see your contributions merged into a codebase. And most
importantly, your contributions can help others!! How cool is that?

## Ways to contribute to OTel

Okay. Are you feeling pumped now? Awesome. Let's look at some of the ways to
contribute to OTel.

### **Contribute to the OTel Docs**
avillela marked this conversation as resolved.
Show resolved Hide resolved

Are you new to OTel? Are you a bit apprehensive about contributing code to an
open source project? No sweat! One of the best and easiest ways to contribute to
OpenTelemetry (or to any open source project, for that matter) is to contribute
to the docs! Remember that being new is not a disadvantage. In fact, it's an
asset for the docs: by not being too deep into the OTel world, a newcomer is the
perfect person assess OTel documentation!

avillela marked this conversation as resolved.
Show resolved Hide resolved
Whenever I need to dig into a new OTel concept, I always turn to the docs for
guidance. Sometimes they have all of the info that I need, and sometimes they
don't. This usually means that I have to do a bit more digging beyond the docs,
by seeking out external blog posts, bugging techie friends, etc. Once I'm able
to fill that knowledge gap, I do two things:

1. I blog about it. See examples [here](https://shorturl.at/vLYZ0),
[here](https://shorturl.at/hlqtE), and [here](https://shorturl.at/czHST).
2. I contribute to the OTel docs. See examples
[here](https://github.com/open-telemetry/opentelemetry.io/pull/3195),
[here](https://github.com/open-telemetry/opentelemetry.io/pull/3098), and
[here](https://github.com/open-telemetry/opentelemetry.io/pull/2130).

> ✨ **NOTE:** ✨ Number two is _especially_ important, because the best way for
> the OTel docs to be the Source of Truth for All Things OTel<sup>TM</sup> is to
> have folks like us contributing to the docs whenever we see a gap.

Learn more about contributing to the OTel docs
[here](https://github.com/open-telemetry/opentelemetry.io/blob/main/CONTRIBUTING.md).
avillela marked this conversation as resolved.
Show resolved Hide resolved

> ✨ **NOTE:** ✨ If you find the contribution guidelines for the OTel Docs to
> be confusing or have a mistake, improving them is a great way to contribute!
> 😉

### Write a post on the OTel Blog

Another great way to contribute to OTel is to write blog posts on the
[OpenTelemetry blog](/blog). If you've done something interesting in
OpenTelemetry, or have worked on a complex OTel implementation within your
organization, the OpenTelemetry blog is a great way to share that with the
community at large. As long as your work isn't promoting a product you're
selling or requires readers to make a purchase in order to replicate your work,
your blog post is most welcome!

You can check out an example of one of my previous blog posts
[here](/blog/2022/otel-demo-app-nomad/).

Learn more about submitting a post to the OTel blog
[here](https://github.com/open-telemetry/opentelemetry.io#submitting-a-blog-post).

avillela marked this conversation as resolved.
Show resolved Hide resolved
### Join the OTel End User Working Group

Are you just getting started with OTel and want to connect with other OTel
practitioners? Do you have feedback that you wish to share with the greater OTel
community? Or perhaps you're a more advanced OTel practitioner and want to share
your story and/or use cases with the greater community? Then the OTel End User
Working Group (EUWG) might be just the place for you! This group is made up of
OpenTelemetry practitioners who come together a few times a month to:

- Share their feedback and ask questions through
[OTel End User Discussions](/community/end-user/discussion-group/)
- Share their stories of OpenTelemetry adoption through
[OTel Q&A](/community/end-user/interviews-feedback/)
- Share their knowledge on specific areas of OpenTelemetry through
[OTel in Practice (OTiP)](/community/end-user/otel-in-practice/)

As an added bonus, I'm one of the co-chairs. Just sayin'… 😉

Learn more about the OTel EUWG [here](/community/end-user/).

### Contribute to the OpenTelemetry Demo

If you'd like to contribute code, but aren't quite ready to contribute to core
OTel code, then perhaps you might want to check out the
[OTel Demo](/docs/demo/). The OTel Demo includes a distributed online telescope
shop application with services written in multiple languages and is instrumented
with OpenTelemetry. It's a great way to learn about how to instrument code in
your chosen language.

[Per the OTel Demo docs](https://github.com/open-telemetry/opentelemetry-demo#welcome-to-the-opentelemetry-astronomy-shop-demo),
the purpose of the demo is to:

- Provide a realistic example of a distributed system that can be used to
demonstrate OpenTelemetry instrumentation and Observability.
- Build a base for vendors, tooling authors, and others to extend and
demonstrate their OpenTelemetry integrations.
- Create a living example for OpenTelemetry contributors to use for testing new
versions of the API, SDK, and other components or enhancements.

The OTel Demo [just celebrated its first birthday](/blog/2023/demo-birthday/),
and it's come a long way since its first release. As OTel evolves, the OTel Demo
must also evolve alongside it, to ensure that it is utilizing the latest and
greatest versions of things like the [OTel Collector](/docs/collector/) and
language-specific instrumentation. In short, there's always work to be done!

You can check out an example of one of my contributions
[here](https://github.com/open-telemetry/opentelemetry-demo/pull/432).

Learn more about how to contribute to the OTel Demo
[here](https://github.com/open-telemetry/opentelemetry-demo/blob/main/CONTRIBUTING.md).

avillela marked this conversation as resolved.
Show resolved Hide resolved
### Join a Special Interest Group

Feeling a little more adventurous? Then why not join one of the other OTel
[special interest groups](https://en.wikipedia.org/wiki/Special_interest_group)
(SIGs)? By joining a SIG, you can contribute to things like (but not limited to)
SDK development, auto-instrumentation of libraries, the
[OTel Collector](/docs/collector/), and the
[OTel Operator](/docs/kubernetes/operator/). You don't even need to be a regular
contributor. Sometimes, contributions come out of necessity. Like maybe you
found a bug in the Collector. Why not take a stab at fixing it? Or maybe there's
a feature that you and your team desperately need. Again, why not take a stab at
implementing it?

Now, before you go off writing code, you should make sure that you:

1. Raise an issue in the
[appropriate GitHub repository](https://github.com/open-telemetry)
2. Check with folks on
[Slack](https://communityinviter.com/apps/cloud-native/cncf) to see if this
feature is needed/wanted
3. Pop into one of the [SIG calls](https://shorturl.at/beJ09) and share your
specific interests and needs

I'm under no illusion that any contributing code to OTel is is a trivial task.
Far from it. If you do end up contributing code, one way to alleviate the
stress/learning curve of doing it solo would be to pair with a willing OTel
community member to implement these types of code changes. I've found folks
within OTel to be nothing but helpful and welcoming.

You can check out an example of one of my contributions
[here](https://github.com/open-telemetry/opentelemetry-helm-charts/pull/531).

Learn more about the OTel SIGs [here](/community/#special-interest-groups).

### Final thoughts

As we've seen, there are many ways to contribute to OpenTelemetry, whether it's
through docs contributions, blogging, joining the End User Working Group,
contributing to the OTel Demo, or joining a SIG. Anything helps!
svrnm marked this conversation as resolved.
Show resolved Hide resolved

There's no such thing as a small contribution, because every little bit adds up,
and helps make OpenTelemetry awesome.

As a final thought, I will always encourage folks to blog about the OTel
findings and discoveries. Obviously, I do that too. But please also share these
findings by contributing directly to the OTel docs and blog, to ensure that we
have a single source of truth, and so that everyone, whether they're new to OTel
or advanced practitioners, can benefit.
avillela marked this conversation as resolved.
Show resolved Hide resolved
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
72 changes: 72 additions & 0 deletions static/refcache.json
Original file line number Diff line number Diff line change
Expand Up @@ -839,6 +839,10 @@
"StatusCode": 206,
"LastSeen": "2023-07-21T16:51:51.751459+02:00"
},
"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests": {
"StatusCode": 206,
"LastSeen": "2023-09-08T10:57:00.851277-04:00"
},
"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request": {
"StatusCode": 206,
"LastSeen": "2023-06-29T15:46:50.059623-04:00"
Expand Down Expand Up @@ -1523,6 +1527,10 @@
"StatusCode": 200,
"LastSeen": "2023-06-29T16:05:15.796393-04:00"
},
"https://en.wikipedia.org/wiki/Special_interest_group": {
"StatusCode": 200,
"LastSeen": "2023-09-08T10:57:02.340092-04:00"
},
"https://en.wikipedia.org/wiki/Subnormal_number": {
"StatusCode": 200,
"LastSeen": "2023-06-29T16:09:12.492806-04:00"
Expand Down Expand Up @@ -2435,6 +2443,10 @@
"StatusCode": 200,
"LastSeen": "2023-06-30T09:30:40.580337-04:00"
},
"https://github.com/open-telemetry/opentelemetry-demo#welcome-to-the-opentelemetry-astronomy-shop-demo": {
"StatusCode": 200,
"LastSeen": "2023-09-08T10:57:02.070547-04:00"
},
"https://github.com/open-telemetry/opentelemetry-demo-webstore#local-quickstart": {
"StatusCode": 200,
"LastSeen": "2023-06-30T09:23:00.788095-04:00"
Expand Down Expand Up @@ -2475,6 +2487,10 @@
"StatusCode": 200,
"LastSeen": "2023-07-18T14:38:00.524443+02:00"
},
"https://github.com/open-telemetry/opentelemetry-demo/pull/432": {
"StatusCode": 200,
"LastSeen": "2023-09-12T11:14:54.891852-04:00"
},
"https://github.com/open-telemetry/opentelemetry-demo/pull/877": {
"StatusCode": 200,
"LastSeen": "2023-07-18T14:38:01.810575+02:00"
Expand Down Expand Up @@ -2671,6 +2687,10 @@
"StatusCode": 200,
"LastSeen": "2023-06-30T08:44:18.695574-04:00"
},
"https://github.com/open-telemetry/opentelemetry-helm-charts/pull/531": {
"StatusCode": 200,
"LastSeen": "2023-09-12T11:57:08.111198-04:00"
},
"https://github.com/open-telemetry/opentelemetry-helm-charts/pull/760": {
"StatusCode": 200,
"LastSeen": "2023-06-01T15:55:25.600351-04:00"
Expand Down Expand Up @@ -3091,10 +3111,26 @@
"StatusCode": 200,
"LastSeen": "2023-06-30T08:49:14.039654-04:00"
},
"https://github.com/open-telemetry/opentelemetry.io#submitting-a-blog-post": {
"StatusCode": 200,
"LastSeen": "2023-09-08T10:57:01.381266-04:00"
},
"https://github.com/open-telemetry/opentelemetry.io/issues/new": {
"StatusCode": 200,
"LastSeen": "2023-06-30T08:31:06.342368-04:00"
},
"https://github.com/open-telemetry/opentelemetry.io/pull/2130": {
"StatusCode": 200,
"LastSeen": "2023-09-12T11:57:07.17132-04:00"
},
"https://github.com/open-telemetry/opentelemetry.io/pull/3098": {
"StatusCode": 200,
"LastSeen": "2023-09-12T11:57:05.910172-04:00"
},
"https://github.com/open-telemetry/opentelemetry.io/pull/3195": {
"StatusCode": 200,
"LastSeen": "2023-09-12T11:57:04.702626-04:00"
},
"https://github.com/open-telemetry/oteps/issues/197": {
"StatusCode": 200,
"LastSeen": "2023-06-30T09:34:03.795138-04:00"
Expand Down Expand Up @@ -3835,6 +3871,22 @@
"StatusCode": 206,
"LastSeen": "2023-06-29T16:19:11.338797-04:00"
},
"https://medium.com/@adri-v/lets-learn-about-the-otel-operator-s-target-allocator-47a2b1f07562": {
"StatusCode": 200,
"LastSeen": "2023-09-12T11:57:02.842574-04:00"
},
"https://medium.com/@adri-v/running-the-opentelemetry-demo-app-on-hashicorp-nomad-a3e21e35369d": {
"StatusCode": 200,
"LastSeen": "2023-09-12T11:57:02.21315-04:00"
},
"https://medium.com/cloud-native-daily/how-to-contribute-to-opentelemetry-5962e8b2447e": {
"StatusCode": 200,
"LastSeen": "2023-09-08T10:56:59.495178-04:00"
},
"https://medium.com/cloud-native-daily/lets-learn-about-otel-python-logging-auto-instrumentation-with-the-otel-operator-663247666570": {
"StatusCode": 200,
"LastSeen": "2023-09-12T11:57:01.212859-04:00"
},
"https://medium.com/jaegertracing/introducing-native-support-for-opentelemetry-in-jaeger-eb661be8183c": {
"StatusCode": 200,
"LastSeen": "2023-06-29T16:14:37.278284-04:00"
Expand Down Expand Up @@ -4099,6 +4151,10 @@
"StatusCode": 200,
"LastSeen": "2023-06-29T18:36:24.487952-04:00"
},
"https://opentelemetry.io/": {
"StatusCode": 206,
"LastSeen": "2023-09-08T10:56:59.732967-04:00"
},
"https://opentracing.io": {
"StatusCode": 206,
"LastSeen": "2023-06-29T18:41:30.83242-04:00"
Expand Down Expand Up @@ -4503,6 +4559,10 @@
"StatusCode": 200,
"LastSeen": "2023-06-29T18:48:45.046029-04:00"
},
"https://shorturl.at/beJ09": {
"StatusCode": 200,
"LastSeen": "2023-09-12T11:14:56.238346-04:00"
},
"https://shorturl.at/bqtxO": {
"StatusCode": 200,
"LastSeen": "2023-06-01T17:06:18.570048-04:00"
Expand All @@ -4511,6 +4571,18 @@
"StatusCode": 200,
"LastSeen": "2023-07-24T11:52:43.111795+02:00"
},
"https://shorturl.at/czHST": {
"StatusCode": 200,
"LastSeen": "2023-09-12T12:09:44.772877-04:00"
},
"https://shorturl.at/hlqtE": {
"StatusCode": 200,
"LastSeen": "2023-09-12T12:09:44.031281-04:00"
},
"https://shorturl.at/vLYZ0": {
"StatusCode": 200,
"LastSeen": "2023-09-12T12:09:42.592065-04:00"
},
"https://signoz.io": {
"StatusCode": 206,
"LastSeen": "2023-06-29T18:37:18.085895-04:00"
Expand Down