讨论过程中
对于Linux上的ZFS项目,由于CDDL和GPLv2许可证不兼容,Linus不建议使用zfs模块。 情况是,由于 Oracle 的许可政策,ZFS 能够进入主内核的机会非常小。 提议绕过许可不兼容性的层,将对内核功能的访问转换为外部代码,是一个可疑的解决方案 - 律师继续
Linus 同意接受 ZFS 代码进入主内核的唯一选择是获得 Oracle 的官方许可,并由主要律师或更好的是 Larry Ellison 本人认证。 鉴于 Oracle 关于编程接口知识产权的积极政策(例如,
让我们提醒您,ZFS 代码是在免费的 CDDL 许可证下分发的,该许可证与 GPLv2 不兼容,不允许 Linux 上的 ZFS 集成到 Linux 内核的主分支中,因为在 GPLv2 和 CDDL 许可证下混合代码是不可接受的。 为了避免这种许可不兼容性,ZFS on Linux 项目决定在 CDDL 许可下以与内核分开提供的单独加载模块的形式分发整个产品。
将现成的 ZFS 模块作为分发工具包的一部分进行分发的可能性在律师中存在争议。 软件自由保护协会 (SFC) 的律师
另一方反驳说,专有驱动程序中的内核兼容性问题是通过提供一个在 GPL 许可证下分发的小层来解决的(GPL 许可证下的模块被加载到内核中,内核已经加载了专有组件)。 对于 ZFS,只有在 Oracle 提供许可例外的情况下才能准备这样的层。 在 Oracle Linux 中,通过 Oracle 提供许可例外解决了与 GPL 的不兼容性,该例外消除了在 CDDL 下许可组合作品的要求,但此例外不适用于其他发行版。
解决方法是仅提供发行版中模块的源代码,这不会导致捆绑,并被视为交付两个单独的产品。 在 Debian 中,DKMS(动态内核模块支持)系统用于此目的,其中模块以源代码形式提供,并在安装软件包后立即在用户系统上组装。
来源: opennet.ru