归零心态,参与开源

无论你做什么都要付出很多的努力,方可能有所成,开源也一样,开源甚至要求更高,不仅是过硬的技术能力,还要有强大的内心、决心,并能够和人们友好的相处。

“总是要达到110%的满意?” 大多数人都听过类似的心灵鸡汤,激励话语,甚至在我们的整个职业生涯中都是这样子过来的。虽然说在某种程度上讲,这也是一个好的建议,但是若运用不当,则事情会恰得其反。

多年前,我在去韩国的国际航班上阅读的一本书,彻底的改变了我的观点,它就是克里斯.哈德菲尔德上校的宇航员地球生活指南, 曾担任过国际空间站指挥的第一名加拿大宇航员,此书让我领悟到了关于公司或个人如何在开源社区中工作的真谛。

哈德菲尔德和所有的其他宇航员一样,在进入太空之前,都要进行大量的训练、做充分的准备工作、以及很多艰难的任务。他从所有这一切学到的竟然是团队的动力是成功完成任务的关键部分,也是能够安全返回地球的重要原因。为了能够实现这样的动力,他开发了一个让团队能够合作的思考方法,尤其是针对新的成员。他将这个方法称之为:归零大法。大体的意思就是,如果你在刚刚加入一个团队时,就去努力的尝试提供110%(成为+1)的能力,则会损害你在此团队中获得长期成功的机会。归零心态则意味着能够虚心的学习并努力成为团队中的高效成员。

同理,这个方法亦适合于生活中的其它领域。举个例子,我本人在Cal消防局做志愿者的时候就应用到了这个方法,在那里,我作为团队的一份子成功的融入了团队,无论是消防前的准备,还是在实施救火的过程中。

当然,本文讨论是开源相关的,那么下面的内容就是我在开源项目如何应用哈德菲尔德上校的 归零大法,让你能够在未来为开源项目添砖加瓦,奉献力量。

准备工作

正如哈德菲尔德在太空计划中所发现的那样,以及我本人在加州消防局的亲身经历的,在开源社区中也是一个道理,在你要加入或贡献自己原来并不熟悉的社区项目之前,需要做很多的准备工作的。

以下是加入开源项目/社区要确定的一些基本知识:

  • 使用何种沟通工具?(IRC、Slack、邮件列表、论坛等)
  • 这些工具的沟通规范是什么?(高级别的讨论、深入的技术等等)
  • 项目遵循哪些开发流程?(短期的、活跃的发布周期还是长期的、大型的发布)
  • 项目治理是什么样的?(一个典型的PR是什么样子?人们该如何接受/审核代码等等)
  • 项目的领导结构是什么样的?(仁慈独裁者,还是去中心化领导等)

将上述问题的答案找出来,不仅能够理解项目是做什么的,它还能够给出一个框架,从而能够确定你可以从自己可以胜任的地方开始参与贡献到社区,这就是 “我就是+1,我可以。”

做那些别人不屑做的脏活累活

一旦你开始逐步理解了项目和社区,你就可以开始作出自己的贡献了。所谓的 归零大法,其最佳实践就是做那些人们不屑做的事情,尤其是下面的:

  • 文档(开源项目几乎总是缺乏文档)
  • 测试/QA(同上注释)
  • 回答问题(这条还有额外的好处,可以帮助你更完整地学习代码/项目)
  • BUG 修复/分类(这类工作颇具挑战性,但可能会被一些开发者所无视)
  • 社区管理/布道

通过深入这些特定的领域,你不仅可以在工作中学习,而且显示出你不卑不亢的态度。所有你的活动和贡献,现有的项目成员都是有目共睹的,他们会认为你是希望项目更好的,而不单单是为了个人出名。

尊重每一个人

哈德菲尔德讲述了那些从来没有进入过太空的同事们的故事,他们之所以没有被选中的原因就是没有归零心态,这几乎适用于他们所有人。哈德菲尔德还指出,“远征行为”的概念在太空飞行(特别是长期任务)中至关重要,简单来说,这意味着你需要能够依靠你的同事,并且与他们一起完成任务或者说是项目的目标。

这就意味着要尊重每一个人,而不论你是否同意他们在某个主题或一段代码上的立场。切记:

  • 你永远不会失去专业精神。
  • 批评代码/解决方案,而不是人。(所谓的对事不对人)
  • 不要为你个人(或公司)沽名钓誉。
  • 理解尊重是双向的(你想获得它之前先要给予)

关于此点,你可能会想,“嗯,当然这听起来很常见。” 这就是秘密所在,尤其是当公司和他们的优先事项参与开源项目时,这些常识就会是向导,很有效果。

总结

每家公司或是每一个人,均有一定的自我意识,——这是正常的,也是可预期的。其中的奥秘就是理解人类动力学(即我们通常说到“软技能”),这是所有有效协作的核心。无论你是在离地球249公里的太空,还是在野外消防指挥所工作,抑或是为开源项目做贡献。

在你开始获得+1影响之前,你的目标就是 归零,进而让你或你所在的公司在帮助开源项目和自己成功方面成为关键的优势。

关于作者

,Guy Martin 是 Autodesk 开源部门的总监,他可以代表公司在开源社区进行广泛的活动,且在公司内部与各团队紧密合作,并加强各团队与上游社区的参与。在加入Autodesk之前,他协助创建了三星开源部门,负责代表公司对关键开源项目进行持续贡献的团队。再之前,Martin在红帽工作,他创建了开源实施咨询服务,帮助客户利用红帽在开源社区中的优势地位。当Martin没有与客户交流、没有在社区写博客、也没有在开源社区活动时,他非常享受和女儿待在一起,也很乐意为加利福尼亚州的消防部门——Cal Fire做志愿者。

本文由作者Guy Martin 发表在Opensource.com上:Open source success starts at zero。本文在Creative Commons BY-SA 4.0许可证下发布。由开源之道精心编译,欢迎转载!