暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

The Apache Way|Apache 软件基金会是如何工作的?

ApacheCloudberry 2025-12-10
315

Apache Cloudberry™ (Incubating) 是 Apache 软件基金会孵化项目,由 Greenplum 和 PostgreSQL 衍生而来,作为领先的开源 MPP 数据库,可用于建设企业级数据仓库,并适用于大规模分析和 AI/ML 工作负载。

GitHub:  https://github.com/apache/cloudberry

文章作者:姜宁,Apache 软件基金会会员;整理:酷克数据

以下为 Apache 软件基金会会员姜宁在 Apache Cloudberry™ (Incubating) Meetup·2025 北京站分享演讲文字整理稿。

大家好,今天我想和大家分享一个关于 Apache 软件基金会(ASF)如何运作的故事。我在开源社区,特别是在 Apache 软件基金会,已经有近二十年的时间了。从最初作为好几个 ASF 项目的维护者,到后来成为 ASF 的一员(Member),甚至有幸竞选并担任了三年的董事会成员,这段经历让我对这个组织有了深刻的理解。在与无数开发者和用户的交流中,我发现大家对 ASF 充满了好奇,常常会问:ASF Member 和 Committer 有什么区别?在 ASF 里,到底谁说了算?它的治理结构是怎样的?今天,我希望通过我的分享,为大家揭开这些问题的答案,分享一个庞大而成功的开源组织背后的运转逻辑。

Apache 软件基金会:为公众利益而生的非营利组织

首先,我们需要理解 Apache 软件基金会究竟是什么。它并非一家商业公司,而是一个于 1999 年在美国注册成立的 501(c)(3)、非盈利的公益慈善组织 。到今天,它已经走过了超过 25 个年头。基金会从诞生之初就肩负着一个清晰而坚定的使命:为公众利益提供免费的软件(provide software for the public good)。

新 Apache 基金会标志

这里的“免费”有着深刻的含义。ASF 支持的项目发布的并非仅仅是可执行的二进制文件,更核心的是源代码。基金会坚信,只要你拥有源代码,你就可以自由地构建、修改和使用软件,这种方式才能真正保证软件能够被广泛而持久地使用 。这背后,是由商业友好的 Apache 2.0 许可协议作为法律基石的 。这是一个相对宽松的许可协议,它允许你将开源代码集成到自己的商业产品中并进行分发。这种开放性确保了基于该协议发布的软件版本,其自由使用的权利不会被剥夺。

当然,开源的世界里,代码本身固然重要,但比代码更重要的是创造和维护这些代码的人——也就是社区。只要社区还在,开发者们的热情和投入还在,项目就能持续发展,即便最初支持项目的公司不再投入,社区的力量依然可以推动项目前进。

为了守护这一使命,ASF 建立了一套完善的法律保护框架 。新项目在进入基金会孵化时,之所以要经历一系列看似繁琐的合规性(compliance)审查工作,其根本目的就是确保最终发布的软件在法律上是干净的,完全符合 Apache 许可协议的要求 。同时,基金会对“Apache”的品牌和项目商标也给予了极高的重视和保护,制定了详细的规范[1],以防止其被滥用 。这一切都是为了维护一个至关重要的原则——厂商中立(Vendor Neutral)。ASF 会通过监管确保项目由其项目管理委员会(PMC)控制,而非被任何单一公司所主导,开源项目与公司的商业产品之间必须有一条清晰的界限。如果出现越界行为,基金会便会介入,要求其进行整改。这套机制,为所有参与者提供了一个公平、稳定且值得信赖的环境,让大家可以放心地投入其中。

治理之道:分离的架构与个人的身份

ASF 的治理架构非常有特色,其核心在于将组织管理与项目管理进行了明确的分离 。更重要的是,所有参与者,无论他们现实世界中的雇主是谁,都是以个人身份加入到项目中来的 。这是一个纯粹由志愿者组成的全球化虚拟组织 。你可能会好奇,为什么要做这样的设计?

这与 ASF 的慈善组织属性密切相关 。在这里,绝大多数人都是“为爱发电”,包括项目的开发者,甚至是竞选成为董事会成员,都没有任何报酬。驱动大家的是对开源理念的认同和为公众利益做贡献的热情。这种以个人身份参与的模式带来了一个巨大的好处:它保证了项目的连续性和稳定性。即使你换了工作,你在 ASF 社区中的身份、贡献和声誉都不会受到影响,你可以继续为自己热爱的项目贡献力量。这在很大程度上避免了因商业公司的战略调整而导致项目停滞或方向摇摆的风险。

在这个治理结构中,项目管理委员会(Project Management Committee, PMC)扮演着至关重要的角色 。当一个项目从孵化器成功毕业,成为顶级项目(Top-Level Project, TLP)后,董事会就会批准为其设立一个专属的 PMC 。PMC 负责项目的日常自治,包括技术方向决策、版本发布、吸纳新的 Committer 和 PMC 成员等 。每个 PMC 都会任命一位主席(PMC Chair),是项目与董事会之间的沟通桥梁,需要定期向董事会汇报项目状况 。

从董事会的角度看,PMC 履行着对项目的监督职责 。作为前董事会成员,我每个月都要审阅来自几十多个项目中的报告 。你可能会想象这是一个无比冗长乏味的会议,但 ASF 的运作方式非常高效。我们的沟通主要依赖文字和异步交流,因为成员遍布全球,协调一个所有人都方便的会议时间是极其困难的。通常在董事会召开前一周,董事们就会花大量时间阅读报告,并通过邮件列表提出问题、添加评论,直接与项目进行交流。这样,真正开会时,我们只需一个小时左右就能高效地完成决策。这种将大量沟通和讨论散布在日常工作中的(异步交流)模式,正是 ASF 全球化协作的精髓。这也引出了 ASF 一个不成文但却至关重要的原则:“如果一件事没有在邮件列表里发生,那它就等于没有发生” 。这种异步的、公开的交流方式,确保了任何想参与的人,无论身在何处,都能公平地获得信息并参与讨论。

PMC 的核心使命是促进社区的长期健康发展 。它的决策不是为了某个成员或某家公司的短期利益,而是要始终思考“什么才是对整个社区最有利的(Think about the best interest of the community)”,达成一种最大规模的共识 。这种自治模式,也正是为什么新项目需要经过一个孵化流程的原因——它旨在培养项目成员的主人翁意识,并让他们熟悉和认同 ASF 的行事方式。

晋升之路:精英主义与功绩的阶梯

在开源社区,尤其是一个像 ASF 这样成员遍布全球、彼此素未谋面的虚拟组织里,最稀缺的资源是什么?是信任。我们无法通过面对面的交流来建立信任,我们之间的协作完全依赖于 GitHub 上的 Issue、PR 和邮件列表中的文字讨论。那么,信任是如何建立的呢?ASF 给出的答案是——精英之治(Meritocracy) 。

这里的“精英”并非指代某种特权或地位,而是指那些通过实实在在的行动和贡献赢得社区认可的人 。在 ASF,你的权力来自于你所做的工作,你做的事情得到了大家的认可,你就会获得相应的信任和职位 。这就像一个“打怪升级”的过程,你在社区里的“功绩”(Merit)就是你的声望值 。

这个过程,我们可以称之为“功绩链”(The Chain of Merit) 。每个人的旅程通常从一个用户(User)开始 。在使用软件的过程中,你发现了一个问题,或者有了一个新的想法,于是你提交了反馈或者代码补丁,这时你就成了一名贡献者(Contributor)或开发者(Developer) 。你的贡献被社区接纳和合并,大家开始认识你,认可你的能力。随着你持续地做出有价值的贡献,社区对你的信任度不断增加。终于有一天,PMC 会邀请你成为一名代码提交者(Committer) 。这意味着你获得了代码仓库的写入权限,这是社区对你极大信任的体现 。成为 Committer 之后,你的旅程并未结束。如果你不仅积极贡献代码,还热心参与社区的讨论、帮助新人、展现出对项目长期发展的责任感和认同感,那么你可能会被邀请成为 PMC 成员(PMC Member) 。至此,你不仅拥有代码权限,还获得了社区事务的投票权,例如吸纳新成员和决定软件的正式发布 。

在这个阶梯的更上层,是 ASF 成员(Member) 。从法律上讲,他们是基金会的“股东”,拥有选举和被选举董事会成员的权利 。成为 Member 的门槛很高,通常需要你在多个项目中都表现活跃,并对整个基金会的发展有杰出贡献。每年,现有的 Member 会提名和选举新的成员,这是一个基于长期观察和高度认可的荣誉。

这个从用户到基金会成员的晋升阶梯,完全基于个人的功绩 。你在社区里的“江湖地位”,是你通过一行行代码、一次次讨论、一点点贡献积累起来的。这种“才配其位”的文化,是 ASF 能够凝聚全球数万名志愿者并持续产出高质量软件的核心动力。

The Apache Way:社区协作的灵魂

所有这些治理结构和晋升机制,都服务于一套被称为“The Apache Way”的哲学思想 。它不是一本僵化的规则手册,而是一系列指导社区协作的核心原则。

社区大于代码(Community over Code) 是其灵魂 。ASF 坚信,一个健康、多元化、协作的社区远比代码本身更重要。代码会过时,技术会迭代,但一个充满活力的社区能够不断地自我进化,应对任何挑战。这就是为什么 ASF 强调多元化,鼓励协作开发,以防止项目被单一公司或小团体控制,确保其长久发展。

公开透明(Open & Transparency) 是其基石 。正如之前反复强调的,“没有在邮件列表发生,就没有发生” 。所有的讨论、决策和存档都必须在公开的邮件列表中进行 。这种极致的透明原则,为所有人提供了公平发表见解的机会 。它通过公开的同行评审(peer review)来保证贡献的质量,传播知识和技能 。更重要的是,它建立了一种信任机制。当社区出现分歧或投诉时,评判的依据就是邮件列表里的公开记录。这种方式最大限度地避免了黑箱操作,让公道自在人心。如果你有一个想法,希望推动它,最好的方式就是去邮件列表发起讨论,清晰地阐述你的理由和它能带来的价值,去寻找志同道合的人。

共识决策(Consensus)与精英之治(Meritocracy) 是其运作方式 。在 ASF,没有自上而下的命令。决策通常采用一种叫做“懒人共识(Lazy Consensus)”的方式 。即,我提出一个方案,在规定时间内如果没有人提出有力的反对意见,方案就获得通过并可以向前推进。这鼓励大家自驱地解决问题。当然,如果你想让一件事快速通过,最有效的方法是与社区充分沟通,获得广泛支持。这背后依然是精英之治的原则:把权力交给那些真正做事的人 ,让最有见地的方案胜出,而不是依赖于地位或特权 。

这些原则共同构建了一个相互尊重、诚实、以技术为基础的交流环境 。大家以个人身份参与 ,代表个人而非公司利益 ,在厂商中立的框架下,通过协作开发 ,共同创造高质量的、对商业友好的开源软件 。

孵化器:学习 Apache 之道的起点

那么,一个外部项目如何才能加入 ASF,成为这个大家庭的一员呢?答案是先进入 ASF 孵化器(Incubator) 。孵化器是所有项目进入 ASF 的通道 。它的职责并不仅仅是筛选项目提案和创建基础设施 ,更重要的是,它是一个学习和实践“The Apache Way”的训练营 。

在孵化过程中,来自 ASF 的资深成员会担任导师(Mentor),监督和指导孵化中的项目(Podling),帮助他们理解并遵循 ASF 的原则,避免走弯路。导师们会评估项目的成熟度,包括社区健康度、对 Apache 之道的理解程度等,最终决定项目是成功毕业成为顶级项目,还是因未能达到要求而“退休” 。这个过程,是 ASF 二十多年开源项目治理经验的传承,其最终目的是确保每一个从这里走出的项目,都能够拥有一个健康、可持续发展的未来。

这是多伦多档案馆收藏的历史照片,展示了一场传统的 “谷仓搭建聚会”(barn raising)场景。19 - 20 世纪,北美乡村社区会集体参与谷仓搭建,邻里互助协作,短时间内完成谷仓木结构框架搭建。

就像在北美乡间,村民们会聚在一起合力建造一个谷仓一样,ASF 的开源项目也是由成千上万有共同目标的志愿者们,通过互帮互助、协同努力共同构建起来的宏伟建筑 。任何一个人都无法独立完成这样的壮举,但当大家汇聚在一起时,便能创造出不可思议的价值。

Apache 软件基金会的故事,归根结底是一个关于人的故事。它通过一套精心设计的治理结构和文化原则,将全球各地充满热情的开发者连接在一起,为了一个共同的使命——为公众创造自由、高质量的软件——而努力。这,就是 ASF 的运作之道。

参考资料

[1] 

详细的规范: https://www.apache.org/foundation/marks/#guidelines


👇🏻️扫码加入 Apache Cloudberry 交流群👇🏻️

文章转载自ApacheCloudberry,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论