Linus Torvalds elmagyarázta a ZFS Linux kernelhez való implementálásával kapcsolatos problémákat

A vita során tesztek feladatütemezővel, a beszélgetés egyik résztvevője példát adott arra, hogy a Linux kernel fejlesztése során a kompatibilitás fenntartásának szükségességéről szóló kijelentések ellenére a kernelben a közelmúltban bekövetkezett változások megzavarták a modul helyes működését "ZFS Linuxon". Linus Torvalds válaszoltahogy az elv"ne törd el felhasználókA "" kifejezés a felhasználói területalkalmazások által használt külső kernel-interfészek, valamint magának a kernelnek a megőrzésére utal. De nem terjed ki a külön kifejlesztett, a kernelhez kapcsolódó, harmadik féltől származó kiegészítőkre, amelyeket nem fogadnak be a kernel fő összetételébe, és amelyek szerzőinek saját kárukra és kockázatukra kell figyelniük a kernel változásait.

Ami a ZFS on Linux projektet illeti, Linus nem javasolta a zfs modul használatát a CDDL és a GPLv2 licencek összeférhetetlensége miatt. A helyzet az, hogy az Oracle licencpolitikája miatt nagyon kicsi az esélye annak, hogy a ZFS valaha is be tud lépni a fő kernelbe. A licenc-inkompatibilitás megkerülésére javasolt rétegek, amelyek a kernel funkcióihoz való hozzáférést külső kódra fordítják, kétes megoldást jelentenek - folytatják a jogászok vitatkozni arról, hogy a GPL-kernel-funkciók wrappereken keresztüli újraexportálása eredményez-e egy származékos munka létrehozását, amelyet a GPL alatt kell terjeszteni.

Az egyetlen lehetőség, amellyel Linus beleegyezne a ZFS kód elfogadásába a fő kernelbe, az az, hogy hivatalos engedélyt szerez az Oracle-től, amelyet a fő ügyvéd, vagy ami még jobb, maga Larry Ellison hitelesít. A köztes megoldások, például a kernel és a ZFS kód közötti rétegek nem megengedettek, tekintettel az Oracle agresszív politikájára a programozási felületek szellemi tulajdonát illetően (például próba a Google-lal a Java API-val kapcsolatban). Ezenkívül Linus a ZFS használatának vágyát csak a divat előtti tisztelgésnek tekinti, nem pedig a technikai előnyöknek. A Linus által vizsgált benchmarkok nem támogatják a ZFS-t, és a teljes támogatás hiánya nem garantálja a hosszú távú stabilitást.

Emlékeztetünk arra, hogy a ZFS kódot ingyenes CDDL licenc alatt terjesztik, ami nem kompatibilis a GPLv2-vel, ami nem teszi lehetővé a Linuxon futó ZFS integrálását a Linux kernel fő ágába, mivel a kód keveredik a GPLv2 és CDDL licencek alatt. elfogadhatatlan. A licencelési inkompatibilitás megkerülése érdekében a ZFS on Linux projekt úgy döntött, hogy a teljes terméket CDDL licenc alatt terjeszti egy külön betöltött modul formájában, amelyet a kerneltől külön szállítanak.

A kész ZFS modul disztribúciós készletek részeként való terjesztésének lehetősége ellentmondásos a jogászok körében. A Software Freedom Conservancy (SFC) jogászai úgyhogy egy bináris kernelmodul szállítása a terjesztésben a GPL-lel kombinált terméket képez, azzal a feltétellel, hogy az eredményül kapott munkát a GPL alatt kell terjeszteni. Kanonikus jogászok nem ért egyet és kijelenti, hogy a zfs modul szállítása elfogadható, ha az összetevőt önálló modulként szállítják, külön a kernelcsomagtól. A Canonical megjegyzi, hogy a disztribúciók régóta hasonló megközelítést alkalmaznak a szabadalmaztatott illesztőprogramok, például az NVIDIA illesztőprogramok biztosítására.

A másik oldal ellenzi, hogy a kernel kompatibilitás problémáját a szabadalmaztatott illesztőprogramokban egy GPL licenc alatt terjesztett kis réteg biztosításával oldják meg (egy GPL licenc alatti modult töltenek be a kernelbe, amely már betölti a saját komponenseket). A ZFS esetében ilyen réteg csak akkor készíthető el, ha az Oracle licenckivételeket biztosít. Az Oracle Linux rendszerben a GPL-lel való inkompatibilitást úgy oldja meg, hogy az Oracle licenckivételt biztosít, amely megszünteti a kombinált munka CDDL alatti licencelésének követelményét, de ez a kivétel nem vonatkozik más disztribúciókra.

Megkerülő megoldás, ha csak a modul forráskódját kell megadni a terjesztésben, ami nem vezet kötegeléshez, és két külön termék szállításának minősül. A Debianban ehhez a DKMS (Dynamic Kernel Module Support) rendszert használják, amelyben a modul forráskódban kerül szállításra, és a csomag telepítése után azonnal összerakják a felhasználó rendszerén.

Forrás: opennet.ru

Hozzászólás