Apache Incubator 项目管理与治理规范

Apache Incubator 的治理与合规规范——PPMC 治理结构、ASF 投票规则与投票计数(Binding/Non-binding/否决)、Podling Release 双投票批准流程、Copyright/License 合规、CLAs 与软件授权、以及 ASF 基础设施与常见工具

Apache IncubatorApache Incubator2026/10/11

Apache Incubator 项目管理与治理规范

本文聚焦 Apache Incubator 的治理与合规层面:PPMC 如何运作、ASF 投票规则如何计数、Podling Release(发布)如何获得双重批准、Copyright/License 合规与 CLAs 如何处理,以及 ASF 基础设施与常用工具。依据 incubator.apache.org 官方政策与资料撰写,供 PPMC 成员、Mentor、Committer 参考。

一、概述/背景

孵化中的每个项目(Podling)由 PPMC(Podling Project Management Committee) 治理。PPMC 的运作"像一个 PMC",但向 IPMC(Incubator PMC) 而非 ASF 董事会汇报;这是因为 PPMC 不能代表 ASF 做正式决定,涉及基金会层面的批准(如 ASF Release、成为 TLP)须由 IPMC/董事会负责。

治理的三大支柱:PPMC 自治、公开投票、合规审计。本文依次展开。

二、PPMC 治理

2.1 PPMC 的定位与职责

  • PPMC 负责 Podling 的日常治理:组织决策、社区招募、向 IPMC 汇报进展。
  • 向 IPMC(而非 Board)汇报,由 Mentor 协助撰写报告。
  • PPMC 阶段就是为了让成员学习如何治理一个 ASF 项目;毕业时 PPMC 将整体移交给新组建的 PMC 或并入赞助方 PMC。

2.2 PPMC 成员加入

  • 新 PPMC 成员的加入遵循投票流程。官方指南见 Podling PPMC Guide。
  • 一般而言:在 PPMC 成员的 private 列表上发起讨论与投票,通过后更新 Whimsy roster、开通相应权限。

2.3 PPMC 成员职责

职责说明
维护 status 文件保持孵化信息与任务清单最新,是毕业核对的依据
监督新 Committer 引入建立符合 Apache 实践的流程并执行
配合 Mentor 产出报告前 3 个月月度、之后季度向 IPMC 汇报
在 dev 列表公开决策透明、可问责
参与 Release 的 PPMC 投票见第四章

三、投票规则(ASF Voting Process)

所有重大决定(接纳、晋升、Release、毕业/终止)通过投票完成。规则详见 ASF Voting Process。

3.1 投票标记

投票者使用如下标记表达态度(大小写不敏感):

标记含义
+1赞成(Yes)
-1反对(No,需附理由,通常视为 vetolike 反对)
+0 / -0中立或弱支持/弱反对(不计入通过判定)
+1(绑定/非绑定)区分 Binding 与 Non-binding 计票

3.2 Binding 与 Non-binding

  • Binding(绑定)投票:只有被授予相关投票权的人其票才算 binding。在 Podling 相关决策中,PPMC 成员的投票对 PPMC 决策是 binding 的;在 ASF Release / IPMC 决策中,仅 IPMC 成员的投票对 ASF 层面是 binding。
  • Non-binding 投票:贡献者、旁观者的意见(+1/-1)仍受欢迎,用于体现社区共识,但不计入正式通过门槛。

3.3 通过条件速查

决策场景通过条件(官方要点)
接纳候选项目Sponsor(通常 IPMC)按投票流程通过
Podling 的 PPMC 投票(如晋升 Committer、Dev 决策)依项目既定规则,通常多数 +1 且 -1 无正当否决(veto)
ASF Release(PPMC 侧)至少 3 位 PPMC 投 +1,且 +1 多于 -1
ASF Release(IPMC 侧)至少 3 位 IPMC 成员投绑定 +1,且绑定 +1 多于绑定 -1
VM 调毕业推荐IPMC 推荐 VOTE 通过后向 Board 提交

注意:-1 通常表明强烈反对并附理由;若意见未被采纳或未解决,通常应视其为止步信号,重新讨论后再投。VOTE 通常限时 72 小时。

四、Release 批准(Podling Release Approval)

Podling 的 ASF Release 必须获得 IPMC 批准后才能面向 ASF 正式发布。依据 Incubation Policy - Releases。

4.1 双重投票流程

  • PPMC 在 Podling 公开 dev 列表发起投票,请求 PPMC 认可(endorsement)。
  • 同时在孵化器的 general 列表请求 IPMC 批准(approval)。
  • 两轮投票可顺序、也可按 Podling 判断同时进行;时间与形式须符合 ASF Voting Process 与 ASF Release Policy。

4.2 通过条件(双重要求)

要求满足条件
PPMC 认可至少 3 位 PPMC 投 +1,且 +1 多于 -1
IPMC 批准至少 3 位 IPMC 成员投绑定 +1,且绑定 +1 多于绑定 -1

仅 IPMC 成员对 ASF 发布的批准是 binding 的。两轮都满足后 Podling 方可发布。

4.3 发布硬性要求

要求说明
归档文件名含 "incubating"必须(MUST)
归档含 DISCLAIMER / DISCLAIMER-WIP必须(MUST),见政策免责声明章节
通过官方渠道分发必须经 http://www.apache.org/dist/incubator/<Podling> ;其他渠道按分发指南
在发布前掌握许可审查源发布物中代码的许可要求须明确

五、Copyright / License 合规与 CLAs

进入 ASF 的项目必须做到知识产权清晰合规,这是孵化的核心目标之一(也就是 ASF 的 "intellectual property (IP) clearance")。

5.1 License 合规要点

  • ASF 项目默认采用 Apache License 2.0(ASL 2.0)。
  • 源发布物须满足许可要求:理解所纳入代码的许可是什么(copyleft 等不兼容许可需排查/替换)。
  • 免责声明:孵化状态必须体现,标准或 DISCLAIMER-WIP 文本见 Incubation Policy。

5.2 CLAs(贡献者许可协议)

  • ICLA:个人贡献者许可协议,个人加入社区贡献时需签署。
  • CCLA / 企业管理层授权:公司员工集体贡献时,公司层面签署企业 CLA。
  • 流程:通过 Mentor 与 ASF 秘书(Secretary)对接 CLA 提交与确认,相关页面 https://www.apache.org/licenses/#clas 。

5.3 已有代码/软件授权(Software Grant / Transfer)

  • 已有代码进入 ASF 时,Mentor 协助处理License 转移、Copyright 转让(见 Roles 的 Mentor 职责)、Software Grant 等事宜。
  • 需确保代码所有权/许可链清晰,未引入无法兼容 ASL 2.0 的组件。

5.4 合规 Checklist

检查项官方依据
代码许可为 ASL 2.0 兼容Apache License
发布物含 DISCLAIMER 文本Incubation Policy
贡献者 CLA 已收集/确认/licenses/#clas
已有代码已办理 Software GrantRole & Responsibility(IP clearance)
引入组件做许可审查Release Management Guide

六、ASF 基础设施与常用工具

6.1 基础设施概览

ASF 提供统一基础设施,多数通过 Self-Serve 申请与维护(邮件列表、版本库、构建、DNS 等)。

工具/资源用途
GitBox / GitHub版本托管与镜像
issues.apache.org(Jira)Issue/Bug 跟踪,孵化相关键名如 INCUBATOR
Mailing Lists决策与沟通的主阵地,归档可查
Whimsy(whimsy.apache.org)治理看板:roster、PPPMC、决议草拟等
Website / 状态页Podling 门户与 status
分发目录http://www.apache.org/dist/incubator/<Podling>

6.2 常用治理操作

操作途径
查看 PPMC rosterWhimsy:https://whimsy.apache.org/roster/ppmc/
草拟毕业决议Whimsy roster 内置功能 & committers svn 模板
建立/维护状态页projects/<podling>.html
提交 Board 议程Board Agenda Tool:https://agenda.apache.org/
查询 Infra 自助https://selfserve.apache.org/

七、常见决策要点速记

  • 绑定权隶属:PPMC 决策中 binding=PPMC;ASF 层面(Release/IPMC)binding=IPMC 成员;毕业最终由 Board 决议。
  • Release 双门槛:PPMC +1 至少 3 且 > -1;IPMC binding +1 至少 3 且 > binding -1。
  • 发布前缀:归档必须含 incubating,附 DISCLAIMER。
  • 报告义务:前 3 月月度,之后季度(IPMC 可要求更频繁)。
  • 合规是三权之一:许可、商标、CLAs 任何不清都可能拖后毕业。

八、官方参考链接