Линус Торвалдс Linux ядросу үчүн ZFSди ишке ашыруудагы көйгөйлөрдү түшүндүрдү

Талкуунун журушунде тесттер Тапшырмаларды пландоочу, талкуунун катышуучуларынын бири мисал келтирди: Linux ядросун иштеп чыгууда шайкештикти сактоо зарылчылыгы жөнүндө билдирүүлөргө карабастан, ядродогу акыркы өзгөрүүлөр модулдун туура иштешин үзгүлтүккө учуратты.Linux боюнча ZFS". Линус Торвалдс жоопбул принцип "сындырба колдонуучулар" колдонуучу мейкиндик колдонмолору тарабынан колдонулган тышкы ядро ​​интерфейстерин, ошондой эле ядронун өзүн сактоону билдирет. Бирок ал ядронун негизги курамына кабыл алынбаган, ядронун үстүнөн өзүнчө иштелип чыккан үчүнчү тараптын кошумчаларын камтыбайт, алардын авторлору өз коркунучу жана тобокелдиги менен ядродогу өзгөрүүлөргө көз салышы керек.

ZFS on Linux долбооруна келсек, Linus CDDL жана GPLv2 лицензияларынын шайкеш келбегендигинен улам zfs модулун колдонууну сунуштаган эмес. Кырдаал, Oracle лицензиялоо саясатынан улам, ZFSтин негизги ядрого кире алуу мүмкүнчүлүгү өтө аз. Ядро функцияларына кирүү мүмкүнчүлүгүн тышкы кодго которгон лицензиялык шайкешсиздикти айланып өтүү сунушталган катмарлар шектүү чечим болуп саналат - юристтер улантууда талашуу GPL ядросунун функцияларын орогучтар аркылуу реэкспорттоо GPL боюнча бөлүштүрүлүшү керек болгон туунду чыгарманы түзүүгө алып келери жөнүндө.

Линус ZFS кодун негизги ядрого кабыл алууга макул боло турган жалгыз вариант - негизги юрист тарабынан тастыкталган Oracleдан расмий уруксат алуу же андан да жакшысы, Ларри Эллисондун өзү. Программалоо интерфейстеринин интеллектуалдык менчигине (мисалы, сот 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 менен шайкеш келбегендик Oracle тарабынан чечилет, ал CDDL алкагында айкалышкан ишти лицензиялоо талабын алып салган лицензиялык өзгөчөлүк менен камсыздалат, бирок бул өзгөчөлүк башка дистрибьюторлорго тиешелүү эмес.

Чечим бөлүштүрүүдө модулдун баштапкы кодун гана камсыз кылуу болуп саналат, ал пакеттештирүүгө алып келбейт жана эки өзүнчө продуктуну жеткирүү катары каралат. Бул үчүн Debianда DKMS (Dynamic Kernel Module Support) системасы колдонулат, мында модул баштапкы код менен камсыздалат жана пакетти орноткондон кийин дароо колдонуучунун тутумунда чогултулат.

Source: opennet.ru

Комментарий кошуу