Bracket 采用 AGPL-v3 意味着什么:自托管赛事管理系统部署前要知道的事
【免费下载链接】bracketSelfhosted tournament system项目地址: https://gitcode.com/GitHub_Trending/br/bracket
Bracket 是一个自托管的赛事管理系统,采用 AGPL-v3 许可证发布。它只管一件事:修改代码后对外提供网络服务,就必须公开修改版;不管内部部署、功能使用和收费。
一分钟看懂 🧭
这是一款带网络服务条款的强 Copyleft 许可证,属于开源协议中约束最严格的一档。
它在 GPL-v3 的全部条款之上增加了第 13 条:用户通过网络与你的修改版交互时,你必须向其提供相应源代码。这堵住了"改完代码只部署在服务器上、从不分发"从而永远免开源的口子。打个比方:家里做菜不用公开菜谱,但开门开店卖饭就得把菜谱交出来。如果你只在内部使用,或做的是传统分发式软件,这一条基本不触及你;它只在把系统作为在线服务提供给外部用户时才真正生效。
权利拆解:四项基本权利与限制
使用、修改、分发、改进四项权利全部授予,代价只有一条:衍生作品必须沿用同一许可证。
| 核心权利 | 许可证如何规定 | 对你意味着什么 |
|---|---|---|
| 使用 | 任何目的、免费 | 内部免费用,对外可收费 |
| 修改 | 可改,衍生作品保留许可 | 自由改功能,改动须沿用本许可 |
| 分发 | 可分发副本、须附许可 | 分发须随附完整源代码 |
| 改进 | 可发布改进版本 | 改进版须按同一许可公开 |
关键条款场景化:基于 Bracket 对外提供服务的义务边界
真正可能给你设定义务的只有第 13 条"远程网络交互",义务边界取决于是否对外提供服务。
- 如果你只在内部自托管、为自己的俱乐部或公司办赛,那么不触发任何开源义务,内部使用完全免费。
- 如果你修改了赛程编排或积分榜逻辑,并作为 SaaS 卖给外部用户,那么必须通过网络向所有用户提供修改版的完整源代码。
- 如果你原样部署未修改的版本并对外提供服务,那么也要提供原始源代码的下载渠道,并标明许可证与版权声明。
选型对照:四种常见开源许可证一张表
评估自研或二次开发时,四种许可证的差异集中在这三列。
| 许可证 | 修改后须开源? | 网络服务条款? | 专利授权? |
|---|---|---|---|
| AGPL-v3 | 是 | 有 | 有 |
| GPL-v3 | 是(分发时) | 无 | 有 |
| MIT | 否 | 无 | 无 |
| Apache 2.0 | 否 | 无 | 有 |
场景化选型建议:
- 做赛事管理 SaaS,希望改动回流社区并防止被私有化,选 AGPL-v3。
- 做桌面工具,只想要双向对等,GPL-v3 足够,不需要网络条款。
- 希望代码被商业产品随手引用、最大化采用率,选 MIT 或 Apache 2.0。
部署合规清单:基于 Bracket 对外提供服务前必须完成的事
对外提供在线服务前把以下事项逐项做完,全部打勾才算合规。
- 确认部署形态:仅内部使用无源码义务;对外网络服务触发源码义务
- 准备从服务页面可直接访问的源代码下载渠道,包含修改版完整代码
- 在服务页面或下载页放置许可证全文
- 保留 LICENSE 文件中的版权声明与许可声明,不得删改
- 每次代码更新后,复查源码渠道提供的是最新版本
误解纠正:关于该许可证的 3 个常见误区
以下三条是评估这类许可证时最常被说错的地方。
误解:AGPL-v3 禁止商业用途,收钱就不合规。 正解:不禁止,收费完全可以。它只要求提供网络服务时公开修改后的代码。
误解:自托管内部使用也要公开修改的代码。 正解:内部使用不构成"与公众的网络交互",不对外提供服务就没有源码公开义务。
误解:集成进专有系统,只要不动代码就行。 正解:组合整体对外分发或提供服务时,整个衍生作品须按本许可开源,无法保持专有。
这个选择让内部办赛可以免费使用它的代码,而对外的所有改进必须回流社区。部署前先想清楚服务是给内部还是外部用,并据此备好源码渠道。如果你是贡献者,提交的代码将按同一许可证发布,提交前想清楚这一点。
【免费下载链接】bracketSelfhosted tournament system项目地址: https://gitcode.com/GitHub_Trending/br/bracket
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考