立即获得Kubernetes的可观察性-不需要代理。 符合Pixie自动遥测

初学者的开源指南,第1部分:如何开始贡献以开源项目

10分钟读

通过Vi Tran

本文是关于如何开始开放源码项目的四部分系列文章的第一部分。在接下来的几周内检查是否有新零件。

大多数现代软件开发在很大程度上依赖于开源工具和库。但相对我们几个的贡献回到开源。这并不难,每天来支持你使用开源项目,您做出的努力将会对软件的质量明显的效果。

您是否曾经想对一个开源项目做出贡献,但不知道从哪里开始?在GitHub上查看一个项目的代码,被其复杂性所压倒,并想要逃离,这种情况并不少见。如果你有这种感觉,你不应该这么做。

成功的开源项目热衷于各种各样的捐款人与各级编码技能和承诺。每当有人修复编译器警告、关闭错误或添加文档时,就会取得进展。把很多这样的贡献放在一起,伟大的事情就会发生。

准备好开始了吗?首先,考虑你可以做些什么来为你每天使用的项目做贡献。如果您现在进行任何编程,那么您使用的很可能是开放源码项目。这样的语言红宝石Python和这样的框架反应node.js.都是开源项目。您使用的开发人员工具可能也是开源的。的原子编辑,Eclipse IDEnginx., 和ApacheWeb服务器是开源的,就像Tomcat.码头的Java Servlet容器。事实上,我们有很多的开源项目这里是新的遗物。

首先贡献每天使用的项目;您最熟悉的项目将是最容易参与的。以下是您可以自己开始的五种方式。

1.向项目问题跟踪器报告错误

向项目的问题跟踪器报告问题,例如GitHub的问题,是支持您所使用的开放源码项目的最简单方法之一。大多数开源项目都有iso跟踪器——通常使用一些东西。有时候当我们在软件中发现一个bug时,我们没有心情去报告它。我们想要解决这个问题,继续前进。这很好,但要确保在你还记得bug的时候尽快报告它。报告关于显示bug行为的所有细节,并解释它,就像你希望用户向你解释一个bug一样。

当然有时候,错误甚至没有在代码中,而是文档。也许你已经遇到了过期的参考功能已不存在,或者甚至只是一个错字。这些文档错误是一样真正在代码中的错误,他们应该在问题跟踪系统进行报告。

但是开源项目收到的大多数错误报告都很糟糕。它们通常是一行代码,模糊地描述了一个问题,但没有提供关于问题是如何发生的、发生在哪里(哪个浏览器、哪个操作系统、什么类型的设备,等等)的细节,也没有提供重现错误的任何步骤。

这为您提供了两个巨大的机会,以便以一种让您注意到的方式贡献,真正帮助项目。

首先,如果您在您使用的开源工具中遇到错误,请按照您彻底记录它。包括OS,浏览器,设备类型(移动/桌面/笔记本电脑)等详细信息。包括重现错误的详细步骤,如果可能,添加屏幕截图。

接下来,尝试重现,验证和文档的错误发现别人。按照报告自己的错误时,你会遵循相同的步骤。看看是否有任何您可以添加新的信息。像,“我发现,calcScreenResolution()只显示在Chrome这种行为,而不是Firefox浏览器。”你可能会添加评论这样的细节可以是努力解决这个问题开发商一个巨大的帮助。这变成可怕的错误报告到详细的,可操作的信息,该项目的开发人员可以使用。

如果项目认为您的一个错误是一个有效的问题,那么就提出修复它,并询问他们希望通过什么单元测试来验证错误已修复。这是将您的第一个代码贡献给项目的一个很好的方法,因为您不仅报告了一个问题——您还提供了解决它的方法。

2.自愿编写文档

珍贵的少数开发人员渴望编写文档,但对于开源项目的成功至关重要。在探索新项目时,您在寻找的第一件事是什么?文件。那篇文献中的第一件事是什么?如何使用它的例子。

但是,当第一次加入一个开源项目时,开始编写代码可能是一个挑战。在您花时间理解代码库、其编码约定和测试需求之前,通常很难贡献代码。

写文档可以帮助你学习代码库 - 你经常需要阅读和理解你正在尝试文件的代码。这使你的代码项目如何挂起一起,是如何工作的意义。

文档可以是一个很好的起点,因为它是一个痛处许多开源项目。

并不要忽视社会方面。开源项目通常拥有拥有项目的代码库的高级开发人员。这些主人对外人并不总是友好的。编写文档使您有机会了解在项目上工作的开发人员,并让他们有机会了解您。

因此,当您准备好提出第一代码贡献时,它不会来自局外人。这将来自那个勇敢的人,潜入并写过文档,没有其他人想写 - 而且团队的其余部分都会很乐意帮助您接受您的第一个代码拉出请求。

3.出席(虚拟)聚会

没有比面对面的会议或用户小组会议更高带宽的传播媒介了。如果你住在任何规模的城市附近,附近都会有聚会或社区活动。聚会通常是免费参加的,涵盖各种技术话题。你所在的城市越大,你就越有可能找到更具体的话题,而小城市则会有更多的集体聚会。

然而,在2020年,我们不得不迅速适应一个我们不能面对面见面的世界。

这带来了挑战,但也提供了机遇。虽然我们不能面对面,但我们罐头参加虚拟聚会。虚拟聚会提供谈项目的贡献者来自各地的,这不是以前总是可用的世界的机会的机会。

虚拟聚会让你介绍自己项目的贡献者。你将有机会表达你的贡献的兴趣,说明你的技能,并要求项目成员提出一个很好的起点。

询问他们需要什么项目的领导人往往是开始的最好方式。虚拟聚会是理想的地方做,因为这是与项目领导直接沟通的最简单的方法。

发布的消息在网上可以工作,但有很多更多的噪音。它很容易为你的问题被忽视在一个繁忙的论坛或迷失在项目负责人的溢出电子邮件收件箱。

4.博客,推特,并回答问题在线

您没有贡献一个项目,直接帮助它。

大多数开发人员都解决了他们面临的艰难问题,他们面临着开源库。下次发生,写一个博客文章如何你解决了它。你可能不是唯一有问题的人,所以分享你的解决方案有助于别人使用图书馆的人。

写在您的博客有关您如何使用该软件的东西,特别是如果它描述你有问题,你如何解决它。写了你的问题和解决方案的故事增加了知识工程的身体,即使它不是该项目的正式文件的一部分。

其次,检查人员询问有关开源库问题上喜欢的网站堆栈溢出,卓越的问答网站,用于帮助其他程序员。如果您的专业知识更多地运行服务器管理,Stackoverflow的姐姐网站服务器故障是一个伟大的地方,以帮助促进你的知识。回答你能提供帮助的任何问题。

当然,许多项目都有自己的专用论坛,邮件列表,IRC和松弛频道。注册一个,看看你是如何帮助的。您今天帮助的新手可能会贡献一些您最终在未来使用的东西。

最后,如果您找到了您喜欢的开源库,或者为您节省大约一段时间的开源工具,请推文!让世界知道,并帮助项目发展其用户群。

5.从新贡献者的问题开始

有些开源项目非常有组织,并特别指定适合新贡献者的某些bug和特性请求。

对于有初学者问题列表的项目,浏览特性,并选择你能找到的最简单的一个——即使它看起来很简单也是如此简单。解决它可能会比你想象的更复杂。

表达出你对固定问题的关注,并等待该项目,以将其分配给你。

在开始编写代码之前,一定要彻底审查项目的编码标准和测试要求。看在项目的源代码树的一个名为“自述”或“促成”文件-they're你直接瞄准。尽你所能,以方便你拉的请求,使其通过代码审查的第一次尝试。项目维护者得到由省力的贡献感到沮丧,很多拉的请求被拒绝像缺少单元测试非受迫性失误。

一旦你确信你了解什么需要,让工作在固定的问题!

不要害怕交流

项目总是需要对各种你可能没有想到的任务的帮助下,从项目网站上更新HTML来写文章更新网站的设计,简单的机械任务,如更新源文件中的所有版权日期。如果该项目没有一个方便的文件中规定了的事情,你可能要宣布公开表示,要帮助和要求指针。

让项目中的其他人知道你是有空的,并让他们了解你的技能。加入项目的开发者邮件列表,访问相关的Slack或IRC频道,甚至使用你自己的Twitter账户。

无论您的背景或体验水平是什么,有机会都有一些您可以做些什么来帮助您最喜欢的开源项目。从几个小步骤开始,将脚趾浸入水中,很快,帮助开源社区将成为您生命中的日常部分作为软件开发人员。开源软件对您的贡献更好。

但不同的项目有不同的需求。如果您对开源项目感兴趣,请在其社区中花一些时间,并感受到项目的工作原理。然后你将处于一个很好的位置来决定开始做出贡献的最佳方式。

最重要的是:玩得开心!您是在回馈开源社区,并培养新的技能——但是,如果您打算长期从事这一工作,享受为开源做出贡献的乐趣是很重要的。

想为New Relic的开源项目做贡献吗?检查新的遗物开源今天就开始贡献。