开源项目贡献者

贡献者是许多开源项目的命脉,因为它们使较小的项目能够在没有大量财务支持的情况下得以成长和改进,并且为项目带来了新的观点。 非营利组织Ushahidi就是这种情况,该组织正在构建和使用软件来提高服务水平低下的边缘社区的声音。 我们的产品使当地观察员可以使用手机或互联网提交有关当地人道主义危机(例如政治动荡和自然灾害)的报告,同时创建事件的时空和地理空间档案。

Ushahidi始终为开放而奋斗 ,但是很难从内部评估组织的开放程度。 员工和长期贡献者知道得太多:他们被知识所吸引,并与了解事物运作方式的人接触。 尽管危机在想要帮助的人中带来了好处,但在危机期间参与开源项目却很复杂。 维护人员通常要经历一个紧张的时期。 每天都有新的功能要求。 一直在报告新的错误。

永远没有足够的人来修复所有问题,这就是为什么对项目而言,拥有一个好的流程来吸引新的贡献者如此重要。

为什么Ushahidi需要重新与社区互动

最初,Ushahidi拥有一个非常大的社区,并参与了很多社区活动。 我们接到了社区开发人员电话,核心开发人员和社区开发人员在此讨论了他们的工作。 我们有t恤和赃物; 我们有社区徽章和博客文章来庆祝本月的杰出贡献者。 我们赞助了技术活动,并确保有一个展台或演示文稿展示该平台。

我们的文档很好,并且包含用于不同用例的工具箱和示例,我们的论坛很活跃,我们很活跃!

但是随后发生了一些事情。 该软件已过时,核心团队开始开发新版本。 同时,我们采用了围绕可持续性的新策略,并启动了软件即服务模式,从免费的基层部署到更复杂的企业计划,以期带来急需的财务稳定性和可持续性并服务于新用途案例和需求。

没有什么是故意的,但是我们并未像我们期望的那样为开源社区提供服务。 现在,我们的主要重点是重新与社区互动。

以下是我们已经学习并完成的10件事,如果您处于类似情况,则可以帮助您改善贡献者的入职流程。

1.评估您的流程

为了评估您的组织流程的开放程度以及它们对新贡献者的工作方式,请寻找新人,他们可以尝试回答以下问题:“如何将新代码投入生产?” 和“谁可以触发生产发布?” 或“测试如何进行?”

要寻找的一些东西:

  • 对于新的贡献者来说,如何入门很清楚? 入门指南很难找到,过于复杂或混乱吗?
  • 沟通和协调是否公开进行? 还是将它们隐藏在Slack房间中,很难知道发生了什么?
  • 代码审查和合并的过程是否清晰? 关于代码贡献和质量保证流程的安全网如何处理?

当您与社区一起深入项目时,很难知道它对新贡献者的外观。 我们了解到, 从新贡献者的角度来看,内部感觉像是一个开放的过程,因此感觉非常封闭

2.奠定基础

多样性和包容性是乌沙希迪的核心; 该项目的工作人员中约80%是女性和非性别性别,我们团队中的大多数是有色人种,我们生活在四大洲。 这反映了我们许多用户所生活的现实。他们并不都在美国,他们来自不同的背景,并且有不同的目标。 使他们团结的是,他们都在努力以自己的方式改善社区。

对于我们而言, 拥有一个良好的基础始于拥有一支代表我们的用户和利益相关者的多元化团队 。 但这还不是全部; 我们还通过以下方式改善了我们的贡献者资源:

  • 新的开发人员中心
  • 新的和更新的文档
  • 新的贡献途径
  • 影片
  • 常见问题

我们还通过以下方式重新开始了社区参与:

  • 参加网络研讨会
  • 举办黑客马拉松
  • 主动组织和分类问题
  • 宣布版本和每个版本的贡献者

3.明确“入门”

当某人想开始贡献时,需要明确如何开始。 我们将良好的初学者贡献标记为初学者问题; 这些内容详细描述了需要执行的操作,如何查找代码以及需要执行的操作。 我们编写这些问题所花的时间比我们自己解决实际问题所花费的时间长,但这不是目标。 我们的目标是为可能刚接触开源的人们提供一个贡献和了解我们所做工作的机会

找到障碍物

了解入门的障碍在哪里也很重要。 Ushahidi最大的阻止者之一是在开发环境中安装该软件。 我们认为,由于我们的工程师可以进行设置,因此其他人也可以进行设置。 但是其他人可能没有相同的环境,他们绝对没有我们核心工程团队所能提供的支持。

为解决此问题,我们创建了有关安装过程的视频,并且还创建了一个安装助手功能,该功能可检查人们在配置和安装过程中忘记的常见事项,并提供有关如何解决问题的提示。

Ushahidi's installation-helper

4.从不同的角度学习

请他人评估和仔细检查我们提供给贡献者的文档非常重要。 我们很幸运,我们的团队中有真正在乎开源的程序,社区和设计职位的人员,他们的投入通常可以帮助我们确定如何吸引那些缺乏编码经验或可能希望在不同方面做出贡献的人员而不是编写代码或执行质量检查的方法

当我们为新的开发人员中心创建视频时,我们的社区参与人员提供了很大的帮助。 她不是开发人员,还是出色的作家,因此她通过观看我们的文档,做笔记,然后为我们的视频编写初始脚本来提供帮助。 她确保文档中解决了我们每天遇到的事情,并且知道如何处理。

这样的输入非常有价值,因为它使我们想起了我们所知道并认为是理所当然的事情,这可能会混淆并拒绝新的贡献者。

5.可能的话,打短电话

在需要和时间表允许的情况下,尝试投资致电。 有时,与新的参与者进行5分钟的通话会比30分钟的文字聊天带来更好的回报。 如果您在聊天中明确指出您的指示对该人不起作用,请他们跳出电话向您显示他们在做什么。 设置时间限制很重要(例如,“我现在有10分钟,所以让我们看看是否可以立即解决它”); 否则,您可能会花费一整天的时间去修复无关的东西,这不是扩展自己的好方法。

确保使用从这些交互中学到的知识来改进文档。 否则,您会发现自己进行了如此多的10分钟通话,以致您将一事无成。

6.总是说谢谢

即使人们觉得您得到的只是要求做更多的工作,也要感谢他人。 我们说谢谢你所做的一切。 我们要感谢您的错误报告,功能请求以及代码贡献。 我们说谢谢您的帮助并寻求帮助。

有些人很难伸出援手,感谢他们的证实,这样做是可以的。 这种验证不仅可以帮助人们了解当前情况,还可以帮助人们了解将来的其他项目和情况。

7.善待代码审查

有人找到了您,进行了设置,修复了一个错误,最后发送了请求请求。 现在该审查代码了。 远离您对事物的看法。 现在不该显得挑剔和粗鲁。

在执行代码审查时,请确保您正在帮助他人改进代码 ,而不仅仅是遵循您的个人喜好。 在请求请求方面至少找到一件好话要说,并始终感谢贡献者

如果收到不打算合并的请求请求,可能是因为它的作用域或方向错误,或者只是不想添加的东西,重要的是要立即处理而不是忽略它。 它不会帮助任何人忽略拉取请求,而只会使您的存储库混乱。 感谢贡献者,解释为什么您不打算合并更改并关闭请求请求。

如果您合并更改,请确保在贡献者退出时对其进行标记,以使他们知道影响。

8.ReactSwift

在整个过程中, 重要的是要有所React,不要让人们等待 。 给某人某种回应-即使您现在无法帮助他们-设定对何时能够跟进的期望也非常重要。

有时,一条评论没有被发现-您错过了一条通知,三个月后找到了它。 在这种情况下做出响应比较棘手,但是最好还是确认消息,为延迟道歉,并询问他们是否仍需要帮助(借助此服务或其他服务),而不是永远忽略它们。 即使您犯了错误,它也可以设置您关心工作和社区的基调。

9.帮助贡献者蓬勃发展

有时,贡献者会进来,发送他们的贡献,而没有太多互动。 但是,在某些情况下,您将有机会与人们长期合作。 在数周或数月的时间内与新的贡献者合作非常有价值,因为您将获得对人员(尤其是对您的项目或技术新手的了解)如何看待您的工作以及面临的挑战的见解。 这也是帮助人们成长和学习的机会。 对每个人来说都是双赢。

在2019年,我们参加了Google Summer of Code and Outreachy ,这些经验帮助实习生和我们的团队学习了新事物。 通过与实习生一起工作,我们可以了解加入我们的项目的感觉,对于一个非常初级的工程师的入职情况,以及对他们为我们的项目做出贡献的阻碍者。

预防冒名顶替综合症

与此相关的是,重要的是要预防冒名顶替综合症 。 缺乏归属感或“我什至是怎么来这里”的感觉如此普遍,尤其是在技术代表不足的人群中。 它撰写和讨论的内容很多,尤其是过去式,但很少有人积极地学习它。

您如何发现它? 您如何知道某人感觉自己做不到足够的成就或感觉自己像在欺诈?

向老年人展示失败经验并从错误中吸取教训有助于营造一个包容的环境。 结对编程,分享您的过去经验,讨论您的职业道路以及告诉别人您何时犯过错误​​等事情可以帮助弥合高级工程师与新人之间的鸿沟。 它可以帮助新人们感觉自己属于高科技行业,因为在他们面前聪明,高级的人们也有担忧和犯错,但他们振作起来并继续前进。

10.避免沟通障碍

这可能很明显,但是并非您的所有撰稿人都以英语为第一语言。 对于许多人来说,这将是他们的第二语言,甚至是第三或第四语言。 您的许多撰稿人可能不会说出能够使他们无缝协作的水平的英语,并且重要的是要记住,断断续续的英语在全球项目中是很好的,甚至是可以预期的。 善解人意,友善并支持这些人。 不要仅仅因为英语语法不好就认为某人是“哑巴”。 仅仅因为某人不会说一口流利的英语,并不意味着他们没有才华。 从字面上看,这仅意味着他们不会说完美的英语。

另一个潜在的沟通障碍是使用别人可能以与我们预期不同的方式感知的举止。 例如,在电子邮件上签名“谢谢,Romina”或说“确定,再见!” 听起来完全适合我,但它们可以向其他人发出信号,表示您不尊重他们。 因此,给某人分配标签“粗鲁”将是……很粗鲁?

当您与多元化的,全球性的贡献者网络打交道时,请不要担心并不构成冒犯性的语言障碍或举止。

这并不意味着您应该原谅不良行为。 没有任何借口来称呼他人的名字,放下某人或故意给某人以性别歧视,维护者有义务根据行为准则采取行动并解决问题。

综上所述

使新的贡献者在您的社区中受到欢迎对于您的项目的未来至关重要,因此,重要的是要花时间和精力来加入他们。

  • 确保从贡献者的角度看待您的社区。
  • 使代表性不足的少数民族蓬勃发展,为每个人创建一个更受欢迎的社区。
  • 了解您所服务的社区,并问自己自己的具体需求是什么。
  • 允许在私人和公共场合提问。
  • 很好,定下基调。
  • 说谢谢。
  • React灵敏。
  • 始终如一。

其他资源

翻译自: https://opensource.com/article/19/12/open-source-contributors

开源项目贡献者

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐