Linus Torvalds 解释了 ZFS 内核实现中存在的问题。 Linux

讨论过程中 测试 在讨论任务调度器时,一位参与者举例说明了尽管有关于在内核开发过程中保持兼容性的声明,但实际情况并非如此。 Linux内核最近的更改破坏了模块的正常运行。ZFS 在 Linux”。 莱纳斯·托瓦尔兹 回答即原则“不要打破 用户“是指保留用户空间应用程序使用的外部内核接口以及内核本身。 但它不包括在内核上单独开发的第三方附加组件,这些附加组件不被接受为内核的主要组成部分,其作者必须自行承担风险和风险来监视内核中的更改。

关于“ZFS on”项目 LinuxLinus 不鼓励使用 zfs 模块,因为 CDDL 和 GPLv2 许可证不兼容。鉴于 Oracle 的许可政策,ZFS 被集成到内核核心的可能性微乎其微。律师们继续指出,目前提出的通过中间层向外部代码提供内核函数访问权限的解决方案值得商榷。 争论 关于通过包装器重新导出 GPL 内核函数是否会导致创建必须在 GPL 下分发的衍生作品。

Linus 同意接受 ZFS 代码进入主内核的唯一选择是获得 Oracle 的官方许可,并由主要律师或更好的是 Larry Ellison 本人认证。 鉴于 Oracle 关于编程接口知识产权的积极政策(例如, 审判 与 Google 有关 Java API 的信息)。 此外,Linus 认为使用 ZFS 的愿望只是对时尚的致敬,而不是技术优势。 Linus 检查的基准测试不支持 ZFS,缺乏全面支持并不能保证长期稳定性。

提醒一下,ZFS 代码是根据免费的 CDDL 许可证分发的,该许可证与 GPLv2 不兼容,这导致 ZFS 无法集成到…… Linux 进入主内核分支 Linux由于混合使用 GPLv2 和 CDDL 许可证下的代码是不可接受的,因此,为了规避这种许可证不兼容问题,我们提出了“ZFS on”方案。 Linux“我们决定将该产品完全按照 CDDL 许可证分发,作为一个可单独下载的模块,与内核分开提供。”

将现成的 ZFS 模块作为分发工具包的一部分进行分发的可能性在律师中存在争议。 软件自由保护协会 (SFC) 的律师 考虑发行版中二进制内核模块的交付形成了与 GPL 相结合的产品,并要求最终的工作在 GPL 下发行。 规范律师 不同意 并声明如果该组件作为独立于内核包的独立模块提供,则 zfs 模块的交付是可以接受的。 Canonical 指出,发行版长期以来一直使用类似的方法来提供专有驱动程序,例如 NVIDIA 驱动程序。

另一方则反驳说,通过提供一个小型的、采用 GPL 许可的中间程序(将一个采用 GPL 许可的模块加载到内核中,然后由内核加载专有组件),可以解决内核与专有驱动程序的兼容性问题。对于 ZFS 文件系统,只有在 Oracle 授予许可豁免的情况下,才能开发这样的中间程序。 Oracle Linux Oracle 通过提供许可例外解决了 GPL 不兼容问题,取消了根据 CDDL 对组合作品进行许可的要求,但此例外不适用于其他发行版。

一种变通方法是只分发模块的源代码,这样就不会产生链接,而是被视为交付两个独立的产品。 Debian 为此,我们使用了 DKMS(动态内核模块支持)系统,其中模块以源代码形式提供,并在安装软件包后立即在用户系统上进行编译。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster