CherryHQ/cherry-studio开源协议:AGPLv3许可证深度解析
🍒 引言:开源AI桌面客户端的许可证选择
在当今AI技术飞速发展的时代,开源项目如何平衡社区贡献与商业可持续性成为了关键问题。CherryHQ/cherry-studio作为一款支持多个LLM(Large Language Model,大语言模型)提供商的桌面客户端,选择了AGPLv3(GNU Affero General Public License v3.0)作为其核心开源许可证,并创新性地采用了区分用户的双重许可模式。
这种许可证策略不仅保护了开源社区的利益,也为企业用户提供了合规使用的途径。本文将深入解析AGPLv3许可证在Cherry Studio项目中的应用,帮助开发者、企业用户和个人用户全面理解这一许可证模式。
📋 目录
🔍 AGPLv3许可证核心要点
什么是AGPLv3?
AGPLv3是GNU Affero通用公共许可证的第3版,它在GPLv3的基础上增加了一个重要的"网络使用"条款。这个条款要求:
如果您修改了基于AGPLv3许可的软件,并通过网络向用户提供服务,您必须向所有服务使用者提供修改后的完整源代码。
AGPLv3与GPLv3的主要区别
Cherry Studio选择AGPLv3的原因
- 防止云服务规避:避免大型云服务商将项目作为SaaS服务提供而不回馈社区
- 保护开发者权益:确保修改和改进都能回馈到开源社区
- 促进商业合作:通过双重许可模式为商业合作提供空间
🎯 双重许可模式详解
Cherry Studio采用了创新的用户区分双重许可模式,具体规则如下:
许可模式对比表
| 许可类型 | 适用对象 | 源代码义务 | 费用 | 联系方式 |
|---|---|---|---|---|
| AGPLv3 | 个人用户 & ≤10人组织 | 必须公开修改的源代码 | 免费 | 无需联系 |
| 商业许可证 | >10人组织 或 需要规避AGPL义务 | 无需公开源代码 | 收费 | bd@cherry-ai.com |
用户规模定义
"10人及以下组织"的明确定义:
- 包括公司、非营利组织、政府机构、教育机构等任何实体
- 统计所有能够访问、使用或以任何方式受益于软件的个人
- 包括开发者、测试人员、运营人员、最终用户、间接使用者等
📊 用户规模阈值与合规要求
合规检查流程图
规模计算示例
// 组织规模计算示例
interface Organization {
name: string;
users: User[];
}
interface User {
type: 'developer' | 'tester' | 'operator' | 'enduser' | 'indirect';
hasAccess: boolean;
}
function checkLicenseCompliance(org: Organization): boolean {
const activeUsers = org.users.filter(user => user.hasAccess);
if (activeUsers.length <= 10) {
// 符合AGPLv3使用条件
return true;
} else {
// 必须获取商业许可证
return false;
}
}
💻 源代码公开义务
AGPLv3的源代码公开要求
当您基于AGPLv3许可的软件进行修改并分发或提供网络服务时,必须:
- 提供完整源代码:包括所有修改的部分
- 使用相同许可证:修改后的代码必须继续使用AGPLv3
- 明确标识修改:说明对原始代码的更改
源代码提供方式
🏢 商业许可证适用场景
必须获取商业许可证的情况
| 场景 | 描述 | 示例 |
|---|---|---|
| 组织规模超标 | 超过10人能够访问软件 | 50人科技公司内部使用 |
| 规避源代码义务 | 不希望公开修改的代码 | 定制化开发给客户使用 |
| 提供SaaS服务 | 基于修改版本提供网络服务 | 构建AI对话平台 |
| 公司政策限制 | 内部政策不允许使用AGPL软件 | 金融、医疗等敏感行业 |
商业许可证的优势
- 法律保障:获得正式的法律授权和保障
- 技术支持:获得专业的技术支持服务
- 定制化服务:根据需求提供定制化解决方案
- 规避风险:避免AGPLv3可能带来的法律风险
👥 贡献者许可协议
贡献代码的许可证要求
所有向Cherry Studio项目提交的贡献都将被视为在AGPLv3许可证下提供:
签署贡献者协议
# 提交代码时必须使用 --signoff 参数
git commit --signoff -m "修复了某个bug"
# 签署信息示例
Signed-off-by: Your Name <your.email@example.com>
📊 企业版与社区版对比
功能对比详细表
| 特性 | 社区版 (AGPLv3) | 企业版 (商业许可) |
|---|---|---|
| 许可证类型 | AGPLv3开源许可 | 商业许可证 |
| 适用对象 | 个人 & ≤10人组织 | 企业组织 |
| 费用 | 免费 | 买断/订阅制 |
| 管理后台 | 无 | 集中化模型管理 |
| 员工管理 | 无 | 细粒度权限控制 |
| 知识库 | 个人使用 | 企业级共享知识库 |
| 数据备份 | 基础功能 | 企业级备份恢复 |
| 部署方式 | 桌面客户端 | 私有化部署 |
| 技术支持 | 社区支持 | 专业技术支持 |
| 合规性 | 需遵守AGPLv3 | 完全合规 |
选择指南
🛡️ 合规使用指南
个人用户合规检查清单
- 确认仅为个人使用
- 不进行代码修改,或愿意公开修改
- 不用于商业盈利目的
- 遵守AGPLv3所有条款
企业用户合规检查清单
- 统计实际使用人数
- 评估是否需要修改代码
- 确定是否提供网络服务
- 联系商务获取商业许可证(如需要)
开发者贡献指南
# 1. Fork仓库
git clone https://gitcode.com/CherryHQ/cherry-studio.git
# 2. 创建特性分支
git checkout -b feature/your-feature
# 3. 进行修改并测试
# 确保代码质量和测试覆盖率
# 4. 签署提交
git commit --signoff -m "描述你的修改"
# 5. 推送并创建Pull Request
git push origin feature/your-feature
❓ 常见问题解答
Q1: 我们公司有15个员工,但只有3个人使用Cherry Studio,需要商业许可证吗?
A: 需要。许可证基于"能够访问"的人数,而不是实际使用人数。如果15个员工都有潜在访问权限,就需要商业许可证。
Q2: 如果我只是个人使用修改版本,需要公开源代码吗?
A: 如果您不分发修改版本也不提供网络服务,个人使用不需要公开源代码。但一旦分发或提供网络服务,就必须公开。
Q3: 商业许可证的费用是多少?
A: 具体费用需要联系 bd@cherry-ai.com 根据企业规模和使用场景进行商议。
Q4: 贡献代码后,我的代码会被用于商业版本吗?
A: 是的,所有贡献的代码都可能被包含在商业许可证版本中,这是贡献者协议的一部分。
Q5: 如何确认我们的使用是否合规?
A: 建议联系 legal@cherry-ai.com 进行正式的法律咨询,确保使用方式符合许可证要求。
🎯 总结
CherryHQ/cherry-studio的AGPLv3+双重许可模式为开源社区和商业用户提供了一个平衡的解决方案:
- 对个人和小团队:享受完整的开源自由,促进技术创新
- 对企业用户:通过商业许可证获得合规保障和专业支持
- 对开发者:明确的贡献者协议,保护知识产权
这种模式既保护了开源项目的可持续发展,又为企业应用提供了合规路径,是当前开源AI项目中的一个优秀实践案例。
免责声明:本文档仅供参考,不构成法律建议。具体的许可证解释和应用应以官方许可证文本和法律咨询为准。如有疑问,请联系专业法律顾问或 Cherry Studio 团队。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



