MonkeyCode 与 AGPLv3:为什么我们选择最严格的开源许可证

发布时间:2026/6/11 8:17:10

MonkeyCode 与 AGPLv3:为什么我们选择最严格的开源许可证 MonkeyCode 与 AGPLv3为什么我们选择最严格的开源许可证MonkeyCode 使用 GNU Affero General Public License v3.0AGPLv3开源。这是最严格的主流开源许可证之一。为什么这篇文章解释我们的思考过程。开源许可证光谱主流开源许可证从宽松到严格宽松 ←————————————————————→ 严格\n\nMIT/BSD → Apache 2.0 → LGPL → GPL → AGPL\n\n特点:\nMIT: 随便用不需要开源你的代码\nApache: 随便用需要保留版权声明有专利保护\nLGPL: 可以链接使用修改LGPL部分需要开源\nGPL: 使用就必须开源你的全部代码\nAGPL: 使用就必须开源包括网络服务SaaS为什么不用MITMIT是最流行的开源许可证简单、宽松。很多知名项目都用MITReact、Vue、Next.js等。但对MonkeyCode来说MIT有一个致命问题云厂商可以直接拿走你的代码包装成商业服务不需要回馈社区。具体场景某云厂商Fork MonkeyCode做一些表面定制作为自己的AI编程平台提供服务赚取利润但不需要公开任何改进用户不知道底层用的是MonkeyCode这在开源世界不是假设而是已经发生过很多次的事实。AWS就曾因为类似行为引发争议。为什么不用GPLv3GPLv3要求分发软件时必须开源。但有一个关键漏洞网络服务不算分发。也就是说把MonkeyCode打包成软件给用户安装 → 需要开源GPL ✅把MonkeyCode部署为SaaS服务 → 不需要开源GPL ❌作为AI编程平台MonkeyCode的核心使用方式就是SaaS服务。如果用GPL云厂商完全可以部署成SaaS而不回馈社区。AGPLv3解决了什么AGPLv3在GPLv3的基础上增加了一个关键条款即使通过网络如SaaS提供服务也必须向用户提供源代码。这意味着使用方式GPLv3AGPLv3下载使用需要开源修改需要开源修改部署为SaaS不需要开源需要开源修改内网部署灰色地带需要开源修改对企业用户的影响很多企业看到AGPL就紧张我们能不能用答案取决于使用方式✅ 可以自由使用的场景使用MonkeyCode在线服务— AGPL约束的是代码分发不影响用户使用按照原样私有化部署— 不修改代码内部使用完全没问题为MonkeyCode贡献代码— 贡献的代码本身就是开源的⚠️ 需要注意的场景修改MonkeyCode核心代码— 修改后的版本必须开源将MonkeyCode集成到自己的产品中— 需要仔细评估是否构成衍生作品二次分发— 必须保持AGPL许可证企业常见问题Q我们公司内部部署MonkeyCode做了一些配置调整需要开源吗A不需要。配置调整如修改配置文件、环境变量不算代码修改。Q我们开发了一个MonkeyCode插件需要开源吗A取决于插件的集成方式。通过公共API开发的插件通常不需要开源。但直接修改核心代码的插件需要开源。Q我们想把MonkeyCode部署给客户使用可以吗A可以。但如果你修改了MonkeyCode的代码修改部分需要开源。商业授权对于无法接受AGPL的企业MonkeyCode 提供商业授权选项许可证对比:\n\nAGPLv3 (免费):\n ✅ 使用源代码\n ✅ 修改源代码\n ⚠️ 修改后必须开源\n ⚠️ SaaS服务需要开源\n\n商业授权 (付费):\n ✅ 使用源代码\n ✅ 修改源代码\n ✅ 修改后不需要开源\n ✅ 可以集成到商业产品\n ✅ 企业级技术支持\n ✅ SLA保障开源社区的反应选择AGPL后社区的反应支持的声音终于有一个不怕被大厂白嫖的AI编程工具了AGPL保护了真正的开源精神这让我更愿意贡献代码因为知道不会被利用担忧的声音AGPL让企业客户望而却步集成到其他开源项目会有许可证冲突Python/JS生态中AGPL项目较少可能影响生态其他知名AGPL项目MonkeyCode不是唯一选择AGPL的项目MongoDB后改为SSPL — 数据库巨头同样为了防止云厂商白嫖Mattermost— 开源Slack替代品OpenSearch— AWS的Elasticsearch替代品部分组件AGPLiText— PDF处理库我们的反思选择AGPL不是结束而是开始。我们面临的挑战生态建设更难— 有些开发者因为AGPL而犹豫需要更多文档— 帮助企业理解AGPL的实际影响插件生态需要特殊设计— 确保插件开发者不受AGPL约束需要维护双授权体系— AGPL 商业授权并行总结AGPLv3是我们经过深思熟虑的选择。它不是最流行的许可证但对我们来说是最合适的——它保护了社区贡献者的利益防止了云厂商的白嫖行为同时通过商业授权为企业用户提供了灵活的选择。开源不只是开放源代码还包括对生态的长期负责。GitHubgithub.com/chaitin/MonkeyCode许可证github.com/chaitin/MonkeyCode/blob/main/LICENSE

相关新闻