Linus Torvalds erklĂ€rte die Probleme der ZFS-Implementierung fĂŒr den Linux-Kernel

Im Verlauf der Diskussion Tests des Task-Planers brachte einer der Diskussionsteilnehmer das Beispiel, dass trotz der Aussagen ĂŒber die Notwendigkeit, die KompatibilitĂ€t bei der Entwicklung des Linux-Kernels zu bewahren, kĂŒrzliche Änderungen am Kernel die ordnungsgemĂ€ĂŸe Funktion des Moduls „ZFS on Linux“. Linus Torvalds geantwortet, dass das Prinzip „nicht brechen Benutzer“ die Erhaltung der externen Schnittstellen des Kernels betrifft, die von Anwendungen im Benutzerspeicher verwendet werden, sowie den Kernel selbst. Aber es umfasst nicht separat entwickelte Drittanbieterschichten ĂŒber dem Kernel, die nicht in den Hauptkernel integriert sind, deren Autoren auf eigene Gefahr die Änderungen im Kernel selbst verfolgen mĂŒssen.

Was das Projekt „ZFS on Linux“ betrifft, so hat Linus die Nutzung des ZFS-Moduls aufgrund der LizenzinkompatibilitĂ€t zwischen CDDL und GPLv2 nicht empfohlen. Die Situation ist so, dass aufgrund der Lizenzpolitik von Oracle die Chancen, dass ZFS jemals in den Hauptkernel aufgenommen werden kann, sehr gering sind. Die vorgeschlagenen Schichten, die den Zugriff auf Kernel-Funktionen fĂŒr externen Code umsetzen, sind eine fragwĂŒrdige Lösung – die Juristen streiten weiterhin darĂŒber , ob die Re-Exportierung von GPL-Funktionen des Kernels durch Wrapper zur Schaffung eines abgeleiteten Werkes fĂŒhrt, das unter der GPL-Lizenz bereitgestellt werden muss.

Die einzige Möglichkeit, bei der Linus bereit wĂ€re, den ZFS-Code in den Hauptkernel aufzunehmen, besteht darin, eine offizielle Genehmigung von Oracle zu erhalten, die vom Hauptjuristen unterzeichnet ist, besser noch von Larry Ellison persönlich. Zwischenlösungen, wie etwa Schichten zwischen dem Kernel und dem ZFS-Code, sind in Anbetracht der aggressiven Politik von Oracle zur geistigen Eigentumsrechte an Software-Schnittstellen nicht akzeptabel (als Beispiel, Rechtsstreitigkeiten mit Google bezĂŒglich der Java-API). Außerdem betrachtet Linus die Bestrebungen, ZFS zu verwenden, eher als einen Trend und nicht als technische Vorteile. Die Leistungstests, die Linus untersucht hat, sprechen nicht fĂŒr ZFS, und das Fehlen einer vollstĂ€ndigen UnterstĂŒtzung garantiert keine StabilitĂ€t langfristig.

Wir erinnern daran, dass der Code ZFS unter der freien CDDL-Lizenz verbreitet wird, die mit der GPLv2 inkompatibel ist. Dies verhindert die Integration von ZFS on Linux in den Hauptzweig des Linux-Kernels, da die Vermischung von Code unter den Lizenzen GPLv2 und CDDL nicht zulÀssig ist. Um diese LizenzinkompatibilitÀt zu umgehen, hat das Projekt "ZFS on Linux" beschlossen, das Produkt vollstÀndig unter der CDDL-Lizenz als separaten, ladbaren Modul bereitzustellen, der von dem Kernel getrennt geliefert wird.

Die Möglichkeit, vorgefertigte ZFS-Module in Distributionen bereitzustellen, fĂŒhrt zu Streitigkeiten unter Juristen. Juristen der Software Freedom Conservancy (SFC) sehen das so., argumentieren, dass die Bereitstellung eines binĂ€ren Kernelmoduls in einer Distribution ein kombiniertes Produkt mit GPL darstellt, das die Verbreitung der Endarbeit unter GPL erfordert. Juristen des Unternehmens Canonical sind damit nicht einverstanden. bezeichnen dies als zulĂ€ssig, wenn die Komponente als eigenstĂ€ndiges Modul bereitgestellt wird, getrennt vom Kernel-Paket. Canonical weist darauf hin, dass Distributionen seit langem diesen Ansatz fĂŒr die Bereitstellung proprietĂ€rer Treiber wie NVIDIA-Treiber nutzen.

Die andere Seite entgegnet, dass das Problem der KompatibilitĂ€t mit dem Kernel bei proprietĂ€ren Treibern durch die Bereitstellung einer kleinen Schicht gelöst wird, die unter GPL-Lizenz steht (ein GPL-modul wird in den Kernel geladen, das dann die proprietĂ€ren Komponenten lĂ€dt). FĂŒr ZFS kann eine solche Schicht nur vorbereitet werden, wenn Lizenzausnahmen von Oracle bereitgestellt werden. In Oracle Linux wird die InkompatibilitĂ€t mit GPL durch die Bereitstellung einer Lizenzausnahme durch Oracle gelöst, die die Voraussetzung fĂŒr die Lizenzierung der kombinierten Arbeit unter CDDL aufhebt, jedoch gilt diese Ausnahme nicht fĂŒr andere Distributionen.

Ein Umgehungsmanöver ist die Bereitstellung von nur Quelltexten des Moduls in der Distribution, was nicht zu einer VerknĂŒpfung fĂŒhrt und als Bereitstellung zweier separater Produkte betrachtet wird. In Debian wird dafĂŒr das DKMS (Dynamic Kernel Module Support)-System verwendet, bei dem das Modul in Quelltextform bereitgestellt wird und auf dem System des Benutzers unmittelbar nach der Installation des Pakets kompiliert wird.

Quelle: opennet.ru

60GB SSD 8Gb DDR4