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