赢在 Apache - 干了再说,贡献者无条件的爱
作者:Daniel Gruno
翻译:徐红伟,开源社翻译组成员
原文:https://blogs.apache.org/foundation/entry/success-at-apache-jfdi-the
在很多方面,Apache 软件基金会像一条宠物狗。
有些人喜欢狗,有些人喜欢猫。 ASF 不在意这些,它依然爱你。有些人是女性,有些人是男性,有些人不同意群众的狭隘二分法。ASF 不在意这些,它依然爱你。有些人有很酷的父母,有车,有钱,有好朋友,有些人则是“奇怪的”孤独者,他们朋友的数量用一只手就可以数过来(甚至用不完一只手!)。ASF 不在意这些,无论如何,它依然爱你...只要你给它一些代码或文档(或任何其他有价值的贡献),就会得到它回报的喜爱和尊重。
但是在我开始讲关于一条名叫 “ Apache ” 的狗的故事之前,我要先简单介绍一下我自己。到现在我参与 Apache (基金会和老朋友 HTTP Server)已经五年了。我是基金会的成员,也是 Apache STeVe 项目的主席。我加入 Apache 的原因,以及为何我现在依然作为一名基础设施架构师为 ASF 工作的原因是:我有一个痒痒(实际上有好几个)要挠,并且渴望向世界证明我能够...做事情!
我是从学术背景来到 Apache 的。我在丹麦的多个大学学习过,最初是统计和工商管理,后来是人力资源管理,所以我最初对开源如何工作的理解是它很可能像学术研究那样运作:你有一个想法,展示出来,寻求反馈,开始合作,然后让你的同行对它进行评审,当他们都说“ OK ”时就开始实现该想法。现在,在某些方面这是准确的,但是执行的方法却大相径庭。
学术界是建立在混合了健康和不健康的固有的不信任之上(在许多方面类似于某些信仰中原罪的概念)。
健康的部分在我的经验中 - 而且在非常简单的术语中 - 归因于 Karl Popper 和志同道合的科学哲学家的批判性思想,他们反对“证明”作为推进科学的一种手段,而是寻求“缺乏证据”来反证一个理论(这样做是为了在学术理论上消除诸如“上帝存在吗?”或者“土地神是真的吗?”之类的事情,由于你不能反驳它们的存在,因此它们被归类为元理论和哲学难题 - 但是“我们真的值得狗爱我们吗?”之类的问题仍然有效!)。与其证明太阳确实每天都会升起,不如说“我有一个理论,太阳明天不会升起”,然后证明这是错误。虽然证明太阳明天升起是一项几乎不可能的任务(即使太阳每天升起的概率为99.999%,这意味着500年后太阳升起的概率只有16%),但证明“‘太阳明天不会升起’是错的”是一个更简单、更可实现的目标,它具有实际价值。
现在,这在学术界很有效,但是“证明你的代码无法工作”的概念对于那些只想修改拼写错误人来说就有点儿过分了。尽管如此,诸如单元测试和模糊化之类的东西与“通过'无法证明它是错的'来证明它是对的”的概念相似,因为我们在开源中也使用了“如果我们不能证明它工作异常,则它一定工作正常”的概念。我们工作中这种深思熟虑的、实用取向的不信任是健康的。
不健康的部分源于我们是人类……而不是狗。不同于像 Apache 这样的开源社区,以我的经验,大学就是高中,只不过拥有更丰富的图表和更厚的书籍。重要的是你认识谁,你能建立多好的关系网,谁来付账。虽然有些学校确实让你感到舒适自在,但在大多数情况下,你只能自生自灭地建立一个社交和科学界的网络。如果你没有适当的社交技能,你就会孤单。没有内在归属感,从某种意义上说,资本主义梦想变成了一场噩梦。你的未来是需要你要创造的,而且只有你自己。如果你缺乏社交方面的技能或心理能力,你就被抛在后面。
一条名叫 Apache 的宠物狗
回顾我在教育机构的经历,我是一个社交能力有限的典型的孤独者,所以当我询问是否可以提供一些软件补丁,而五分钟后这些补丁就被应用了,可以想象当时我是多么的惊讶!对我而言,这是对我所做工作的巨大认可,人们说“请多做贡献,我们非常重视这一点”。更重要的是,我被邀请进入一个社区的原因只是“我有一些补丁”,不再需要其他任何的条件。
在 Apache,你认识谁、你的社会地位如何、你的长相如何,以及我们在外边世界使用的任何衡量标准,统统不重要。如果你愿意贡献一些东西,并且它有意义,你就会受到欢迎。
从一开始,我就被鼓励去贡献我认为有趣的东西 - 不是他们认为他们需要的东西,而是我感兴趣的问题的解决办法 - 我看到别人对我的技能和想法产生了浓厚的兴趣。我看到人们认为我做的很酷、我也很酷,即使他们不知道我是谁。就像突然在柏拉图式的速配约会中交朋友一样,重要的是有兴趣做点什么 - 兴趣点是什么不重要,只要有意义就行。
大家普遍认为 Apache 是任人唯贤的精英式管理:你做出贡献,并通过你的贡献获得功勋,从而为你换取影响力及话语权。我断定这不仅是正确的,而且是一个应用了“原创性功勋”的正和游戏。在 Apache,人们从本质上被信任为拥有良好的意图,并因而获取最初的善意。而这些善意在其他情况下可能难以获得。我不认识这些人,他们也不认识我 - 在 Apache 这里都不重要。
快速跟踪想法
在我为 HTTP Server 项目提供补丁的不到一周的时间里,我就被选为 Apache 的一名提交者,太惊喜了!更大的惊喜是 Apache 的态度,尤其是基础设施团队的态度:如果你想做些什么,直接做就行(只有最低的监管)。为你提供服务器,提供存放代码的地方,还有人帮你审核代码!我有一个为 HTTPd 文档设计评论系统的想法,于是就(再次)礼貌地询问我是否可以做这件事。当时我想我得到的答复应该会是官僚式的拒绝,他们会解释他们并不认识我(因此,他们为什么会把他们的硬件交给我呢?)。回复很简洁“去做吧,这儿有一个 FreeBSD jail (一种操作系统层虚拟化技术,在 FreeBSD 操作系统中运作。利用这个技术, FreeBSD 的系统管理者可以创造出几个小型的软件系统,这些软件系统被称为监狱 ‘ jails ’——译者注)给你用”。虽然当时我有点害怕,但那种你可以做事情而无需花时间来获得信任、征用东西、在实施前获得审查等的观念让我兴奋不已:我可以破解一些东西,我有一台机器来实验,没有附加条件!你天生就被信任的观念再度出现了。我以前没有和基础设施合作团队过并不重要,我有一个解决问题的想法,对他们来说,这才是最重要的。欢迎加入团队!
所以我为我们的文档编制编写了一个评论系统。它在后续的文档编制中实现了,其他项目的人员看到了,说“我们也可以使用它吗?”。不久之后,我就深入基础设施业务,发现 Apache 不仅是 HTTP Server ……它是一系列相互关联的项目,所有这些项目都相同的观念:大家一起解决问题,并通过推进计算机科学使世界变得更美好。我在 Apache 的每一个角落都看到了相同的观点:如果你能帮助我们,你就是我们中的一员。不管你是谁,来自哪里,只要你能以某种方式做出贡献,我们欢迎你成为我们社区的一名有价值的成员。
快速前进
所以我又加入了另一个项目,第二个,第三个...现在我是十个 Apache 项目的正式成员,还是其中个八项目的项目管理委员会( PMC )成员。我对这些项目的细节都非常了解吗?当然不!有些我几乎不知道他们具体做的是什么,但这在 Apache 根本不重要。真正重要的是你愿意贡献,无论你的专业水平如何,无论你的专业特长是什么。只要你愿意贡献, Apache 就会接受并爱你,就像宠物狗那样。
所以放下你的手机,停止发 Facebook 和 Twitter,最重要的,不要认为你可能无法提供帮助或无法成为 Apache 的一部分。如果你能写一封电子邮件,你就可以提供帮助。如果你能改正拼写错误,你就可以提供帮助。如果你能用编程语言写一些代码,你就可以提供帮助。如果你能写时事通讯,知道如何修复配置错误,帮助 IRC 上的人,你就可以提供帮助...... Apache 会因此而爱你。不知不觉中,你将成为 Apache 社区的一个深入集成的部分。
如果你不确定想要或能够为哪个项目做贡献,Apache 有一个非常棒的“社区发展”项目,它能够帮助指导并吸引项目里的人们,并教会人们基金会和项目是如何工作的。更多的信息,请浏览 https://community.apache.org 并找出那些对你有用的资源。你也可以浏览 https://projects.apache.org ,看看里面是否有你知道的 Apache 项目,或者发现你感兴趣的新项目,欢迎加入!