在不贡献代码的情况下,我们能以哪些方式为开源社区做贡献?
最近在Opensource.com 上的一篇文章中,关于开源职业生涯的评论大致是,他们想为开源做贡献,但缺乏编码技能。实际上,代码贡献对于大多数 开源项目来说非常有帮助且受欢迎,但还有很多其他贡献方式。
首先,关于开源项目,有两件事要记住
- 开源不仅仅是以“把代码扔过墙给别人”的意义上的分享;它也关乎回馈。当我的开源职业生涯开始时,我受益于像 INN 这样的软件。然后,我自然而然地将我的修改和添加贡献回去。
- 开源是一种精英管理。当你第一次开始为一个项目工作,没有人认识你时,沟通非常重要。从你开始或解决问题所需的东西开始。否则,你很可能会被忽略。如果你以前为项目做过贡献,你就更有可能实现一个新功能,因为社区的信任会给你更多的权利和权限来访问代码和维基上的文档。
当你开始帮助一个开源项目并进入围绕它建立的社区时,你就开始走上了一条从“外部”到“内部”的成长之路。这在任何社区中都很典型,尤其是在开源社区中。在开始沟通时记住这一点;如果你在第一次接触或外联时没有得到回应,不要灰心。继续贡献、分享并努力进行尊重的沟通,你就会成功。
为开源社区做贡献的 10 种方式
(无需贡献代码)
- 提供关于你喜欢和不喜欢之处的报告。这包括错误报告以及与适当人员的简单沟通。很高兴听到用户反馈项目如何帮助了他们,并了解他们的设置详情。
- 创建功能请求,解释你的用例。描述你为什么觉得它有用,以及其他人如何从中受益。在没有代码贡献的情况下,当然更难将该功能添加到代码中。但是,如果你能解释为什么该功能有用以及其他人如何从中受益,你通常会发现其他人也有类似的痛点,最终可能会有人实现该新功能。
- 测试正在开发中的代码。无论有多少自动化测试到位,现实情况是项目运行在硬件和软件以及其他环境项目的组合之上,而这些项目尚未经过项目团队的测试(实际上不可能全部测试)。因此,每天或每周拍摄快照、安装并提供反馈非常有帮助且受欢迎。对于我参与的项目,我们更改了一些图表,一位社区成员几乎每天都反馈他从最新代码中的体验,这促成了大量的修复和改进。
- 编写文档。许多项目贡献者是优秀的程序员,但不是(文档)编写者。有些文档几乎无法阅读,需要校对语法、拼写和句子结构错误。这有助于项目的整体实施和发展。在其他情况下,文档描述了技术细节,但缺乏针对初学者的任何信息。此外,应写下并包含异常情况、解决方法和最佳实践。如果你发现同一个问题被一遍又一遍地回答,你也可以编写或更新常见问题解答 (FAQ) 文档,以便答案可供将来参考。
- 翻译用户界面和文档。虽然许多用户英语很好,但也有许多人喜欢用母语编写的文档。在编写了第一本关于 JBoss AS 的德语书后,有人联系我说,他们已经阅读了所有可用的英文文档,但他们仍然从母语书籍中受益,因为他们可以更专注于技术内容,而不会因阅读外语而分心。
- 回答用户在论坛和邮件列表中的问题。 你可能会惊讶地发现,你比自己想象的知道得多。而且,另一端的用户会非常感谢你的帮助。此外,当你尝试回答问题时,你自己也会更好地理解项目。这将帮助你编写更好的错误报告、功能请求和文档。帮助回答问题的好处是,获得更快答案的用户会更被项目吸引,并且更有可能留下来贡献并且核心项目成员可以花更多时间编写代码。这两者都有助于 加强整个项目。
- 帮助设计用户界面、徽标和网站。 许多程序员倾向于创建非常技术性的用户界面,这些界面在美学上并不令人愉悦,可能无法吸引新用户。良好且自描述的界面本身并不能提供新的或额外的功能,但可以极大地改善用户体验。网站和所需的任何徽标也是如此。因此,改善项目的外观可以极大地帮助减少支持工作,同时可以吸引新用户尝试它。
- 推广项目,例如在本地用户组中谈论它,撰写博客文章,和/或通过社交媒体渠道传播更新(如果你使用它们)。即使你认为其他人一定听说过该项目,也不要假设。听到有人谈论他们对项目的个人经验比浏览项目网站和/或源代码更有力,并且能以不同的方式让其他人参与进来。
- 提供硬件,如果需要专用构建或测试服务器。你可以直接向开发人员提供对数据中心中硬件的访问权限,或者间接通过运行持续集成或自行测试,然后将结果反馈给项目。
- 感谢社区为你们正在努力的事业和目标所做的工作和贡献。
这些无需贡献代码即可帮助开源项目的方式是一个很好的入门方法。如果你有更多方法,请在评论中分享。
6 条评论