摘要

  • OpenSSF 将 Premier、General 与 Associate 会员的基金会代表路径公开化;其章程也分别赋予 Governing Board 与 Technical Advisory Council 不同职责。
  • 该机构同时说明:任何人均可参与 Technical Initiatives;工作组和项目由维护者直接管理,会员或赞助层级不决定项目事项。
  • 每项重要决定都应附上项目权力地图,记录适用文件、决定主体、席位来源、资金联系与未能证明的事项,避免把会员资格夸大成技术控制权。

一张权益表不是每个项目的宪章

OpenSSF 的 Join 页面并未隐藏层级差异。Premier 会员有一个有表决权的 Governing Board 席位及一名替代代表;General 会员作为一类参与选举,每十名最多产生一名代表,总数不超过三名;Associate 会员可以提交一名由 Board 任命的代表人选。页面亦列有委员会代表、会议与其他权益。公开费用中,新加入 Linux Foundation 的 Premier 为 270,000 美元,既有成员为 250,000 美元;General 依员工数为 5,000 至 50,000 美元,Associate、学术和非营利成员免费。

这些并非无关紧要的营销语。它们描述基金会层面的代表资格、资源和组织关系。可是它们没有回答另一道问题:某一项目接受补丁、发布版本、任命维护者、处理漏洞或修改内部流程时,谁拥有决定权?

OpenSSF 的 About 页面对此作出直接回答。Governing Board 和 TAC 都不直接管理所托管的工作组和项目;维护者管理项目,包括界定其治理程序。Board 负责预算,TAC 负责整体技术战略。网页更明确说明,会员或赞助层级不会影响项目相关决定;维护权和治理流程由项目本身决定,不以 OpenSSF 会员资格为条件。

这不意味着 Board 席位是虚构的,或预算没有后果。它意味着不得用一项真实的基金会权力,替代另一项须由项目章程和维护者程序证明的项目权力。

章程给出的是分层地图,不是一条指挥线

Participation Agreement and Charter 首先划定参与边界:Technical Initiatives 向所有人开放,不论是否为会员;某个倡议的技术监督治理,以该倡议适用的 charter 为准。因此,加入基金会不是技术参与门票,基金会总章程也不会自动成为每个仓库的操作规则。

但 Board 具有清楚的基金会权限:管理 OpenSSF、制定政策和程序、设立委员会和项目、批准所筹资金的预算、批准面向特定 Technical Initiatives 的定向筹款建议。它还可在征询有关倡议治理机构意见的情况下设立合规项目。把这些权力说成纯礼仪同样不准确。

TAC 的职责又不同。六名有表决权代表由活跃 Technical Initiative 贡献者每年选出,三名由 Governing Board 任命。TAC 制定技术愿景,组织和促进各倡议协作,维护入驻及沟通程序,批准、设立、组织或归档倡议,并向 Board 排定资源和资金建议的优先级。其公开仓库用星号区分 Board 任命的当前成员与社区选举成员,并欢迎任何社区成员参与讨论。

贡献者选举、Board 任命和公开讨论,都是有意义但不相同的事实。一项 TAC 席位并不会自动让其持有人有权决定某个项目的发布门槛或维护者名单。反过来,项目自主也不是 Board 预算、定向筹款和 TAC 跨倡议协调不存在的证据。它们影响的对象和决策层次不同。

不能由金额推导技术命令

会员费容易诱发一种快捷但无据的推论:高层级会员获得基金会代表权,便必然购买了每个项目的控制权。公开文件不支持该推论。它们支持的是更精确的关系:会员在基金会治理中有不同代表路径,Board 处理预算、政策和组织事务;但这不足以证明某会员指导了某次项目技术选择。若要作出后一种主张,必须有项目、决定和授权记录本身。

反向简化也站不住脚。若以项目自主为由,断言资金、倡议准入、流程组织和战略优先级没有影响,也会错过真实的控制面。资金能提供能力,TAC 的建议能改变资源顺序,Board 的政策能设定组织环境。但这种制度性影响不是无限的提交权限,也不是对维护者的隐含命令。

卢恒关于把参与误当授权的提醒在此很有用。开放讨论、一场贡献者选举或会员头衔,不能被抬升为对所有问题的普遍授权;同样,“社区”一词也不能抹去章程明确授予预算和协调机构的责任。应问的是:什么权力,由哪一条文件授予,对哪一类对象产生什么效果?

项目权力地图

Daniel Kade 建议在每项被公开称为 OpenSSF 治理、筹资或技术决定的重要事项旁,附上简明的项目权力地图。

第一项是决定对象:基金会预算、倡议准入、跨项目程序、项目发布政策,还是维护者任命。仅说“OpenSSF 决定了”会擦掉读者最需要辨认的层次。

第二项是控制文件和条款。预算可指向 Board 的章程条款;TAC 流程可指向 TAC 规则;项目事项则应指向该项目 charter、治理文件或维护者程序。没有公开文件时,应如实注明,不能拿会员权益表充当项目宪章。

第三项是作出决定的主体和身份:Board、Board 委员会、TAC、倡议治理机构、项目维护者或贡献者选民。一个人可以拥有多重身份,但身份并不会自动合并。

第四项是席位来源:Premier 任命、General 选举、Associate 任命、贡献者选入 TAC、Board 任命 TAC,或项目维护者程序。它记录出处,而非猜测忠诚。

第五项写明资金或项目联系,以及公开证据和不作何种断言。记录可证明 Board 批了资金,却不能因此说会员指挥了技术结果;可证明 TAC 给出优先级建议,却不能假定具体维护者同意。保留这条非断言边界,正是为了不让权力记录变成指控机器。

基金会与项目不需要隔绝。项目可能获得资源,TAC 可以协调,Board 可以拨款,贡献者可以选代表。可信的接口在于,每一项决定都能看出它是在哪一侧作出的。

来源

  1. OpenSSF Participation Agreement and Charter
  2. OpenSSF — Join
  3. OpenSSF — About
  4. OpenSSF Technical Advisory Council
  5. Lu Heng — The Multi-Stakeholder Mirage