经过对工单请求的广泛审查以及近期理事会会议(参见 meetbot 中 29 July 和 15 July 2026 的记录)的讨论,Fedora 理事会希望启动政策变更流程,以批准 Fedora Forge 使用政策。该文档将开放至少两周的公众反馈。如果在 13 August 2026(星期四)之前,社区反馈未导致政策发生重大修改,该政策将进入正式工单投票,由理事会批准或否决。

如果文档需要重大修改,理事会将重新审查政策,并在必要时延长反馈期,然后再进行正式投票。请在讨论帖中提供反馈。

该政策可在 Fedora Forge 的理事会 wiki 页面上找到,也发布在 Discourse 上,为方便起见,以下也粘贴了全文。

感谢大家迄今为止对该政策的贡献,理事会期待与各位合作,尽快批准该政策。

Fedora Forge 使用政策

欢迎使用 Fedora Forge。此 Forgejo 实例由 Fedora 基础设施团队提供,用于支持 Fedora 项目的日常运营、开发和协作。

为确保该服务对 Fedora 社区的所有成员保持可靠、安全且有用,所有用户必须遵守以下使用政策。

1. 范围、标准与例外

Fedora Forge 是 Fedora 项目的专用工作空间。 历史上,Fedora 项目使用 pagure.io,它是一个通用公共 forge,Fedora 仓库与个人项目、无关的上游软件和个人作品集共存。

Fedora Forge(由 Forgejo 驱动)有意采用更窄的范围。它不是公共的通用 Git 托管服务。它是项目基础设施的内部组成部分,专门用于托管直接构建、管理和治理 Fedora 项目的代码、文档和工具。

“Fedora 项目相关”的标准

要获得在 Fedora Forge 上托管的资格,仓库必须满足以下至少一项标准:

  • 基础设施与运营: Fedora 基础设施团队用于运行项目的配置管理、部署脚本或工具。
  • 发布工程与打包: 用于构建、组合和分发 Fedora 版本、版本变体和自定义版本的工具、脚本和模板。
  • 治理与团队组织: 官方 Fedora 团队、特别兴趣小组(SIG)、工作组和 Fedora 理事会倡议的跟踪器、文档和协作空间。
  • Fedora 特定软件: 主要为 Fedora 社区构思和开发的软件项目(例如 Fedora Badges、Bodhi、fedmsg)。

例外与特殊情况(生态系统上游)

虽然一般的上游开发应在公共 forge(如 GitHub、GitLab 或 Codeberg)上进行,但 Fedora 项目认识到某些大规模上游项目与 Fedora 的基础设施和历史紧密相连,因此可作为例外。

公认的例外:

  • 主要由 Fedora 和 Red Hat 生态系统贡献者维护的基础设施基础工具(例如 Koji、FreeIPA)。
  • 核心系统组件,其主要开发团队历史上扎根于 Fedora 社区,并依赖 Fedora 基础设施进行工作流程。

注意:在 Fedora 仓库中打包并不自动授予项目使用 Fedora Forge 作为其上游主机的例外状态。

边缘案例的决策流程

如果社区成员不确定其项目是否符合范围或是否有资格作为生态系统例外,则适用以下流程:

  1. 请求提交: 请求者必须在 Fedora 基础设施跟踪器上打开一个工单,详细说明项目的用途、与 Fedora 的联系,以及为什么应该托管在 Fedora Forge 上而不是公共替代方案上。
  2. 基础设施审查: Fedora 基础设施团队将根据既定标准进行初步审查,评估技术可行性和资源影响。
  3. 指导委员会咨询: 如果请求属于灰色地带,基础设施团队将把工单升级到 Fedora 工程指导委员会(FESCo)或 Fedora 理事会进行政策裁决。
  4. 最终决议: 决定将记录在工单中。如果被拒绝,将鼓励请求者在公共 forge 上托管项目,并在严格需要用于内部 Fedora 构建时镜像特定组件。

2. 访问与认证

对 Fedora Forge 的访问与我们的中央身份系统集成,以确保安全且可问责的访问。

  • 账户创建与登录: 所有认证均通过 Fedora 账户系统(FAS) 处理。您不能直接在 Forgejo 实例上创建本地账户。要登录,请使用与您的活跃 FAS 凭证集成的单点登录(SSO)。
  • 个人命名空间: 首次登录后,系统会自动为您配置一个个人命名空间(例如 forge.fedoraproject.org/your-fas-username)。您只能在此空间中 fork 仓库,新仓库的创建仅允许在组织下进行。
  • 组织与团队: 为防止组织泛滥,顶级组织(例如 /infra 或 /quality)的创建受到限制。如果您的 Fedora 团队或 SIG 需要专用的组织空间,请向 Forge 团队 提交工单。组织所有者负责管理其分配空间内的团队访问权限。
  • 账户停用: 如果您的 FAS 账户被暂停、禁用或标记为不活跃,您对 Fedora Forge 的访问权限将被自动撤销。如果您的账户长期不活跃,托管在您个人命名空间中的仓库可能会被归档或删除。如果您要离开项目,请在离开前将任何关键工具的所有权转让给 Fedora 组织或活跃的共同维护者。

3. 行为准则与社区行为

Fedora Forge 是一个协作空间。此平台上的所有活动均严格受 Fedora 行为准则 的约束。

4. 禁止的活动

为确保 Fedora Forge 保持高性能、安全且合法合规,以下活动和内容被严格禁止:

  • 非 Fedora 项目: 如范围所述,此 Forge 不是通用 Git 主机。个人作品集、点文件或与 Fedora 无直接关联的业余项目被禁止。
  • 恶意内容: 托管恶意软件、漏洞利用、僵尸网络命令与控制基础设施或钓鱼材料。(注意:严格用于 Fedora 基础设施测试的安全相关工具必须经过明确批准。)
  • 专有与版权材料: 上传您无权分发的版权材料,或托管专有、闭源的二进制 blob。所有代码应为开源并符合 Fedora 的许可指南。
  • 泄露机密: 提交敏感信息,如密码、API 令牌、私有 SSH 密钥或个人身份信息(PII)。
  • 系统滥用: 从事降低 Forgejo 实例或其运行器性能的活动,例如激进的网络爬取、DDoS 攻击或故意触发无限 CI 循环。
  • 加密货币挖矿: 使用 Forge 或其 CI/CD 运行器挖掘加密货币严格禁止,并将导致立即永久封禁。

5. 资源限制与 CI/CD

我们希望为 Fedora 团队提供所需的工具,但我们也必须有效管理基础设施成本和存储。

  • 仓库大小: Git 不是备份系统。请将仓库集中在源代码和基于文本的文档上。
    • 仓库理想情况下应保持在 500MB 以下。
    • 如果您的项目需要大型资产(例如设计文件、测试数据集),您必须使用 Git LFS(大文件存储)。
  • Forgejo Actions 与 CI 运行器:
    • 共享基础设施: Fedora 基础设施提供的默认 CI 运行器是共享社区资源。作业应优化以高效运行,并且每个作业的最长超时时间为 10 分钟。
    • 社区自有运行器(自带): 我们强烈鼓励具有大量测试或特定架构要求(例如大量使用 ARM、RISCV 或需要长时间构建)的大型团队、SIG 和工作组自行配置和注册运行器。专用运行器可以直接附加到您的组织或特定仓库。
    • 自定义运行器的合规性: 即使您的团队提供计算资源,任何连接到 Fedora Forge 的运行器都是我们基础设施的扩展。在社区自有运行器上执行的所有工作流和操作必须严格遵守第 4 节(禁止的活动)。 您不得使用自定义运行器绕过政策(例如,不得进行加密货币挖矿、不得构建无关的非 Fedora 上游项目、不得进行恶意网络爬取)。
    • 注册流程: 要为您的团队注册专用运行器,请查阅我们的 运行器注册文档,并确保您的运行器按照 Fedora 基础设施标准进行安全保护。
  • API 使用: 与 Forgejo API 交互的自动化脚本和机器人必须遵守速率限制,并包含描述性的用户代理字符串,以标识工具及其维护者。

6. 仓库生命周期与组织

  • 命名约定: 我们有一个通用的命名约定。您的组织中应有一个工单仓库,作为与您的组相关的工单的单一入口点。您组织中的 docs 仓库应指向您的组在 docs.fedoraproject.org 命名空间下的官方来源。在其他情况下,请为仓库使用清晰、描述性的名称,以便其他社区成员轻松理解其用途。
  • 归档: 不再积极维护的项目应归档(标记为只读),以向社区表明其状态。活跃的 Forge 组织所有者应根据需要归档仓库。如有必要(例如,在组织不活跃的情况下),基础设施团队保留在尝试联系组织所有者后,对长时间无活动的仓库进行归档的权利。
  • 删除: 如果您需要完全删除组织或仓库,请向 Forge 团队 提交工单。基础设施团队还保留删除废弃、不合规或空仓库以维护工作空间整洁的权利。

7. 支持与滥用报告

  • 获取帮助: 对于 Fedora Forge 的技术问题(例如 CI 运行器故障、登录问题、请求组织),请在 Forge 团队跟踪器 上提交工单,或在 #fedora-admin Matrix 频道中提问。
  • 报告行为准则违规: 要报告在 Forge 上发生的行为准则违规,请联系 Fedora 行为准则委员会。
  • 报告安全/法律问题: 要报告平台上的安全漏洞、泄露的机密或 DMCA/版权违规,请立即发送电子邮件至 Fedora 基础设施团队。