Linus Torvalds je objasnio probleme sa implementacijom ZFS-a za Linux kernel

Tokom diskusije testovi planer zadataka, jedan od učesnika diskusije dao je primjer da su, uprkos izjavama o potrebi održavanja kompatibilnosti prilikom razvoja Linux kernela, nedavne promjene u kernelu poremetile ispravan rad modula "ZFS na Linuxu". Linus Torvalds odgovorioda je princip "ne slomiti korisnici" odnosi se na očuvanje vanjskih sučelja kernela koje koriste aplikacije korisničkog prostora, kao i samog kernela. Ali ne pokriva posebno razvijene dodatke treće strane preko kernela koji nisu prihvaćeni u glavni sastav kernela, čiji autori moraju pratiti promjene u kernelu na vlastitu odgovornost i rizik.

Što se tiče projekta ZFS na Linuxu, Linus nije preporučio korištenje zfs modula zbog nekompatibilnosti CDDL i GPLv2 licenci. Situacija je da su zbog Oracle-ove politike licenciranja šanse da će ZFS ikada moći ući u glavno jezgro vrlo male. Slojevi predloženi za zaobilaženje nekompatibilnosti licenciranja, koji prevode pristup funkcijama kernela u vanjski kod, sumnjivo su rješenje - nastavljaju pravnici rasprava o tome da li ponovni izvoz GPL funkcija kernela kroz omote rezultira stvaranjem izvedenog djela koje se mora distribuirati pod GPL-om.

Jedina opcija u kojoj bi Linus pristao da prihvati ZFS kod u glavno jezgro je da dobije službenu dozvolu od Oraclea, ovjerenu od strane glavnog pravnika, ili još bolje, samog Larry Ellisona. Srednja rješenja, kao što su slojevi između kernela i ZFS koda, nisu dozvoljena, s obzirom na Oracleovu agresivnu politiku u pogledu intelektualnog vlasništva programskih interfejsa (na primjer, suđenje sa Googleom u vezi sa Java API-jem). Osim toga, Linus smatra želju za korištenjem ZFS-a samo priznanjem modi, a ne tehničkim prednostima. Merila koja je Linus ispitao ne podržavaju ZFS, a nedostatak pune podrške ne garantuje dugoročnu stabilnost.

Podsjetimo, ZFS kod se distribuira pod besplatnom CDDL licencom, koja nije kompatibilna sa GPLv2, što ne dozvoljava da se ZFS na Linuxu integriše u glavnu granu Linux kernela, budući da se miješa kod pod GPLv2 i CDDL licencama je neprihvatljivo. Da bi se zaobišla ova nekompatibilnost licenciranja, ZFS on Linux projekat je odlučio distribuirati cijeli proizvod pod CDDL licencom u obliku posebno učitanog modula koji se isporučuje odvojeno od kernela.

Mogućnost distribucije gotovog ZFS modula kao dijela distributivnih kompleta je kontroverzna među pravnicima. Advokati iz Software Freedom Conservancy (SFC) uzeti u obzirda isporuka modula binarnog kernela u distribuciji čini proizvod u kombinaciji sa GPL-om sa zahtjevom da se rezultirajući rad distribuira pod GPL-om. Canonical Lawyers ne slažem se i navode da je isporuka zfs modula prihvatljiva ako se komponenta isporučuje kao samostalni modul, odvojen od paketa kernela. Canonical napominje da su distribucije dugo koristile sličan pristup nabavci vlasničkih drajvera, kao što su NVIDIA drajveri.

Druga strana tvrdi da je problem kompatibilnosti kernela u vlasničkim drajverima riješen isporukom malog sloja distribuiranog pod GPL licencom (modul pod GPL licencom se učitava u kernel, koji već učitava vlasničke komponente). Za ZFS, takav sloj se može pripremiti samo ako su izuzeci licence obezbeđeni od Oraclea. U Oracle Linuxu, nekompatibilnost s GPL-om rješava se tako što Oracle daje licencni izuzetak koji uklanja zahtjev za licenciranje kombiniranog rada pod CDDL-om, ali ovaj izuzetak se ne primjenjuje na druge distribucije.

Zaobilazno rješenje je isporuka samo izvornog koda modula u distribuciji, što ne dovodi do povezivanja i smatra se isporukom dva odvojena proizvoda. U Debianu se za to koristi sustav DKMS (Dynamic Kernel Module Support) u kojem se modul isporučuje u izvornom kodu i sastavlja na korisnikov sustav odmah nakon instaliranja paketa.

izvor: opennet.ru

Dodajte komentar