考虑为OpenTelemetry做贡献吗?以下是我的做法。

海上日落时的橘色天空,前景是长满草的水面。

你是一个 OpenTelemetry (OTel) 实践者吗?曾经想过回馈 OpenTelemetry,但不知道从何开始吗?好消息是,朋友,你来对地方了!

根据我的个人经历,我想提供一些宝贵的见解,介绍一些有效的方法,帮助你进入这个充满活力和包容性的开源社区。

对开源的贡献可能会让人感到害怕!

让我们面对现实吧。我们大多数人在日常工作中(或者可能是副业)使用开源项目。但是对于 贡献到这些开源项目,我们的态度又是怎样的呢?不知道你是怎么想的,但对我来说,直到去年,贡献到开源项目对我来说是件很可怕的事情!我的意思是,当你提交一个 拉取请求(PR)时,你是被动地暴露自己,会被那些组成审批者列表的那些小头像所判断。天哪!

但是,尽管打开 PR 的想法可能很可怕,但看到自己的贡献合并到代码库中还是非常令人满意的。最重要的是,你的贡献可以帮助到其他人!这是多么酷炫!

贡献给OTel的方式

好的,你现在有动力了吗?太棒了。我们来看看一些贡献给OTel的方式。

贡献到OTel文档

你是OTel的新手吗?对于贡献代码到开源项目有一点顾虑?别担心!贡献给 OpenTelemetry(或任何其他开源项目)最好、最简单的方式之一就是贡献到文档中!记住,刚开始并不是一个缺点。事实上,对于文档来说,这是一个优势:作为一个对 OTel 世界了解不太深入的新手,他正好是评估 OTel 文档的合适人选!

每当我需要深入了解一个新的 OTel 概念时,我总是翻阅文档寻求指导。有时,文档中包含我所需的所有信息,有时则不包含。这通常意味着我需要在超越文档范围之外继续深入研究,通过查阅外部博客文章、向技术朋友寻求帮助等。一旦我能填补那些知识缺口,我会采取两个行动:

  1. 我写一篇博客文章介绍自己的发现,例如 这里这里这里
  2. 我为 OTel 文档做贡献,例如 这里这里这里

注意: 数字2尤其重要,因为OTel文档成为关于OTel的权威来源的最佳方式就是让像我们这样的人每次发现空缺时都能对文档做出贡献。

了解有关贡献给OTel文档的更多信息,请单击此处

注意: 如果你觉得OTel文档的贡献指南令人困惑或者存在错误,改进它们是一种很好的贡献方式!😉

在OTel博客上写一篇文章

贡献给OTel的另一种绝佳方式是在OpenTelemetry博客上写文章。如果你在OpenTelemetry中遇到了有趣的事情,或者在你的组织内部进行了复杂的OTel实施工作,那么OpenTelemetry博客是与整个社区分享这些内容的绝佳方式。只要你的作品不是推销你自己的产品,也不要求读者购买才能复现你的工作,你的博客文章都会受到欢迎!

你可以在这里查看我之前一篇博客文章的例子。

了解如何向OTel博客提交文章,点击此处

加入OTel终端用户工作组

你刚开始接触OTel,并希望与其他OTel实践者建立联系吗?你有反馈想与更多OTel社区分享吗?或者你是一个更高级的OTel实践者,想与更大的社区分享你的故事和/或使用案例吗?那么OTel终端用户工作组(EUWG)可能正是适合你的地方!该组由一些OpenTelemetry实践者组成,每月会聚在一起做以下事情:

作为额外的好处,我是主席之一。只是这么说一下…😉

了解有关OTel终端用户工作组的更多信息,请点击此处

贡献给OpenTelemetry Demo

如果你想贡献代码,但还不太准备好为核心OTel代码贡献力量,那么也许你可以尝试一下OTel Demo。OTel Demo包括一个分布式在线望远镜商店应用程序,其中的服务使用多种语言编写,并且使用了OpenTelemetry进行仪表化。这是学习如何在你选择的语言中给代码添加仪表化的绝佳方法。

根据OTel Demo文档的说法,该演示的目的是:

  • 提供一个真实的分布式系统示例,可用于演示OpenTelemetry的仪表化和可观察性。
  • 为供应商、工具作者和其他人提供一个可以扩展和展示其OpenTelemetry集成的基础。
  • 为OpenTelemetry贡献者创建一种实例,用于测试API、SDK和其他组件或增强功能的新版本。

OTel Demo 刚庆祝了它的第一个生日,自从第一版发布以来,它已经取得了长足的进步。随着OTel的发展,OTel Demo也必须与之一同发展,以确保它使用最新最优秀的版本,例如 OTel Collector和特定语言的仪表化。简而言之,总是有工作可以做!

你可以在这里查看我所做贡献的一个例子。

了解如何贡献给OTel Demo,点击此处

加入特定领域兴趣小组

对冒险感兴趣吗?那么为什么不加入其他OTel 特定领域兴趣小组(SIGs)呢?加入一个SIG,你可以贡献给SDK开发、库自动仪表化、OTel CollectorOTel Operator 等方面。你甚至不需要成为常规贡献者。有时候,贡献出于必要性。也许你发现了Collector中的一个bug。为什么不试着修复它呢?或者也许你和你的团队迫切需要一个功能。同样,为什么不试着实现它呢?

在你开始编写代码之前,你应该确保:

  1. 适当的 GitHub 仓库 中提出一个问题。
  2. Slack 上的人们交流,看看是否需要/想要这个功能。
  3. 参加其中一个 SIG会议 ,与大家分享你的具体兴趣和需求。

我并没有忽视在OTel中做出贡献所需的代码对任务的重要性。远非如此。如果你最终想要做出贡献,减轻这种独自学习和压力的一种方式是与愿意合作的OTel社区成员一起实现这些代码更改。我发现在OTel内部的人们总是乐于助人和热情的。

你可以在这里查看我所做贡献的一个例子。

了解有关OTel SIGs的更多信息,请点击此处

最后的思考

正如我们所见,有许多贡献给OpenTelemetry的方式,包括贡献到文档、写博客、加入终端用户工作组、贡献到OTel Demo或加入SIGs。

但是等等…还有更多!你也可以在 “官方 “OpenTelemetry渠道之外(例如GitHub和Slack)贡献给OpenTelemetry。这包括对OpenTelemetry进行演讲、参加播客,以推广OpenTelemetry,向你的朋友和家人介绍OpenTelemetry…等等!任何帮助都是有益的!

没有所谓的小贡献,因为每一个小细节都会累积起来,有助于使OpenTelemetry变得更加强大。

最后,我始终鼓励大家在博客中分享关于OTel的发现和探索。显然,我也经常这样做。但是请确保通过直接贡献给OTel文档和博客来分享这些发现,以确保我们有一个单一的真相来源,以便无论是对OTel的新手还是高级从业者,每个人都能从中受益。