怎样成为一个优秀的开源社区成员

kobeHub · · 1696 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

我的一个朋友是一个非常有天赋的作家。最近对于开源感兴趣,并且请我帮她了解如何成为一名优秀的开源社区成员。 开源是世界上最不寻常的事情之一。世界上是否还有其他行业,高技能的专业人士愿意将其空闲时间致力于免费公开他们的工作吗?很多人在日常工作中花费了大量的时间,只是为了度过他们的夜晚和周末,并且做同样的事情。 我已经参与开源工作近 20 年了 ---- 我开创了很多基于社区的成功的项目([Hugo](http://gohugo.io/), [spf13-vim](http://vim.spf13.com/), [Cobra](http://github.com/spf13/cobra), Zoop), 为很多其他人作出贡献,并且负责领导一些史上最受欢迎的商业开源项目([Docker](http://docker.com/) & [MongoDB](http://mongodb.org/))。 多年以来,我总结了三大规律。只要遵守,那你肯定可以成为一个优秀的开源工作者。 ## 守则 1. 假设善意 这不仅是开源社区的一个良好守则,也是生活中的一个好的规则。很多开源工作的交流都是在线以书面形式完成的。社区成员来自世界各地,有着不同的文化背景,所以尽管大部分的开源工作使用英语完成,但是英语并不一定总是社区成员的第一语言。我经常看到,当人们认为其他人正在恶意操作时,这些差异会导致社区中的障碍和不和谐。虽然确实有一些卑鄙的人在那里,但我发现最好还是假设人们的善意,直到证明他们不是这样。 ## 守则 2. 欣赏的态度 开源是建立在志愿者自愿的基础上的。很多人都希望尽最大努力帮助别人贡献自己的时间和才能。项目维护者往往会抱着 “你不够好” 的态度。我甚至看到一个项目因为注释中拼写的错误而拒绝了很大的贡献。如果你想培养一个健康的社区(或参与其中一个),你需要培养一种欣赏的态度。这种态度以不同的方式表现出来。 在所有的开源项目中,就像在 Docker 项目中一样,我们采用了一种从不说 “不” 的策略,而是使用贡献者的错误作为教导我们社区成员如何将其转化为 “是” 的机会。有时通过向他们展示如何编写更好的代码,测试或者文档来起作用。有时教授他们宝贵的技能。这项政策对于整个项目总的来说很有帮助,因为一旦有人学会,他们往往希望通过帮助其他经验较少的成员来作为回报并且向前支付。 欣赏的另一种形式是接受贡献,即使他们不是那么正确。通常一个人花了很多的时间为一个项目做出贡献,可能是你的项目,并且他们在整个过程中没有获得一切。也许文档不太适合或者测试覆盖率不可以更好。请记住,不是每一个人都具有相同的背景 ---- 如果英语不是他们的第一语言,他们可能感到窘迫或者不能生成您所需质量的文档。在这种情形下,我发现最好是欣赏他们所做的工作,接受他们的贡献,并为他们完成其他工作。有人担心,如果你增加他们的贡献,贡献者会被冒犯。但据我的经验,他们通常会非常感激。 最后,表达赞赏的最重要的方式之一是对人们提供的问题,特别是贡献做出回应和深思熟虑。如果您自己无法做到这一点,可能是时候寻求帮助了。你会找到乐意支持的社区成员。 ## 守则 3. 不要害怕参与 ... 提问,贡献 开源是由志愿者组成的。志愿者是不会等待邀请参与社区或者作出贡献的。你可以做的最好的事情是询问:“我可以帮你做什么?”。我保证大多数开源社区不仅提供很多机会,而且提供了你成功所需要的支持。 很多人担心他们提交的工作会被拒绝,这种恐惧阻止他们做出贡献。我保证当你向开源做出贡献会发生两件事情: 1) 你的一些工作将会被拒绝并且 2)你从这些拒绝中学到的东西比从其他任何地方学到的都多。我说出这话不仅来自于自身的经验,也来自很多活跃贡献者朋友的对话。为了保证你的贡献有最大的可能被接受,可以和项目维护者在提交之前,期间,之后进行讨论。他们很乐意去帮助你。 2015 年 3 月 17 日

via: https://spf13.com/post/how-to-be-a-good-open-source-community-member/

作者:Steve Francia  译者:kobeHub  校对:polaris1119

本文由 GCTT 原创编译,Go语言中文网 荣誉推出


有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1696 次点击  
加入收藏 微博
被以下专栏收入,发现更多相似内容
1 回复  |  直到 2019-03-13 17:50:13
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传