Linus Torvalds selgitas probleeme ZFS-i juurutamisel Linuxi kerneli jaoks

Arutelu ajal testid ülesannete planeerija, tõi üks arutelus osalejatest näite, et vaatamata väidetele, et Linuxi kerneli arendamisel on vaja säilitada ühilduvus, häirisid hiljutised muudatused kernelis mooduli õiget tööd "ZFS Linuxis". Linus Torvalds vastaset põhimõte"ära murda kasutajad" viitab nii kasutajaruumi rakenduste kasutatavate väliste kerneli liideste kui ka tuuma enda säilitamisele. Kuid see ei hõlma kerneli kaudu eraldi välja töötatud kolmanda osapoole lisandmooduleid, mida ei aktsepteerita tuuma põhikoostisesse ja mille autorid peavad jälgima kerneli muutusi omal ohul ja riisikol.

Mis puutub projekti ZFS on Linux, siis Linus ei soovitanud CDDL-i ja GPLv2 litsentside kokkusobimatuse tõttu zfs-moodulit kasutada. Olukord on selline, et Oracle'i litsentsipoliitika tõttu on tõenäosus, et ZFS kunagi põhikernelisse siseneb, väga väike. Litsentsi ühildumatusest möödahiilimiseks pakutud kihid, mis muudavad juurdepääsu kerneli funktsioonidele väliseks koodiks, on kahtlane lahendus – juristid jätkavad vaidlema selle kohta, kas GPL-i kerneli funktsioonide uuesti eksportimine ümbriste kaudu toob kaasa tuletatud teose loomise, mida tuleb GPL-i all levitada.

Ainus võimalus, mille puhul Linus nõustuks ZFS-koodi põhikernelisse vastu võtma, on hankida Oracle'ilt ametlik luba, mille on kinnitanud peamine advokaat või veel parem, Larry Ellison ise. Vahelahendused, nagu kerneli ja ZFS-koodi vahelised kihid, ei ole lubatud, arvestades Oracle'i agressiivset poliitikat programmeerimisliideste intellektuaalomandi suhtes (näiteks kohtuprotsess Google'iga seoses Java API-ga). Lisaks peab Linus soovi kasutada ZFS-i ainult austusavalduseks moele, mitte tehnilistele eelistele. Linuse uuritud kriteeriumid ei toeta ZFS-i ja täieliku toe puudumine ei taga pikaajalist stabiilsust.

Tuletame meelde, et ZFS-koodi levitatakse tasuta CDDL-litsentsi alusel, mis ei ühildu GPLv2-ga, mis ei võimalda Linuxi ZFS-i integreerida Linuxi tuuma põhiharusse, kuna koodi segatakse GPLv2- ja CDDL-litsentside all. on vastuvõetamatu. Sellest litsentsimise kokkusobimatusest möödahiilimiseks otsustas ZFS Linuxi projekt levitada kogu toodet CDDL-litsentsi alusel eraldi laaditud moodulina, mis tarnitakse kernelist eraldi.

Võimalus levitada valmis ZFS-moodulit levikomplektide osana on juristide seas vastuoluline. Software Freedom Conservancy (SFC) juristid arvestamaet binaarse kerneli mooduli tarnimine levitamisel moodustab toote, mis on kombineeritud GPL-iga koos nõudega, et saadud tööd levitatakse GPL-i alusel. Kanoonilised juristid ei nõustu ja teatage, et zfs-mooduli tarnimine on vastuvõetav, kui komponent tarnitakse iseseisva moodulina, mis on kerneli paketist eraldiseisev. Canonical märgib, et distributsioonid on pikka aega kasutanud sarnast lähenemist patenteeritud draiverite, näiteks NVIDIA draiverite pakkumisel.

Teine pool väidab vastu, et patenteeritud draiverite kerneli ühilduvuse probleem lahendatakse GPL-litsentsi alusel levitatava väikese kihi tarnimisega (kernelisse laaditakse GPL-litsentsi moodul, mis juba laadib patenteeritud komponente). ZFS-i jaoks saab sellise kihi ette valmistada ainult siis, kui Oracle pakub litsentsi erandeid. Oracle Linuxis lahendab GPL-iga ühildumatuse Oracle litsentsi erandiga, mis eemaldab nõude litsentsida kombineeritud tööd CDDL-i alusel, kuid see erand ei kehti muude distributsioonide puhul.

Lahenduseks on edastada levitamisel ainult mooduli lähtekood, mis ei too kaasa komplekteerimist ja seda peetakse kahe eraldi toote tarnimiseks. Debianis kasutatakse selleks DKMS (Dynamic Kernel Module Support) süsteemi, milles moodul tarnitakse lähtekoodina ja monteeritakse kasutaja süsteemi kohe pärast paketi installimist.

Allikas: opennet.ru

Lisa kommentaar