你可能没注意到,Oracle 上个月发布的 Berkeley DB 新版本 6.0/12c 已经悄悄的将许可证协议更改为 AGPL。Berkeley DB 在 2.0 版本以下使用的是 BSD 许可证,2.0 以后改用一种名为 Sleepycat Public 的许可证,该许可证类似 GPL。
Berkeley DB 6.0/12c 的改进记录请看官方发行说明,最值得关注的就是将许可证换成 AGPL。
AGPL 许可证也是一种强 copyleft 许可证,与 GPL 不同的是,AGPL 要求你修改的版本必须为所有通过计算机网络远程交互的用户提供完整源码。
这对使用 Berkeley DB 作为本地存储的 Web 开发者来说变化非常显著。因为以前只要不重新分发他们的应用,就不需要担心许可证的问题。但现在的 AGPL 条款规定应用只要接受来自网络的访问,就必须提供源码。
为了遵循 AGPL 许可证,Berkeley DB 用户必须确保他们整个应用都是 AGPL 兼容的,也就是说整个应用都必须开源,包括所有的组件,至少是 GPLv3 或者是 AGPL。
Oracle 没有给出任何关于修改许可证为 AGPL 的原因,要避免该许可证的限制,你可以考虑从 Oracle 购买商业许可。