Линус Торвальдс Linux ядросы үшін ZFS енгізу проблемаларын түсіндірді

Талқылау барысында тесттер тапсырмаларды жоспарлаушы, талқылауға қатысушылардың бірі мысал келтірді: Linux ядросын жасау кезінде үйлесімділікті сақтау қажеттілігі туралы мәлімдемелерге қарамастан, ядродағы соңғы өзгерістер модульдің дұрыс жұмысын бұзды »Linux-тағы ZFS«. Линус Торвальдс жауап бердібұл принцип»сындырмаңыз пайдаланушылар" пайдаланушы кеңістігі қолданбалары пайдаланатын сыртқы ядро ​​интерфейстерін, сондай-ақ ядроның өзін сақтауды білдіреді. Бірақ ол ядроның негізгі құрамына қабылданбаған, ядроның үстінен бөлек әзірленген үшінші тарап қондырмаларын қамтымайды, олардың авторлары ядродағы өзгерістерді өз қауіптері мен тәуекелдеріне қарай бақылауы керек.

ZFS on Linux жобасына келетін болсақ, Linus CDDL және GPLv2 лицензияларының үйлеспеуіне байланысты zfs модулін пайдалануды ұсынбады. Жағдай мынада: Oracle лицензиялау саясатына байланысты ZFS-тің негізгі ядроға кіру мүмкіндігі өте аз. Ядро функцияларына қолжетімділікті сыртқы кодқа аударатын лицензиялық сәйкессіздікті айналып өту үшін ұсынылған қабаттар күмәнді шешім болып табылады - заңгерлер жалғастыруда дауласу GPL ядросының функцияларын орауыштар арқылы қайта экспорттау GPL бойынша таратылуы тиіс туынды жұмысты жасауға әкелетіні туралы.

Linus ZFS кодын негізгі ядроға қабылдауға келісетін жалғыз нұсқа - негізгі заңгер куәландырған Oracle-дан ресми рұқсат алу немесе жақсырақ, Ларри Эллисонның өзі. Бағдарламалау интерфейстерінің зияткерлік меншікке қатысты Oracle агрессивті саясатын ескере отырып, ядро ​​мен ZFS коды арасындағы қабаттар сияқты аралық шешімдерге рұқсат етілмейді (мысалы, сот Java API қатысты Google-мен). Сонымен қатар, Линус ZFS-ті қолдануды техникалық артықшылықтар емес, сәнге деген құрмет деп санайды. Линус зерттеген көрсеткіштер ZFS-ті қолдамайды және толық қолдаудың болмауы ұзақ мерзімді тұрақтылыққа кепілдік бермейді.

Естеріңізге сала кетейік, ZFS коды тегін CDDL лицензиясы бойынша таратылады, ол GPLv2-мен үйлеспейді, бұл Linux жүйесіндегі ZFS-ті Linux ядросының негізгі тармағына біріктіруге мүмкіндік бермейді, өйткені GPLv2 және CDDL лицензиялары бойынша код араласады. қабылданбайды. Лицензиялаудың осы сәйкессіздігін айналып өту үшін ZFS on Linux жобасы бүкіл өнімді CDDL лицензиясы бойынша ядродан бөлек жеткізілетін бөлек жүктелген модуль түрінде таратуды шешті.

Дайын ZFS модулін тарату жинақтарының бөлігі ретінде тарату мүмкіндігі заңгерлер арасында даулы. Software Freedom Conservancy (SFC) заңгерлері қарастырыңызтаратуда екілік ядро ​​модулін жеткізу нәтижесінде алынған жұмыс GPL бойынша таратылу талабымен GPL біріктірілген өнімді құрайды. Канондық заңгерлер келіспеймін және егер құрамдас ядро ​​бумасынан бөлек дербес модуль ретінде жеткізілсе, zfs модулін жеткізу қолайлы екенін көрсетіңіз. Canonical дистрибутивтер NVIDIA драйверлері сияқты меншікті драйверлерді жеткізу үшін ұқсас тәсілді бұрыннан қолданғанын атап өтеді.

Екінші тарап меншікті драйверлердегі ядролық үйлесімділік мәселесі GPL лицензиясы бойынша таратылатын шағын қабатты беру арқылы шешілетінін есептейді (GPL лицензиясы бойынша модуль меншікті құрамдастарды жүктеп тұрған ядроға жүктеледі). ZFS үшін мұндай деңгейді Oracle-дан лицензиялық ерекшеліктер қамтамасыз етілген жағдайда ғана дайындауға болады. Oracle Linux жүйесінде GPL сәйкессіздікті CDDL бойынша біріктірілген жұмысты лицензиялау талабын алып тастайтын лицензиялық ерекшелікті қамтамасыз ететін Oracle шешеді, бірақ бұл ерекшелік басқа таратуларға қолданылмайды.

Шешім таратудағы модульдің бастапқы кодын ғана қамтамасыз ету болып табылады, ол жинақтауға әкелмейді және екі бөлек өнімді жеткізу ретінде қарастырылады. Бұл үшін Debian-да DKMS (Динамикалық ядро ​​модулін қолдау) жүйесі пайдаланылады, онда модуль бастапқы кодта жеткізіледі және пакетті орнатқаннан кейін дереу пайдаланушының жүйесінде жиналады.

Ақпарат көзі: opennet.ru

пікір қалдыру