Ildikó Váncsa 希望帮助你成为更好的 OpenStack 贡献者。
在本月于德克萨斯州奥斯汀举行的 OpenStack 峰会上,Ildikó 旨在做到这一点。在她的演讲如何成为高级贡献者中,她将引导与会者了解如何融入社区,包括贡献 OpenStack 的一些原则、最佳实践和不成文的规则。
在 Ildikó 演讲之前,我们采访了她,以更多地了解成为有效贡献者的一些障碍以及如何克服这些障碍。
你认为将某人转变为 OpenStack 贡献者的最大挑战是什么?
我认为这是一个复杂的过程,取决于个人以及他们试图贡献的项目。当有人是开源新手,并开始在这样一个大型社区中工作时,需要掌握许多技能,并需要学习许多经验。从这个意义上讲,我认为在大多数情况下,最大的挑战是让人们理解这是一个循序渐进的过程,他们需要对自己和社区都保持耐心,并且不应该在第一个“糟糕的日子”之后就放弃尝试。
在克服最初的障碍之后,人们不再那么害羞,下一步是教他们流程以及我们正在使用的工具背后的价值创造。从知道在 Gerrit 中按哪个按钮到给出良好且有价值的审查,还有很长的路要走。
OpenStack 社区正在做些什么来减少贡献者的摩擦和障碍?
关于最佳实践、流程、问题和建议的解决方案,有大量的文档、博客文章和电子邮件主题。除此之外,更重要的是社区成员在各种论坛(IRC、邮件列表等)上公开且可用,以回答任何类型的问题并提供帮助。我们也在不断改进现有材料,以帮助新手找到参与的方式。
是否有任何最佳实践的例子可以帮助新的贡献者了解,但可能不是立即显而易见的?
我已经提到,从技术上学习工具的工作原理只是课程中较小的部分。我认为最佳实践的列表几乎是无穷无尽的,当你询问其他人他们的经验时,你总是可以添加一个新项目。在我看来,对于想要加入 OpenStack 项目团队的新贡献者来说,非常重要的是要理解我们都在致力于生产一个复杂的软件包。它需要维护和繁琐的工作,例如错误修复和文档编写。我们都参与其中,并且我们期望新成员也这样做。
另一个重要的部分是代码审查。当有人加入一个项目时,最好的时间是花在代码审查上,而不仅仅是检查小的补丁,而是选择更大、更复杂的更改。通过理解新代码及其适配方式,他们将对模块的代码库有一个非常好的概述。我还鼓励人们检查补丁的工作方式,它是否真的修复了错误或实现了计划的功能;Devstack 为此提供了一个非常好的环境。并且不要害怕提问!
OpenStack 的贡献者流程仍然非常以开发人员的工作流程为导向(git、Gerrit、CI 流程等)。你认为这对非代码贡献者(例如,文档)来说是一个障碍吗?让每个人都使用相同的流程有意义吗?
在我看来,重点在于沟通和自动化。由于这是一个大型社区,因此找到为人们提供协作可能性的最有效方法主要是找到合适的协作媒介。我们所有的工具和流程都是为了在不断变化的环境中加速团队合作。你可以在一天内学会使用 Git 和 Gerrit 的基础知识,并且你将获得比例如共享 Word 文档或让整个团队并行编辑同一个 wiki 页面更灵活的流程。
我正在参与另一个开源社区,我们在那里也建立了类似的流程,根据我的经验,人们很快就适应了,因为他们看到了这些工具可以提供的优势。我并不是说我喜欢解决文档补丁上的合并冲突,但我仍然宁愿在 Git 中这样做并在 Gerrit 中审查它,而不是尝试修复没有正确更改历史记录的损坏的 Word 文档。因此,总而言之,我会称这是一个学习新事物的机会,而不是障碍。
是否有比其他项目“更容易”提交更改的项目?你认为是什么造成了这种差异?
较小的项目通常更容易上手。我可以根据经验告诉你这一点,但我也认为这不会让任何人感到惊讶。较大和更复杂的项目很容易过载,这会导致审查周期时间延迟,并使补丁更难提交。
另一方面,如果明智地选择任务,事情也会变得同样容易。每个项目中都有大量的错误需要修复,也有更高优先级的活动,总是欢迎更多人加入等等。我只想鼓励人们选择一个符合他们兴趣领域的项目,并在那里找到一项活动来加入并参与团队的日常生活中,例如 IRC 讨论或每周会议,以及代码审查和贡献。没有什么好害怕的!
除了参加你的演讲之外,潜在的贡献者了解贡献流程并入门的最简单方法是什么?
有几种关于工具和工作流程的文档选项可供选择。人们可以找到关于入门步骤的信息,以设置他们的环境并加入 OpenStack 基金会。wiki 上还有关于如何贡献的材料,这是一个很好的入门读物。我还发现 Nova 团队的指南 非常有用。即使它是为 Nova 编写的,你也可以轻松地将大部分内容应用于其他项目。我还和 Jay Pipes 在之前的几次峰会上进行了一次联合演讲,来自船上的故事:在 OpenStack 社区海洋中航行,这是关于纸上和现实生活中的贡献。当有人完成所有阅读和初步准备后,只需跳入其中并开始行动。
评论已关闭。