如何成为一名优秀的开源社区成员?
21CTO导读:开源社区是个神奇的地方 - 开发软件还不需要钱,这是真的?但是如果你真想参与时,应该记住以下一些事儿,其实也是团队管理的好策略。
我的一位朋友是一位非常有才华的作家,最近对开源感起兴趣来并请我帮助她了解如何成为一名优秀的开源社区成员。
开源是世界上不寻常的事情之一。他是否还有其他职业收入,高技能专业人士将他们的空闲时间捐赠出来来给人们免费工作?许多人在日常工作中花费很长时间,只是为了度过他们的夜晚和周末,然后来做这些自己觉得有趣的事情。
如何参与开源项目
我已经参与开源近20年了; 我已经开始了一些成功的社区项目(Hugo, spf13-vim, Cobra, Viper,Zoop),我为许多人做出了一些贡献,并且正在负责领导一些历史上最流行的商业开源项目(Docker) & MongoDB)。
这几年来,我学会了三条规则,如果遵循这些规则,我想肯定会让你成为一个优秀的开源公民。
规则1.假定善意
这对开源来说不仅是一个很好的规则,而且对于生活来讲也是一个好规则。许多开源通信都是以书面格式在线完成的。社区成员来自世界各地,来自不同的文化,因此虽然大多数开源工作都是用英语完成的,但它通常不是社区成员们的第一语言。
我经常看到,当人们偏见地认为其他人正在恶意操作时,这些差异会导致社区沟通的障碍和不和谐。
虽然确实有一些卑鄙的人在里里,但我发现最好总是假设人们的意思很好,直到他们证明不是这样。
规则2.赞赏的态度
开源是建立在志愿者志的基础上的。很多人都希望尽最大努力帮助其他人,贡献自己的时间和才华。
不幸的是,项目的维护人员常常抱着“你还不够好”的态度。我甚至看到项目拒绝再做出贡献,因为评论中存在拼写错误。如果你想培养一个健康的社区(或者参加一个),你需要培养一种欣赏的态度。
这种态度以不同的方式表现出来。在我的所有开源项目中,我们采用了一种从不说“不”的政策,而是使用贡献者错误作为教会社区成员如何使其成为“是”的机会。
有时这是向人们展示如何写出更好的代码,测试或文档的工作技巧,它更会教人们宝贵的技能。
这项政策对整个项目来说通常很有帮助,因为一旦有人接受教育,他们往往希望通过帮助其他经验不足的成员来回报,然后向前提升。
欣赏的另一种表现方式是接受捐款,即使项目并不太完美。通常情况下,有人花了很多时间为项目做出贡献,也许是你的项目,而且他们并没有在整个过程中获得特别多。也许文档不太合适,或者测试覆盖率能做得更好。
请你记住,并非每个人都来自相同的背景 - 如果英语不是他们的第一语言,他们可能会有一些尴尬,无法生成你需要的高质量文档。在这种情况下,我发现最好是欣赏他们所做的事情,接受他们所做的贡献,并为其完成其余的工作。有些人担心,如果你补充他们的贡献,贡献者会感觉被冒犯,但根据我的经验,他们总是非常感激你的。
最后,表达赞赏态度的最重要方式之一是对待人们提的问题,特别是贡献做出回应,要做出深思熟虑。如果你自己无法做到这一点,也许是时候寻求帮助了。你会找到很愿意支持社区的成员。
规则3.不要害怕跳进去......提出问题,做出贡献。
开源由志愿者组成 - 志愿者不想等待邀请,就想跳入并尝试贡献。
你可以做的最好的事情之一就是问:“我能做些什么来帮助你?”我保证大多数开源社区不仅会提供很多机会,还会提供成功所需的支持。很多人担心如果帮他们提交的话,他们会拒绝,而这种恐惧使他们无法做出更好的贡献。
我确定在你为开源做贡献时会发生两件事:
你的一些工作一定会被拒绝。
与其他任何方式相比,你将从这些拒绝中学到很多东西。
我的发言不仅来自个人经历,还来自与许多积极做开源贡献者朋友的交谈。为确保你的贡献最有可能被接受,请事先,事中和事后与项目维护人员积极讨论。他们将非常愿意提供帮助。
最初发布于2016年4月
作者:Steve Francia
说明:Steve是10gen的首席解决方案架构师,负责MongoDB的用户体验,包括驱动程序,集成,网站和文档。
编译:老夏