Linus Torvalds je pojasnil težave pri implementaciji ZFS za jedro Linuxa

Med razpravo preskusi načrtovalnik opravil, je eden od udeležencev razprave navedel primer, da so kljub izjavam o potrebi po ohranjanju združljivosti pri razvoju jedra Linuxa nedavne spremembe v jedru motile pravilno delovanje modula "ZFS v Linuxu". Linus Torvalds odgovorilda je načelo "ne zlomi uporabniki" se nanaša na ohranjanje zunanjih vmesnikov jedra, ki jih uporabljajo aplikacije uporabniškega prostora, kot tudi samega jedra. Vendar ne zajema ločeno razvitih dodatkov tretjih oseb nad jedrom, ki niso sprejeti v glavno sestavo jedra, katerih avtorji morajo spremljati spremembe v jedru na lastno odgovornost in tveganje.

Kar zadeva projekt ZFS on Linux, Linus ni priporočil uporabe modula zfs zaradi nezdružljivosti licenc CDDL in GPLv2. Situacija je taka, da so zaradi Oraclove licenčne politike možnosti, da bo ZFS kdaj lahko vstopil v glavno jedro, zelo majhne. Plasti, predlagane za izogibanje nezdružljivosti licenc, ki prevajajo dostop do funkcij jedra v zunanjo kodo, so dvomljiva rešitev - nadaljujejo odvetniki trditi o tem, ali ponovni izvoz funkcij jedra GPL prek ovojov povzroči ustvarjanje izpeljanega dela, ki ga je treba distribuirati pod GPL.

Edina možnost, pri kateri bi se Linus strinjal, da sprejme kodo ZFS v glavno jedro, je pridobitev uradnega dovoljenja Oracla, ki ga potrdi glavni odvetnik ali še bolje, sam Larry Ellison. Vmesne rešitve, kot so plasti med jedrom in kodo ZFS, niso dovoljene glede na Oraclovo agresivno politiko glede intelektualne lastnine programskih vmesnikov (npr. sojenje z Googlom glede Java API). Poleg tega Linus meni, da je želja po uporabi ZFS le poklon modi in ne tehničnim prednostim. Merila, ki jih je preučil Linus, ne podpirajo ZFS in pomanjkanje popolne podpore ne zagotavlja dolgoročne stabilnosti.

Naj vas spomnimo, da se koda ZFS distribuira pod brezplačno licenco CDDL, ki ni združljiva z GPLv2, kar ne omogoča integracije ZFS v Linuxu v glavno vejo jedra Linuxa, saj mešanje kode pod licencama GPLv2 in CDDL je nesprejemljivo. Da bi se izognili tej nezdružljivosti licenciranja, se je projekt ZFS on Linux odločil za distribucijo celotnega izdelka pod licenco CDDL v obliki ločeno naloženega modula, ki je dobavljen ločeno od jedra.

Možnost distribucije že pripravljenega modula ZFS kot del distribucijskih kompletov je med pravniki sporna. Odvetniki iz organizacije Software Freedom Conservancy (SFC) upoštevajteda dostava modula binarnega jedra v distribuciji tvori izdelek v kombinaciji z GPL z zahtevo, da se nastalo delo distribuira pod GPL. Kanonični pravniki se ne strinjam in navaja, da je dostava modula zfs sprejemljiva, če je komponenta dobavljena kot samostojen modul, ločen od paketa jedra. Canonical ugotavlja, da distribucije že dolgo uporabljajo podoben pristop za dobavo lastniških gonilnikov, kot so gonilniki NVIDIA.

Druga stran odgovarja, da je problem združljivosti jedra v lastniških gonilnikih rešen z dobavo majhne plasti, distribuirane pod licenco GPL (modul pod licenco GPL se naloži v jedro, ki že naloži lastniške komponente). Za ZFS je takšno plast mogoče pripraviti le, če Oracle zagotovi izjeme licence. V Oracle Linux je nezdružljivost z GPL rešena tako, da Oracle zagotovi izjemo licence, ki odstrani zahtevo po licenciranju kombiniranega dela pod CDDL, vendar ta izjema ne velja za druge distribucije.

Rešitev je dobava samo izvorne kode modula v distribuciji, kar ne vodi do povezovanja in se šteje kot dobava dveh ločenih izdelkov. V Debianu se za to uporablja sistem DKMS (Dynamic Kernel Module Support), pri katerem je modul dobavljen v izvorni kodi in sestavljen v uporabnikovem sistemu takoj po namestitvi paketa.

Vir: opennet.ru

Dodaj komentar