Podczas dyskusji
Jeśli chodzi o projekt ZFS na Linuksie, Linus nie zalecał używania modułu zfs ze względu na niezgodność licencji CDDL i GPLv2. Sytuacja jest taka, że ze względu na politykę licencyjną Oracle szanse, że ZFS kiedykolwiek uda się wejść do głównego jądra, są bardzo małe. Warstwy proponowane w celu ominięcia niezgodności licencyjnych, które przekładają dostęp do funkcji jądra na kod zewnętrzny, są wątpliwym rozwiązaniem – kontynuują prawnicy
Jedyną opcją, w której Linus zgodziłby się na przyjęcie kodu ZFS do głównego jądra, jest uzyskanie oficjalnej zgody Oracle, poświadczonej przez głównego prawnika, lub jeszcze lepiej, samego Larry'ego Ellisona. Rozwiązania pośrednie, takie jak warstwy pomiędzy jądrem a kodem ZFS, są niedozwolone ze względu na agresywną politykę Oracle dotyczącą własności intelektualnej interfejsów programistycznych (np.
Przypomnijmy, że kod ZFS jest rozpowszechniany na bezpłatnej licencji CDDL, która jest niezgodna z GPLv2, co nie pozwala na integrację ZFS na Linuksie z główną gałęzią jądra Linuksa, ponieważ mieszanie kodu na licencjach GPLv2 i CDDL jest niedopuszczalne. Aby ominąć tę niezgodność licencyjną, projekt ZFS na Linuksie zdecydował się na dystrybucję całego produktu na licencji CDDL w postaci oddzielnie ładowanego modułu, który jest dostarczany oddzielnie od jądra.
Możliwość dystrybucji gotowego modułu ZFS w ramach zestawów dystrybucyjnych budzi wśród prawników kontrowersje. Prawnicy z organizacji Software Freedom Conservancy (SFC)
Druga strona zaprzecza, że problem kompatybilności jądra z zastrzeżonymi sterownikami rozwiązuje się poprzez dostarczenie małej warstwy dystrybuowanej na licencji GPL (do jądra ładowany jest moduł z licencji GPL, który ładuje już zastrzeżone komponenty). W przypadku ZFS taką warstwę można przygotować tylko pod warunkiem dostarczenia wyjątków licencyjnych od Oracle. W systemie Oracle Linux niezgodność z licencją GPL jest rozwiązywana przez firmę Oracle, zapewniając wyjątek licencyjny, który usuwa wymóg licencjonowania łączonych prac w ramach CDDL, ale wyjątek ten nie ma zastosowania do innych dystrybucji.
Rozwiązaniem jest dostarczenie w dystrybucji jedynie kodu źródłowego modułu, co nie prowadzi do łączenia i jest uznawane za dostawę dwóch oddzielnych produktów. W Debianie wykorzystuje się do tego system DKMS (Dynamic Kernel Module Support), w którym moduł jest dostarczany w kodzie źródłowym i montowany w systemie użytkownika natychmiast po zainstalowaniu pakietu.
Źródło: opennet.ru