我目前正在查看 Metro 堆栈,以寻找应该在封闭源项目中使用的漂亮 SOAP Web 服务堆栈,但我不完全理解可以在此处找到的 Metros 许可条款: glassfish.java.net - 许可
所以我的问题是:
- Java Metro 堆栈可以在闭源项目中使用吗?
- 如果是 - 如果我想保持自己的代码封闭源,我可以使用这些库做什么?
此致
我目前正在查看 Metro 堆栈,以寻找应该在封闭源项目中使用的漂亮 SOAP Web 服务堆栈,但我不完全理解可以在此处找到的 Metros 许可条款: glassfish.java.net - 许可
所以我的问题是:
此致
经过更多研究后,我发现 Netbeans 框架使用相同的结构(GPLv2 和 CDDL)获得许可,幸运的是,Netbeans 的人花时间解释了其中的原理和原因:
以下是他们对双重许可的看法:
双重许可是在两组(或更多)不同的条款和条件下分发相同软件的做法。当软件是双重许可时,接收者可以选择他们想要获得软件的条款。双重许可的两个常见动机是商业模式和许可兼容性。[...]
对有关 CDDL 的详细信息的额外搜索将我带到了这个包含一个很好的摘要的站点:
这是与我的问题相关的部分之一:
CDDL 是基于文件的许可证。这意味着如果您对 CDDL 许可软件进行任何更改,您修改的任何现有文件都需要保留在 CDDL 下,但是您创建的任何新文件都可以在您想要的任何许可下,只要该许可与CDDL。
结论(请注意,我不是律师,这不是法律建议 - 只是我根据现有信息的个人解释):
Metro 似乎可用于商业闭源项目,但对现有源的更改必须在与原始源相同的许可下提供。
因此,只要一个人只是使用库,自己的源代码就可以保持完全封闭的源代码。
至少如果选择了 CDDL。