Linus Torvalds wyjaśnił, jakie są problemy z realizacją ZFS w jądrze Linuxa.

W trakcie dyskusji testów planowania zadań, jeden z uczestników dyskusji przytoczył przykład tego, że pomimo deklaracji o konieczności zachowania zgodności przy opracowywaniu jądra Linux, ostatnie zmiany w jądrze zakłóciły poprawne działanie modułu „ZFS na Linuksie“. Linus Torvalds odpowiedział, że zasada „nie psuć użytkownikówdotyczy zachowania zewnętrznych interfejsów jądra, używanych przez aplikacje w przestrzeni użytkownika oraz samego jądra. Nie obejmuje to jednak osobno rozwijanych zewnętrznych nakładek nad jądrem, które nie zostały przyjęte do głównego składu jądra, a których autorzy na własne ryzyko muszą sami śledzić zmiany w jądrze.

Jeśli chodzi o projekt „ZFS na Linuxie”, to Linus nie zalecał korzystania z modułu zfs z powodu niezgodności licencji CDDL i GPLv2. Sytuacja jest taka, że z powodu polityki licencyjnej firmy Oracle szanse na to, że ZFS kiedykolwiek wejdzie do głównego składu jądra, są bardzo małe. Proponowane do obejścia niezgodności licencyjnej warstwy, które tłumaczą dostęp do funkcji jądra dla zewnętrznego kodu, są wątpliwym rozwiązaniem — prawnicy nadal dyskutują o tym, czy reekspozycja funkcji GPL jądra przez nakładki prowadzi do powstania pracy pochodnej, która musi być dostarczana na licencji GPL.

Jedyną możliwością, w której Linus zgodziłby się przyjąć kod ZFS do głównego jądra, jest uzyskanie od firmy Oracle oficjalnego zezwolenia, poświadczonego przez głównego prawnika, a lepiej przez samego Larry'ego Ellisona. Pośrednie rozwiązania, takie jak warstwy między jądrem a kodem ZFS, są niedopuszczalne, mając na uwadze agresywną politykę Oracle w zakresie własności intelektualnej dotyczącej interfejsów programistycznych (jako przykład, spór z Google w sprawie Java API). Ponadto, Linus uważa, że dążenie do użycia ZFS jest tylko chwilową modą, a nie techniczną zaletą. Testy wydajności, które badał Linus, nie świadczą na korzyść ZFS, a brak pełnego wsparcia nie gwarantuje stabilności w dłuższej perspektywie.

Przypomnijmy, że kod ZFS jest udostępniany na zasadach wolnej licencji CDDL, która jest niekompatybilna z GPLv2, co uniemożliwia integrację ZFS na Linuksie w głównym wątku jądra Linux, ponieważ mieszanie kodu objętego licencjami GPLv2 i CDDL jest niedopuszczalne. W celu obejścia tej niekompatybilności licencyjnej, projekt „ZFS na Linuksie” postanowił udostępniać produkt w całości na warunkach licencji CDDL w formie osobno ładowanego modułu, który dostarczany jest oddzielnie od jądra.

Możliwość rozpowszechniania gotowego modułu ZFS w składzie dystrybucji budzi kontrowersje wśród prawników. Prawnicy organizacji Software Freedom Conservancy (SFC) uważają, twierdzą, że dostarczenie binarnego modułu jądra w dystrybucji tworzy połączenie z produktem GPL z wymogiem rozpowszechniania końcowej pracy na zasadach GPL. Prawnicy firmy Canonical nie zgadzają się twierdzą, że dostarczenie modułu zfs jest dopuszczalne, jeśli komponent dostarczany jest w formie samodzielnego modułu, oddzielnie od pakietu z jądrem. Canonical zauważa, że dystrybucje od dawna stosują takie podejście do dostarczania własnościowych sterowników, takich jak sterowniki NVIDIA.

Druga strona argumentuje, że problem zgodności z jądrem w własnościowych sterownikach rozwiązywany jest poprzez dostarczanie niewielkiej warstwy, rozpowszechnianej na zasadach GPL (do jądra ładowany jest moduł na licencji GPL, który następnie ładowuje komponenty zamknięte). Dla ZFS podobną warstwę można przygotować tylko w przypadku udzielenia wyjątków licencyjnych przez firmę Oracle. W Oracle Linux niekompatybilność z GPL jest rozwiązywana poprzez udostępnienie przez firmę Oracle wyjątku licencyjnego, który znosi wymaganie dotyczące licencjonowania połączonego działania na warunkach CDDL, ale ten wyjątek nie obowiązuje dla innych dystrybucji.

Obejściem jest dostarczenie w dystrybucji jedynie kodów źródłowych modułu, co nie prowadzi do powiązania i jest traktowane jako dostarczenie dwóch odrębnych produktów. W Debianie wykorzystuje się do tego system DKMS (Dynamic Kernel Module Support), w ramach którego moduł dostarczany jest w formie kodów źródłowych i kompilowany na systemie użytkownika, bezpośrednio po zainstalowaniu pakietu.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster