Linus Torvalds het die probleme met die implementering van ZFS vir die Linux-kern verduidelik

Tydens die bespreking toetse taakskeduleerder, een van die besprekingsdeelnemers het 'n voorbeeld gegee dat ondanks stellings oor die behoefte om verenigbaarheid te handhaaf wanneer die Linux-kern ontwikkel word, onlangse veranderinge in die kern die korrekte werking van die module ontwrig het "ZFS op Linux". Linus Torvalds antwoorddat die beginsel "moenie breek nie gebruikers" verwys na die behoud van die eksterne kernkoppelvlakke wat deur gebruikersruimtetoepassings gebruik word, sowel as die kern self. Maar dit dek nie afsonderlik ontwikkelde derdeparty-byvoegings oor die kern wat nie in die hoofsamestelling van die kern aanvaar word nie, waarvan die skrywers veranderinge in die kern op eie risiko en risiko moet monitor.

Wat die ZFS op Linux-projek betref, het Linus nie aanbeveel om die zfs-module te gebruik nie weens die onversoenbaarheid van die CDDL- en GPLv2-lisensies. Die situasie is dat as gevolg van Oracle se lisensiebeleid, die kanse dat ZFS ooit die hoofkern sal kan binnegaan baie klein is. Die lae wat voorgestel word om lisensieonversoenbaarheid te omseil, wat toegang tot kernfunksies na eksterne kode vertaal, is 'n twyfelagtige oplossing - prokureurs gaan voort stry oor of die heruitvoer van GPL-kernfunksies deur omhulsels lei tot die skepping van 'n afgeleide werk wat onder die GPL versprei moet word.

Die enigste opsie waarin Linus sal instem om die ZFS-kode in die hoofkern te aanvaar, is om amptelike toestemming van Oracle te verkry, gesertifiseer deur die hoofprokureur, of nog beter, Larry Ellison self. Intermediêre oplossings, soos lae tussen die kern en ZFS-kode, word nie toegelaat nie, gegewe Oracle se aggressiewe beleid rakende intellektuele eiendom van programmeringskoppelvlakke (byvoorbeeld, verhoor met Google oor die Java API). Daarbenewens beskou Linus die begeerte om ZFS te gebruik slegs 'n huldeblyk aan mode, en nie tegniese voordele nie. Die maatstawwe wat Linus ondersoek het, ondersteun nie ZFS nie, en die gebrek aan volle ondersteuning waarborg nie langtermynstabiliteit nie.

Laat ons u daaraan herinner dat die ZFS-kode versprei word onder 'n gratis CDDL-lisensie, wat onversoenbaar is met GPLv2, wat nie toelaat dat ZFS op Linux in die hooftak van die Linux-kern geïntegreer word nie, aangesien kode onder die GPLv2- en CDDL-lisensies vermeng word. onaanvaarbaar is. Om hierdie lisensie-onversoenbaarheid te omseil, het die ZFS op Linux-projek besluit om die hele produk onder 'n CDDL-lisensie te versprei in die vorm van 'n apart gelaaide module wat apart van die kern voorsien word.

Die moontlikheid om 'n klaargemaakte ZFS-module as deel van verspreidingsstelle te versprei, is omstrede onder prokureurs. Prokureurs van die Software Freedom Conservancy (SFC) oorweegdat die aflewering van 'n binêre kernmodule in die verspreiding 'n produk vorm wat met die GPL gekombineer word met die vereiste dat die resulterende werk onder die GPL versprei word. Kanonieke Prokureurs stem nie saam nie en meld dat aflewering van 'n zfs-module aanvaarbaar is indien die komponent as 'n selfstandige module, apart van die kernpakket, verskaf word. Canonical merk op dat verspreidings lank reeds 'n soortgelyke benadering gebruik om eie drywers, soos NVIDIA-bestuurders, te verskaf.

Die ander kant sê dat die probleem van kernversoenbaarheid in eie bestuurders opgelos word deur 'n klein laag te verskaf wat onder die GPL-lisensie versprei word ('n module onder die GPL-lisensie word in die kern gelaai, wat reeds eie komponente laai). Vir ZFS kan so 'n laag slegs voorberei word as lisensie-uitsonderings vanaf Oracle verskaf word. In Oracle Linux word onversoenbaarheid met die GPL opgelos deur Oracle wat 'n lisensie-uitsondering verskaf wat die vereiste verwyder om gekombineerde werk onder CDDL te lisensieer, maar hierdie uitsondering is nie van toepassing op ander verspreidings nie.

'n Oplossing is om slegs die bronkode van die module in die verspreiding te verskaf, wat nie tot bundeling lei nie en as die aflewering van twee afsonderlike produkte beskou word. In Debian word die DKMS (Dynamic Kernel Module Support)-stelsel hiervoor gebruik, waarin die module in bronkode verskaf word en onmiddellik na die installering van die pakket op die gebruiker se stelsel saamgestel word.

Bron: opennet.ru

Voeg 'n opmerking