首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >赢在 Apache -只有胡萝卜,没有大棒

赢在 Apache -只有胡萝卜,没有大棒

作者头像
开源社
发布2019-08-09 20:00:37
4090
发布2019-08-09 20:00:37
举报
文章被收录于专栏:开源社开源社
作者:Danny Angus

| 翻译:徐红伟

| 编辑:舒敏

当 ASF 启动“赢在 Apache ”系列博客后,我提出要分享自己的经历。如果您继续阅读这篇文章,请记住这只是我个人的经历,其他人未必会认可,但是您会看到,这真的很有趣。

从工作背景上来说,我现在是 Apache 实验室的项目管理委员会主席,在日常工作中,我是伦敦证券交易所 FTSE250 指数里某家技术公司的“部门 CTO ”。我在 2000 年左右第一次接触到 ASF,那时我是一家初创公司的 CTO ,这家公司创立于网络热潮时期,当时只有我和其他几个人。当时我们考虑与一些希望将其工作内容商业化的研究人员合作,并且正在寻找一些我们可以用作产品基础的软件,因为:

a)我们没有足够的钱来开发或购买,

b )而且我们也没有这方面的知识。

我发现了 Apache James http://james.apache.org,将它下载并安装运行,进行了一些原型设计,但是我们很快意识到,需要对它进行进一步的开发才能把它用到我们的产品中。我开始深入研究它,订阅了邮件列表,问了一些问题并找出了修复和扩展现有功能所需完成的工作,然后开始在本地修改它。同时我发现我也在回答用户列表中其他用户提出的问题,有一天我注意到我回答了更多我之前提出的问题。不久之后,我回答的问题比其他任何人都多。然后我开始向开发者列表提交软件补丁(那是在 CVS 时代,远早于 git ),提交者为我审核并提交...但是最终他们觉得这样太麻烦了,于是就给了我提交权限,这样我就可以自己提交。

我的经历阐述了 Apache 项目的一个重要特征:你可以站出来并参与其中。另一个重要的特征是我们是精英式的管理:你只需要证明自己的能力,就可以获得更多的责任;证明你的意愿和可信度就足以让你得到这份工作。“ Karma(因果报应)” 这个词在许多开源项目中用来表示“访问权限”,我们曾经说过,如果你知道如何正确地请求 “ karma ”,它本身就是你可以信赖的标志。当然,那时候我们是一个完全不同的组织,但建立在绩效和信任基础上的社区原则仍然是我们身份的核心。组织不能成为我们社区的一部分并非巧合:只有个人能。组织是我们所生存世界的重要组成部分,但我们不是为它们的利益而存在,我们存在全是因为作为个体,我们愿意站出来做事情,从一次下载和安装 Apache HTTP Web 服务器的人,到我们 ASF 现任(也可以说是杰出的)总裁 Sam Ruby ,每个人都以自己的方式为 Apache 的生活做出贡献,并实现适合自己的个人动机的利益。因此,我可以专注于我自己和雇主的优先事项,这意味着我可以向新朋友学习,开发我们工作所需的软件,同时成为这个神奇社区的一部分。

我在 Apache 的经历可以用“只有胡萝卜,没有大棒”来形容。我认为这是开源最健康的模式,这是因为每个参与者将会从他们所参与的工作中受益,而无需付出超出他们预期的工作。对我来说,只专注于在我擅长的领域做出贡献,不仅能最高效的利用我的时间,这也满足我们公司产品的目标,而且能让我从其他更博学、更富经验的人身上学到知识,并从他们的工作成果里获益。和这些优秀的人在一起,其中许多现在已经是我的朋友了,我受益匪浅,这是从其他途径无法学到的。

在我参与的这个时间点上,Apache 经历了一些被客气地描述为“沉淀思虑”的时期,并确认组织结构应该非常的扁平化,我们的增长应该没有限制。只要我们的标准被项目和人们达成,我们就会欢迎他们加入我们的社区。这些标准部分是关于基于贡献获得认可的原则,部分是关于法律保护,Apache 扮演的关键角色之一是为项目和为其提供帮助的人提供一定程度的保护,使其免于各种霸凌、言辞侵害到配备昂贵的律师的大猩猩(意指大公司);部分是为了确保定义了我们的身份、并为我们组织的生存和成功做出贡献的行为和实践,能够在新世代的新项目中继续使用,并创造我们在16年前难以想象的技术。

不久,尘埃落定,我发现自己被选为主持 Apache James 项目 http://apache.org/foundation/governance/pmcs.html ,这是一个有趣的全新维度。仅使用积极的动机来主持项目能教会你很多关于人的事情,包括你自己。我发现我对成功地合作的一些观点,不但对我努力实现自下而上的决策的日常工作有帮助,同时对我希望做出积极的贡献并看到我们的社区蓬勃发展的 ASF 同样也很有帮助:

开拓你的思路。集体的方向感可能不是你所期望的,曾经有一段时间我对伟大想法的现实持怀疑态度,但我也学到了即使路暂时走错了也没关系,因为大多数时候得到的结果几乎没有差别,但通常你会学到很多东西。如果人们真心支持,那么你会比只有一个欢乐试错并迈向灭亡的好主意有更好的成功机会。总结 Apache 精神的一句谚语是“社区重于代码”,将社区放在首位,代码将随之而来。

倾听,并提供帮助。有很多的人们参与我们的项目,而且他们有着不同的动机。这些动机大多数都是有有效的,大多数都同样重要。有学生在研究我们的代码,使用我们的软件提问,并且可能修复缺陷以便他们可以学习;有公司的员工来保护他们公司的投资,实施产品路线图并保持一些可预测的速度,并因此得到报酬;有研究人员正在推动他们选择的主题的界限;有些人的生计和成功取决于一个项目;还有一些人,他们参与其中是因为这是从“影响”,“利益”,“截止日期”和目标“”等压力中解脱的一种方式。主持或引导讨论,以确保所有方面都被倾听到,精英式管理需要倾听所有人,而不仅仅是那些最直言不讳或自信的人,当我说“倾听”时,这并不意味着在别人说话时要思考您自己的答复。支持您同意的人,帮助实现其他人的想法,只有真正致力于彼此的成功,而不仅仅是您自己的成功,才能实现协作。

“一流人雇佣一流人,二流人则雇佣三流人”。发掘,支持和指导下一代,当您的成功取决于社区时,您付出一些努力来创建最好的社区就会变得有意义。

使用积极的语言。当我小时候对妹妹说话刻薄时,大人常常会说,“如果你没有什么好听的话要说,就什么也不要说”。如果您参与任何合作项目,这是一个很好的建议,但是当参与类似于开源项目时,您通常使用书面英语与您不熟悉的人们沟通,他们的语言技能可能和你不同,可能生活在不同时区,有时与你有着截然不同的文化背景,这时要加倍注意。最重要的是你经常在讨论高度抽象的技术概念的细节。沟通障碍本身就会导致挫折感,所以容易产生消极性,当我强烈不同意某人时,我喜欢做的一件事是写下我的感受,然后试着用积极的语言来改写它,这对你来说可能听起来像是狡猾的胡说八道,但你会惊讶地发现这有效的把“我觉得你错了,这就是为什么......” 变成 “你已经清楚地想到了很多这方面,我想知道你是否考虑过......”。疏远别人并不是解决问题的方法。

学习成为一个好的失败者。你并不拥有你的项目,你也不是这里最聪明的人(好吧,这不是100%正确的,但今天基金会里有 5,938 个提交者,所以正确率大概是 99.98%)认识到这一点并且学习拥抱集体观点对某些人来说很难,但是能跳出你的主观观点,并在你不相信的事情上取得成功,这是绝对值得学习的领导力课程。因为如果不是这样,你的成长将受到来自你自己头脑想法的限制,而不会被其他人加速。

我们一路完善 http://apache.org/foundation/how-it-works.html 。是的,从外部看来,它有时就像我们已将一切都搞定并确定下来似的,并且我们已经找好律师并订好了将生命中一切有趣的东西中剥离的规则(我的意思是我们拥有一个主要的软件许可证,其上有我们的名字,成人的世界以善良为由何其无趣?)。但事实是,Apache,ASF 是——而且可能永远都是——一直在持续优化中的工作,希望至少能够在下一次意外风暴中生存下来,已经有好几次风暴了,但我们发现它的唯一方法就是当它击中我们的时候。在相当长的一段时间里,我们想象,采用,借用,适应,捐赠和挖掘的只有我们自己的大脑,以及关于有效的开源协作,治理,法律诡计,营销,社区建设的一大堆想法, 等等。一些东西运作良好,一些起着主要作用,一些有时是垃圾,但总比没有好。我们写下这些东西并在项目之间传播这种良好实践,因为它是我们基金会所依赖的基石,但这并不意味着它不能改变,事实是我们不断改变,适应和发展我们的最佳实践,这就是我们是如何适应的,这就是我们如何在一个似乎每四到五年就几乎无法辨识的多变领域中生存并保持相关性的方式。而且,作为一个精英,如果你不同意事情的方式,如果你认为它已经过时或无效或毫无意义,不要抱怨,而是修复它。我们还有另一种说法是“你可以挠自己的痒” -——不要被动,如果你关心它,那就去做吧。

Apache 的重点不是因为我们有规则和委员会。我们之所以有他们,是因为他们证明了自身能够帮助我们做正确的事情,帮助我们遵循我们的原则,并为开源项目提供一个家园,使这些项目能够在鲨鱼环绕的软件产业海洋中得以生存。

最后,定义你自己的成就。无论你这么做是因为你需要软件,或是像我一样,你只是发现它并不完美;无论你是想要交朋友,还是学习新技能,无论是因为你被雇用来提高雇主的最佳利益,因为你想要开发新的想法,或是因为你想写本书,赢在 Apache 是由你来定义的。创建你自己对成功的衡量标准,让我们共同来实现它。

译者简介

徐红伟,2015年博士毕业,之后在西欧游历,致力于数据加密与数据安全事业,后回国创业,乐此不疲。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档