По време на дискусията планировщика задач, один из участников дискуссии привёл пример того, что несмотря на заявления о необходимости сохранения совместимости при разработке ядра Linux, недавние изменения в ядре нарушили корректную работу модуля «". Линус Торвалдс че принципът " " се отнася до запазване на външните интерфейси на ядрото, използвани от приложенията на потребителското пространство, както и на самото ядро. Но то не обхваща отделно разработени добавки на трети страни върху ядрото, които не са приети в основния състав на ядрото, чиито автори трябва да наблюдават промените в ядрото на своя отговорност и риск.
Что касается проекта «ZFS on Linux», то Линус не рекомендовал пользоваться модулем zfs из-за несовместимости лицензий CDDL и GPLv2. Ситуация такова, что из-за лицензионной политики компании Oracle шансы, что ZFS когда-нибудь сможет войти в основной состав ядра очень малы. Предлагаемые для обхода лицензионной несовместимости прослойки, транслирующие доступ к функциям ядра для внешнего кода, являются сомнительным решением — юристы продолжают за това дали повторното експортиране на GPL функции на ядрото чрез обвивки води до създаване на производна работа, която трябва да се разпространява под GPL.
Единственият вариант, при който Линус би се съгласил да приеме ZFS кода в основното ядро, е да получи официално разрешение от Oracle, заверено от главния адвокат или още по-добре от самия Лари Елисън. Междинни решения, като слоеве между ядрото и ZFS кода, не са разрешени, като се има предвид агресивната политика на Oracle по отношение на интелектуалната собственост на програмните интерфейси (например, с Google относно Java API). В допълнение, Линус смята желанието да използва ZFS само за почит към модата, а не за технически предимства. Бенчмарковете, които Linus провери, не поддържат ZFS и липсата на пълна поддръжка не гарантира дългосрочна стабилност.
Напомним, что код ZFS распространяется под свободной лицензией CDDL, которая несовместима с GPLv2, что не позволяет добиться интеграции ZFS on Linux в состав основной ветки ядра Linux, так как смешивание кода под лицензиями GPLv2 и CDDL недопустимо. Для обхода данной лицензионной несовместимости проектом «ZFS on Linux» было решено распространять продукт целиком под лицензией CDDL в виде отдельно загружаемого модуля, который поставляется отдельно от ядра.
Възможността за разпространение на готов ZFS модул като част от комплекти за разпространение е спорна сред юристите. Юристи от Software Freedom Conservancy (SFC) че доставката на двоичен модул на ядрото в дистрибуцията представлява продукт, комбиниран с GPL с изискването получената работа да се разпространява под GPL. Канонични адвокати и посочва, че доставката на zfs модул е приемлива, ако компонентът се доставя като самостоятелен модул, отделен от пакета на ядрото. Canonical отбелязва, че дистрибуциите отдавна използват подобен подход за предоставяне на собствени драйвери, като драйвери на NVIDIA.
Другая сторона парирует, что проблема совместимости с ядром в проприетарных драйверах решается поставкой небольшой прослойки, распространяемой под лицензией GPL (в ядро грузится модуль под лицензией GPL, который уже загружает проприетарные компоненты). Для ZFS подобную прослойку можно подготовить только в случае предоставления лицензионных исключений от компании Oracle. В Oracle Linux несовместимость с GPL решается подоставлением компанией Oracle лицензионного исключения, снимающего требование по лицензированию комбинированной работы под CDDL, но это исключение не действует для других дистрибутивов.
Обходным манёвром является поставка в дистрибутиве только исходных текстов модуля, которая не приводит к связыванию и рассматривается как поставка двух отдельных продуктов. В Debian для этого задействована система DKMS (Dynamic Kernel Module Support), при которой модуль поставляется в исходных текстах и собирается на системе пользователя, непосредственно после установки пакета.
Източник: opennet.ru
