三年过去了 LLVM仍然没有完成开源许可证的更换
早在2015年,LLVM 社区就有发起对代码进行重新授权的提案,希望能从现有的 NCSA 许可证更改为 Apache 2.0 。这三年内,关于许可证更换的可行性一直备受争议。NCSA 是基于 MIT/X11 和 BSD 3 的许可证,更换许可证的目的一是降低代码贡献的门槛,鼓励更多人参与;二是提供对现有的贡献者专利保护;三是确保 LLVM 运行时库可以被其他开源和专有编译器使用。
经过探讨,他们提议采用 Apache 2.0 许可证,而且做了额外条款补充,形成了一个专门针对 LLVM 的特殊版 Apache 2.0(Apache-2.0 WITH LLVM-exception)。
—- Exceptions to the Apache 2.0 License: ——
As an exception, if, as a result of your compiling your source code, portions of this Software are embedded into an Object form of such source code, you may redistribute such embedded portions in such Object form without complying with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
In addition, if you combine or link compiled forms of this Software with software that is licensed under the GPLv2 (“Combined Software”) and if a court of competent jurisdiction determines that the patent provision (Section 3), the indemnity provision (Section 9) or other Section of the License conflicts with the conditions of the GPLv2, you may retroactively and prospectively choose to deem waived or otherwise exclude such Section(s) of the License, but only in their entirety and only with respect to the Combined Software.
—- end —
10月16日,LLVM 的长期者 Chandler Carruth 继续在邮件列表呼吁贡献者和组织填写和签署重新许可表格,也不出意外的再次有人提出反对意见。Pavan Maddamsetti 认为 Apache 2.0 会让 LLVM 不那么有用,阻止其他开源项目使用它,让许多人围绕 LLVM 技术申请专利。如果 LLVM 被重新许可,像 OpenBSD 这样的项目将不再能够包含上游变更,因为专利终止条款限制了用户的权利。
Please do not agree to relicense LLVM under the Apache 2 license. It will make LLVM less useful, prevent other open source projects from using it,and encourage the proliferation of software patents on LLVM technologies.
If LLVM is relicensed, projects like OpenBSD will no longer be able to include upstream changes, because the patent termination clause restricts users’ rights. Even if you do not use OpenBSD, you almost certainly use OpenSSH, OpenBSD’s SSH implementation. If the project loses the ability to include a recent compiler, many people will suffer the consequences.