如何在开源社区贡献代码
Josh Matthews是Mozilla的平台开发人员。 他是一位编写Rust代码的程序员,并且活跃于Firefox的开发中。 他的开发经验使他喜欢在开源项目中指导新的贡献者。
Josh将在OSCON 2016上以优化您的项目以做出贡献为主题发表演讲,并荣幸地接受了采访。
你的背景是什么? 是什么让您对开源感到兴奋?
我最早的编程经验发生在可以深入了解并了解所有内容组合在一起的环境中。 同样,我加入的第一批邮件列表中,有很多人喜欢共享代码并互相帮助学习。 当我意识到我不仅可以学习开源软件,还可以对其进行修改并与他人共享更改时,我迷上了。 对我来说,与他人合作的前景比单纯的创造行为更具吸引力。
邀请您参与的Mozilla社区是什么?
就我而言,这是来自Mozilla开发人员的博客文章,描述了一个低优先级,高影响力,极其艰巨的项目,该项目可以从其他机构中受益。 这是2009年将Firefox分为多个进程的开创性工作! 我可以贡献一些具体和具体的东西,再加上对帮助入门的承诺,这使我想尝试一下。
如何确保您的开源项目不被忽视? 社交媒体对于宣传这个词有多重要?
我对第一个问题的简短回答是“营销”。 社交媒体的存在可能是一个有用的工具,用于发布时间敏感或特定于受众的信息,或启用围绕项目的轻触式沟通和技术支持。 为了避免被忽视,项目需要找到目标受众的位置,弄清为什么他们应该关心项目,并(高雅地)广播该消息。 此外,项目需要有效地交流其随着时间的变化,以便现有用户和潜在的新用户可以一眼看到当前状态和未来目标是否与他们的需求保持一致。
阻碍人们参与开放源代码项目的一些障碍(无论是真实的还是可感知的)?
我不认为“实际”或“感知”障碍之间会有区别,因为它们最终都会阻止潜在的贡献者这样做。 认识到的障碍通常是双方的不匹配或不明确的期望所致—如果一个项目没有大量的文档,其问题跟踪程序是未经整理的和/或充满专业术语,并且维护人员只有在直接解决时才做出回应,所有这些都可以苦苦挣扎的新移民以为他们不属于那里而作了标志,即使那不是预期的结果。
话虽这么说,最大的障碍来自贡献者犯错的机会。 每当过程中的一部分模棱两可,并且没有明确的方法来获得帮助时,对于贡献者来说,遇到问题时就更容易放弃并走开。 我经常听到人们在尝试为该项目做出首次贡献时感到胆怯和脆弱。 我们应该牢记这些文档和工具,因为每个人都会从结果中受益。
您对尝试建立社区并参与开源项目的人有何建议?
确定哪些人想要参与您的项目,以及为什么。 使他们尽可能容易地这样做:
- 确定适当的参与方式(例如,定期整理可用工作清单)。
- 投资于消除油漆点的自动化(例如样式检查器和开发环境设置)。
- 使用允许最大灵活性的通信媒体。 由于时区和社会限制,将项目限制为仅IRC可以排除大量人口。
- 经常,大声,热情地认可参与。
只有在这一点上,才开始积极鼓励更广泛的受众参与才真正有意义。 这些是成功进行首次捐助的基础,这是重复捐助者的先决条件。
一个人如何开始为Mozilla贡献力量?
找到感兴趣的领域的一种简单方法是访问WhatCanIDoForMozilla.org ,它根据所需的技能突出显示团队和子项目。 从那里,您将链接到为您感兴趣的每个项目做出贡献的特定说明。 我们在错误跟踪器中提供了要整理的任务清单,其中每个任务都与一个指导者相关联。 还有一些专门标记的任务供新来者使用,这些任务简单明了且自成体系。 最后,我们有一个名为#introduction的IRC频道,其中充满了来自世界各地的人们,他们喜欢回答问题,无论是初次开源贡献者还是经验丰富的退伍军人。
如何参与Rust社区? 您如何鼓励参与? Mozilla目前最迫切的需求是什么?
Rust社区的激动和活力让我震惊! 每天都有新的图书馆发布,并且有一种充满活力和积极向上的文化,以自豪地以尊重,积极的态度快速回答问题而感到自豪。 每当我在公共场合问一个问题时,这种回应的确使我感到很心动!
在鼓励参与方面,团队投入了大量的精力和精力来创建工具,使编写Rust代码和与他人共享代码变得容易。 此外,语言开发过程自0.1发行版之前就已经完全开放,但是不断发展的公共RFC过程很好地展示了鼓励贡献的原则-它采用了许多人关心的临时过程,定义了参与规则及其格式,并且从那时起一直得到贯彻应用。 结果,在不到2年的时间内提交了1,500多个RFC!
当谈到Mozilla最紧迫的需求时,它们非常简单明了。 我们需要更多的Web开发人员针对Firefox的预发布版本测试网站并报告他们遇到的错误,因为当我们继续开发Web平台时,这有助于我们在向后兼容性方面取得重大进展。 此外,我们需要对已经提交的错误进行分类的帮助—花些时间尝试重现问题,弄清问题发生的条件并帮助创建减少的测试用例的人对项目来说是一个巨大的福音。
翻译自: https://opensource.com/business/16/4/oscon-interview-josh-matthews-mozilla
如何在开源社区贡献代码