什么样的项目可以在 Savannah 上申请托管?

更新时间

Savannah 接受两类项目:官方 GNU 软件托管在 savannah.gnu.org,非 GNU 但支持自由软件的项目托管在 savannah.nongnu.org。核心门槛是:项目必须是自由软件,在自由操作系统上运行,并且不依赖任何专有软件。Savannah 页面明确写明,它“代管在自由作业系统上执行、且无任何专有软件相依的自由专案”。如果你的项目依赖某个专有运行时、专有驱动或闭源构建工具,就不符合条件。

先判断你的项目属于哪一类

项目类型 应使用的站点 说明
官方 GNU 软件包 savannah.gnu.org Savannah 的定位是开发、维护与散布官方 GNU 软件的中心
非 GNU 自由软件项目 savannah.nongnu.org 面向支持自由软件、但不属于 GNU 的项目
GNU 用户组 现有群组分类中 统计中列为“GNU 使用者群組”
www.gnu.org 内容或翻译团队 现有群组分类中 统计中单列“www.gnu.org 部分内容”和“翻译团队”

现有托管群组统计可以作为参照:官方 GNU 软件 406 个,非 GNU 软件与文档 3356 个,GNU 用户组 26 个,www.gnu.org 内容 32 个,翻译团队 38 个。非 GNU 项目占绝大多数,说明非 GNU 自由软件同样有明确的托管通道,不必强行归入 GNU 项目。

提交前要核对的三件事

  1. 许可证是自由软件许可证。 Savannah 页面提供“授权清单”入口,可先对照确认。项目若使用自拟许可证,需要能说明它满足自由软件定义。
  2. 运行环境不含专有软件依赖。 这是 Savannah 与一般代码托管平台最不同的地方:它不仅要求代码开源,还要求项目在自由操作系统上运行、不依赖任何专有软件。例如,一个只能在某个专有系统上构建、或必须链接专有库才能运行的项目,就不符合要求。
  3. 项目有实际维护意图。 Savannah 是开发、维护与散布的中心,不是单纯的代码存放处。注册新项目前,页面建议先阅读“代管需求”,核对要求后再提交。

具体申请步骤

  1. 打开 savannah.gnu.org,在导航中找到“代管需求”,通读托管条件。
  2. 确认项目类别:官方 GNU 软件走 gnu.org 站点,其余自由软件项目走 nongnu.org。
  3. 选择“注册新项目”入口,按表单填写项目信息并提交。
  4. 提交后等待审核。页面统计显示有 11 个注册待审核,说明审核是人工流程,需要预留时间。
  5. 审核通过后,项目会出现在对应分类的群组清单中。

验证方式:提交后可在“完整清单”中查看项目是否已列入,或在群组统计中确认分类归属。若长时间未出现在清单中,可先检查是否收到审核反馈。

常见卡点

  • 把“开源”等同于“符合 Savannah 要求”。 Savannah 的额外条件是运行环境无专有软件依赖,仅代码公开不够。
  • 选错站点。 非 GNU 项目应走 savannah.nongnu.org;官方 GNU 软件才走主站。选错会延长审核沟通。
  • 忽略邮件列表。 页面强烈建议订阅 savannah-announce(低流量,发布重要事项与变更),一般使用问题可到 savannah-users 提问。审核期间的通知也可能依赖这些渠道。
  • 以为托管即自动获得开发资源。 Savannah 本身是锻造平台,提供代管与协作入口;具体开发工具链需按项目需要自行配置。

一个判断例子

假设你要托管一个用自由许可证发布、在 GNU/Linux 上构建运行、且不链接任何专有库的文本编辑器插件。它不属于 GNU 官方软件,因此应选择 savannah.nongnu.org,先核对“代管需求”,再通过“注册新项目”提交。反过来,如果该插件必须调用某个专有编辑器的闭源 API 才能工作,即使代码本身公开,也不满足“无任何专有软件相依”的条件,不应提交。

如果项目尚在早期、许可证未定,建议先确定自由软件许可证并清理专有依赖,再走注册流程,避免审核往返。