Лінус Торвальдс растлумачыў, у чым праблемы рэалізацыі ZFS для ядра Linux

У ходзе абмеркавання тэстаў планавальніка задач, адзін з удзельнікаў дыскусіі прывёў прыклад таго, што нягледзячы на ​​заявы аб неабходнасці захавання сумяшчальнасці пры распрацоўцы ядра Linux, нядаўнія змены ў ядры парушылі карэктную працу модуля.ZFS на Linux“. Лінус Торвальдс адказаў, што прынцып «не ламаць карыстальнікаў» ставіцца да захавання вонкавых інтэрфейсаў ядра, выкарыстоўваных прыкладаннямі ў прасторы карыстача, а таксама самага ядра. Але ён не ахоплівае асобна якія развіваюцца іншыя надрадкі над ядром, не прынятыя ў асноўны склад ядра, аўтары якіх на свой страх і рызыку самі павінны адсочваць змены ў ядры.

Што да праекту «ZFS on Linux», то Лінус не рэкамендаваў карыстацца модулем zfs з-за несумяшчальнасці ліцэнзій CDDL і GPLv2. Сітуацыя такая, што з-за ліцэнзійнай палітыкі кампаніі Oracle шанцы, што ZFS калі-небудзь зможа ўвайсці ў асноўны склад ядра вельмі малыя. Прапанаваныя для абыходу ліцэнзійнай несумяшчальнасці праслойкі, якія транслююць доступ да функцый ядра для знешняга кода, з'яўляюцца сумнеўным рашэннем - юрысты працягваюць. спрачацца аб тым, ці прыводзіць рээкспартаванне GPL-функцый ядра праз абгорткі да стварэння вытворнай працы, якую патрабуецца пастаўляць пад ліцэнзіяй GPL.

Адзіным варыянтам, пры якім Лінус пагадзіўся б прыняць код ZFS у асноўнае ядро, называецца атрыманне ад кампаніі Oracle афіцыйнага дазволу, заверанага галоўным юрыстам, а лепш самім Лары Элісан. Прамежкавыя рашэнні, такія як праслойкі паміж ядром і кодам ZFS, недапушчальныя, з улікам агрэсіўнай палітыкі Oracle у стаўленні інтэлектуальнай уласнасці на праграмныя інтэрфейсы (як прыклад, разбіральніцтва з Google з нагоды Java API). Акрамя таго, Лінус лічыць імкненне выкарыстоўваць ZFS толькі данінай модзе, а не тэхнічнымі перавагамі. Тэсты прадукцыйнасці, якія вывучаў Лінус, не сведчаць у карысць ZFS, а адсутнасць паўнавартаснага суправаджэння не гарантуе стабільнасць у доўгатэрміновай перспектыве.

Нагадаем, што код ZFS распаўсюджваецца пад вольнай ліцэнзіяй CDDL, якая несумяшчальная з GPLv2, што не дазваляе дамагчыся інтэграцыі ZFS on Linux у склад асноўнай галіны ядра Linux, бо змешванне кода пад ліцэнзіямі GPLv2 і CDDL недапушчальна. Для абыходу дадзенай ліцэнзійнай несумяшчальнасці праектам "ZFS on Linux" было вырашана распаўсюджваць прадукт цалкам пад ліцэнзіяй CDDL у выглядзе асобна загружанага модуля, які пастаўляецца асобна ад ядра.

Магчымасць распаўсюджванне гатовага модуля ZFS у складзе дыстрыбутываў выклікае спрэчкі ў юрыстаў. Юрысты арганізацыі Software Freedom Conservancy (SFC) лічаць, Што пастаўка ў дыстрыбутыве бінарнага модуля ядра ўтварае камбінаваны з GPL прадукт з патрабаваннем распаўсюджвання выніковай працы пад GPL. Юрысты кампаніі Canonical не згодны і сцвярджаюць, што пастаўка модуля zfs дапушчаецца, калі кампанент пастаўляецца ў выглядзе самадастатковага модуля, асобна ад пакета з ядром. Canonical адзначае, што дыстрыбутывы даўно выкарыстоўваюць падобны падыход для пастаўкі прапрыетарных драйвераў, такіх як драйверы NVIDIA.

Іншы бок парыруе, што праблема сумяшчальнасці з ядром у прапрыетарных драйверах вырашаецца пастаўкай невялікай праслойкі, якая распаўсюджваецца пад ліцэнзіяй GPL (у ядро ​​грузіцца модуль пад ліцэнзіяй GPL, які ўжо загружае прапрыетарныя кампаненты). Для ZFS падобную праслойку можна падрыхтаваць толькі ў выпадку падавання ліцэнзійных выключэнняў ад кампаніі Oracle. У Oracle Linux несумяшчальнасць з GPL вырашаецца падаваннем кампаніяй Oracle ліцэнзійнага выключэння, які здымае патрабаванне па ліцэнзаванні камбінаванай працы пад CDDL, але гэтае выключэнне не дзейнічае для іншых дыстрыбутываў.

Абыходным манеўрам з'яўляецца пастаўка ў дыстрыбутыве толькі зыходных тэкстаў модуля, якая не прыводзіць да звязвання і разглядаецца як пастаўка двух асобных прадуктаў. У Debian для гэтага задзейнічана сістэма DKMS (Dynamic Kernel Module Support), пры якой модуль пастаўляецца ў зыходных тэкстах і збіраецца на сістэме карыстача, непасрэдна пасля ўсталёўкі пакета.

Крыніца: opennet.ru

Дадаць каментар