美文网首页赢在 Apache 系列
赢在 Apache:项目独立性

赢在 Apache:项目独立性

作者: 开源社 | 来源:发表于2019-08-08 12:35 被阅读9次

    原文翻译:徐明

    作者:Mark Thomas

    本人自从2003年起参与 Apache 软件基金会( The Apache Software Foundation, ASF )。当时我正在工作中使用Apache Tomcat 服务器,并遇到了一个问题,需要实现一种新特性才能够解决。因为已经有人在 Bugzilla (开源的缺陷跟踪系统)中提出了该改进的请求,所以我很快地提交了针对这请求的补丁。后来项目提交者在重新进行了一些工作之后,接受了我所提交的补丁并将其应用在下一个版本中增加了该新特性。因为本人喜欢解决问题,所以我之后开始查看其他公开的 Tomcat bug 报告,自此我对 Apache 的涉猎程度也开始增加,包括 Apache Commons 、基础设施团队、安全团队,还包括我在2016年3月当选为 ASF 董事会成员。

    Apache Tomcat 一直是我投入大部分时间的重心。 Tomcat 项目由 Sun 公司于1999年捐赠给 ASF,在经过7个主要版本的更迭后,这个项目非常成功。成功的一个主要原因是来自大范围不同公司的各种人才的参与。而这些公司之所以很乐意其员工在 Tomcat 上进行合作,则是因为 ASF 非常重视项目独立性

    项目独立性涉及多方面,但就我而言,最重要的方面是提交者和项目管理委员会( Project Management Committee, PMC )成员以个人名义对项目做出贡献,并且以有益于整个社区为目的。一些提交者利用他们的空闲时间为项目做贡献 - 我为 Tomcat 贡献的前5年就是以这种方式。另一些提交者则是因为他们的雇主允许或规定他们要为 Apache 项目贡献投入时间。然而,这些受雇提交者(在他们雇佣时间内)所做出的贡献依然要从社区的最大利益角度出发,而不是从雇主的最大利益上出发。

    举个具体例子,我的雇主有一个环绕 Apache Tomcat 构建的产品。我的雇主手下的销售人员问我可否为这个产品增加一个功能。但问题是,为有效地实现这一特性,需要访问 Tomcat 内核的底层组件。换言之,我需要对 Tomcat 的 API 做一些丑陋的更改,以提供所需的集成接口。但与其勉强试着做这些改动,我说服雇主最好把整个特性捐赠给 Apache Tomcat 项目。

    新特性的加入也展现了一个 ASF 项目成功的其他重要因素:公开决策的能力,以及在决策上始终努力达成社区共识。随着该项目中新特性的发展完善,社区的审查、提交和改进建议都会促进该项目的设计模式。虽然这并不一定是最快的工作方式,但项目最终成果的质量 - 无论是从技术上,还是更重要的社区良性发展上来说 - 要比敷衍堆砌来得好。

    项目独立性的理念与实现项目独立性同样重要。这也是为什么许多项目选择 ASF 作为安身之处的一个主因,以确保理念与现实相符

    事情也有可能,也确实会与期望的目标背道而驰。由于要运营350个项目,几乎可以肯定的是,无论任何时间内都会有这样或那样一些待解决的问题。例如,项目可能会被某个团体或个人尝试推向特定的方向,或是建议该项目被一些外部实体所控制、领导、管理。通常项目管理委员会(PMC) 会自动纠正这些错误。有时 PMC 也需要帮助才能解决问题,例如来自品牌管理副总裁的或来自 ASF 董事会的帮助。

    Apache 董事会成员这一头衔的影响力其实被大家给过分夸大了。我的地位也只有在 Apache Tomcat 、Apache Commons 以及其他在我入选董事会前参与的项目中才有影响力。我仍会犯一些错误,好在当我犯错时,社区的成员们会为我指出错误。我不能因为我是 Apache 董事会的成员就随心所欲。拥有重要影响力的是整个董事会,而不是单个成员。Apache 董事会成员很少会代表董事会发言。就我的亲身经历而言,自从我加入 Apache 董事会以来,我至多一个月也就发言一次。Apache 董事会成员在代表董事会发言而非个人时,很少会明确表示该发言“代表董事会”。有时这一点会被大家误解,个别董事会成员的想法会被谬误成是代表整个董事会的观点。

    ASF 董事会与事业单位的董事会有很大不同。ASF 的董事会负责管理基金会,但个别项目的管理和方向的设定则是由项目管理委员会( PMC )负责的。ASF 董事会对项目的技术方向没有任何作用。ASF 董事会真正的职责是组织的治理,财务、法务等,但它的主要角色还是负责监督、教导和辅导我们的项目社区,以确保其良性发展。作为 ASF 董事会职能的一部分,董事会要定期地审查所有项目。一个刚毕业的项目在转入季度评审之前,通常会需要接受连续三个月的审查。项目副总裁(亦即项目委员会主席)在其中起着至关重要的作用。ta 们才是董事会的耳目。虽然 ASF 董事会在定期的审查中会去寻找项目的预警迹象,但项目副主席应该对该项目的了解更加深入,以便能提前指出其具体问题。一旦审查出问题,则需要让 PMC 实现自我纠正。ASF 董事会将会为此提供必要的教导、辅导、指引,但最终还得交由 PMC 成员来纠正该问题。

    举一个 ASF 董事会与项目管理委员会( PMC )合作的例子。今年早些时候,某位负责特定项目的项目副总裁离职了,这导致没有人为该项目定期撰写报告,董事会也为此感到很是担忧。在这种情况下,PMC 中没人有过担任项目副总裁职位的经验。因此,董事会与 PMC 达成合作,甄选了一名新的项目副总裁,并对新的项目副总裁进行指导。

    在过去的17年里,ASF 为大范围且多元的开源项目提供了安身之处。成功的关键在于 ASF 能将项目独立性视作 Apache 之道(Apache Way)的一部分。通过继续坚持 Apache 之道的原则,我相信 ASF 将在未来的17年以及更长的时间里将继续获得成功。

    相关文章

      网友评论

        本文标题:赢在 Apache:项目独立性

        本文链接:https://www.haomeiwen.com/subject/emxxjctx.html