什么样的项目可以在 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 项目。
提交前要核对的三件事
- 许可证是自由软件许可证。 Savannah 页面提供“授权清单”入口,可先对照确认。项目若使用自拟许可证,需要能说明它满足自由软件定义。
- 运行环境不含专有软件依赖。 这是 Savannah 与一般代码托管平台最不同的地方:它不仅要求代码开源,还要求项目在自由操作系统上运行、不依赖任何专有软件。例如,一个只能在某个专有系统上构建、或必须链接专有库才能运行的项目,就不符合要求。
- 项目有实际维护意图。 Savannah 是开发、维护与散布的中心,不是单纯的代码存放处。注册新项目前,页面建议先阅读“代管需求”,核对要求后再提交。
具体申请步骤
- 打开 savannah.gnu.org,在导航中找到“代管需求”,通读托管条件。
- 确认项目类别:官方 GNU 软件走 gnu.org 站点,其余自由软件项目走 nongnu.org。
- 选择“注册新项目”入口,按表单填写项目信息并提交。
- 提交后等待审核。页面统计显示有 11 个注册待审核,说明审核是人工流程,需要预留时间。
- 审核通过后,项目会出现在对应分类的群组清单中。
验证方式:提交后可在“完整清单”中查看项目是否已列入,或在群组统计中确认分类归属。若长时间未出现在清单中,可先检查是否收到审核反馈。
常见卡点
- 把“开源”等同于“符合 Savannah 要求”。 Savannah 的额外条件是运行环境无专有软件依赖,仅代码公开不够。
- 选错站点。 非 GNU 项目应走 savannah.nongnu.org;官方 GNU 软件才走主站。选错会延长审核沟通。
- 忽略邮件列表。 页面强烈建议订阅 savannah-announce(低流量,发布重要事项与变更),一般使用问题可到 savannah-users 提问。审核期间的通知也可能依赖这些渠道。
- 以为托管即自动获得开发资源。 Savannah 本身是锻造平台,提供代管与协作入口;具体开发工具链需按项目需要自行配置。
一个判断例子
假设你要托管一个用自由许可证发布、在 GNU/Linux 上构建运行、且不链接任何专有库的文本编辑器插件。它不属于 GNU 官方软件,因此应选择 savannah.nongnu.org,先核对“代管需求”,再通过“注册新项目”提交。反过来,如果该插件必须调用某个专有编辑器的闭源 API 才能工作,即使代码本身公开,也不满足“无任何专有软件相依”的条件,不应提交。
如果项目尚在早期、许可证未定,建议先确定自由软件许可证并清理专有依赖,再走注册流程,避免审核往返。