Линус Торвалдс ги објасни проблемите со имплементацијата на ZFS за Linux кернелот

За време на дискусијата тестови распоредувач на задачи, еден од учесниците во дискусијата даде пример дека и покрај изјавите за потребата да се одржи компатибилноста при развивање на кернелот на Линукс, неодамнешните промени во кернелот го нарушија правилното функционирање на модулот "ZFS на Linux“. Линус Торвалдс одговоренодека принципот "не крши корисници" се однесува на зачувување на надворешните интерфејси на кернелот што ги користат апликациите за кориснички простор, како и на самиот кернел. Но, тој не опфаќа посебно развиени додатоци од трета страна над кернелот кои не се прифатени во главниот состав на кернелот, чии автори мора да ги следат промените во кернелот на сопствена опасност и ризик.

Што се однесува до проектот ZFS на Linux, Линус не препорача користење на модулот zfs поради некомпатибилноста на лиценците CDDL и GPLv2. Ситуацијата е дека поради политиката за лиценцирање на Oracle, шансите ZFS некогаш да може да влезе во главното јадро се многу мали. Слоевите предложени да се заобиколи некомпатибилноста на лиценцирањето, што го преведува пристапот до функциите на кернелот во надворешен код, се сомнително решение - продолжуваат адвокатите расправаат за тоа дали реекспортирањето на кернелот на GPL преку обвивки резултира со создавање на изведена работа што мора да се дистрибуира според GPL.

Единствената опција во која Линус би се согласил да го прифати кодот ZFS во главното јадро е да добие официјална дозвола од Oracle, заверена од главниот адвокат, или уште подобро, самиот Лери Елисон. Средните решенија, како што се слоевите помеѓу кернелот и кодот ZFS, не се дозволени, со оглед на агресивната политика на Oracle во однос на интелектуалната сопственост на програмските интерфејси (на пример, судење со Google во врска со Java API). Покрај тоа, Линус ја смета желбата да се користи ZFS само за почит кон модата, а не технички предности. Реперите што ги испита Линус не го поддржуваат ZFS, а недостатокот на целосна поддршка не гарантира долгорочна стабилност.

Да ве потсетиме дека ZFS-кодот се дистрибуира под бесплатна CDDL лиценца, која е некомпатибилна со GPLv2, што не дозволува ZFS на Linux да се интегрира во главната гранка на Linux кернелот, бидејќи кодот се меша под лиценците GPLv2 и CDDL е неприфатливо. За да се заобиколи оваа некомпатибилност на лиценцирање, проектот ZFS на Linux одлучи да го дистрибуира целиот производ под лиценца CDDL во форма на посебно вчитан модул кој се снабдува одделно од кернелот.

Можноста за дистрибуција на готов ZFS модул како дел од комплетите за дистрибуција е контроверзна меѓу адвокатите. Адвокати од Заштита на слободата на софтверот (SFC) сметаатдека испораката на бинарен модул на јадрото во дистрибуцијата формира производ комбиниран со GPL со барање добиената работа да биде дистрибуирана според GPL. Канонски адвокати не се согласуваат и наведете дека испораката на zfs модул е ​​прифатлива ако компонентата се испорачува како самостоен модул, одвоен од пакетот на јадрото. Canonical забележува дека дистрибуциите долго време користат сличен пристап за снабдување на сопственички драјвери, како што се драјверите за NVIDIA.

Другата страна се спротивставува дека проблемот со компатибилноста на кернелот во комерцијалните драјвери е решен со снабдување на мал слој дистрибуиран под лиценцата GPL (модул под лиценцата GPL е вчитан во кернелот, кој веќе вчитува сопственички компоненти). За ZFS, таков слој може да се подготви само ако се обезбедени исклучоци од лиценца од Oracle. Во Oracle Linux, некомпатибилноста со GPL се решава со тоа што Oracle обезбедува исклучок за лиценца што го отстранува условот за лиценцирање комбинирана работа според CDDL, но овој исклучок не важи за други дистрибуции.

Резолуција е да се доставува само изворниот код на модулот во дистрибуцијата, што не води до здружување и се смета како испорака на два посебни производи. Во Debian, за ова се користи системот DKMS (Dynamic Kernel Module Support), во кој модулот се испорачува во изворен код и се составува на системот на корисникот веднаш по инсталирањето на пакетот.

Извор: opennet.ru

Додадете коментар