Linus Torvalds ferklearre de problemen mei it ymplementearjen fan ZFS foar de Linux kernel

Tidens de diskusje tests taakplanner, ien fan 'e diskusje-dielnimmers joech in foarbyld dat nettsjinsteande útspraken oer de needsaak om kompatibiliteit te behâlden by it ûntwikkeljen fan de Linux-kernel, resinte feroarings yn' e kearn de juste wurking fan 'e module fersteurden "ZFS op Linux". Linus Torvalds antwurdedat it prinsipe "net brekke brûkers" ferwiist nei it behâld fan de eksterne kernel-ynterfaces dy't brûkt wurde troch brûkersromteapplikaasjes lykas de kernel sels. Mar it omfettet gjin apart ûntwikkele tafoegings fan tredden oer de kernel dy't net wurde akseptearre yn 'e haadgearstalling fan' e kernel, wêrfan de auteurs feroaringen yn 'e kernel moatte kontrolearje op eigen risiko en risiko.

Wat it ZFS op Linux-projekt oanbelanget, hat Linus net oanrikkemandearre om de zfs-module te brûken fanwegen de ynkompatibiliteit fan 'e CDDL- en GPLv2-lisinsjes. De sitewaasje is dat troch it lisinsjebelied fan Oracle de kâns dat ZFS oait de haadkern ynfiere kin tige lyts binne. De lagen foarsteld om lisinsje-ynkompatibiliteit te omgean, dy't tagong ta kernelfunksjes oersette nei eksterne koade, binne in dubieuze oplossing - advokaten geane troch argumearje oer oft it opnij eksportearjen fan GPL-kernelfunksjes fia wrappers resultearret yn 'e skepping fan in ôflaat wurk dat moat wurde ferdield ûnder de GPL.

De iennichste opsje wêryn Linus akkoard soe om de ZFS-koade yn 'e haadkern te akseptearjen is om offisjele tastimming te krijen fan Oracle, sertifisearre troch de haadadvokaat, of better noch, Larry Ellison sels. Tussenoplossingen, lykas lagen tusken de kernel en ZFS-koade, binne net tastien, sjoen it agressive belied fan Oracle oangeande yntellektuele eigendom fan programmearring-ynterfaces (bygelyks, proef mei Google oangeande de Java API). Dêrneist Linus beskôget de winsk om te brûken ZFS allinnich in earbetoan oan moade, en net technyske foardielen. De benchmarks dy't Linus ûndersocht stypje ZFS net, en it gebrek oan folsleine stipe garandearret gjin stabiliteit op lange termyn.

Lit ús jo herinnerje dat de ZFS-koade wurdt ferspraat ûnder in fergese CDDL-lisinsje, dy't ynkompatibel is mei GPLv2, wêrtroch ZFS op Linux net yntegreart yn 'e haadtûke fan' e Linux-kearn, om't koade mingje ûnder de GPLv2- en CDDL-lisinsjes is net akseptabel. Om dizze lisinsje-ynkompatibiliteit te omzeilen, besleat it ZFS op Linux-projekt it hiele produkt te fersprieden ûnder in CDDL-lisinsje yn 'e foarm fan in apart laden module dy't apart fan' e kernel wurdt levere.

De mooglikheid om in klearmakke ZFS-module te fersprieden as ûnderdiel fan distribúsjekits is kontroversjeel ûnder advokaten. Advokaten fan 'e Software Freedom Conservancy (SFC) beskôgjedat de levering fan in binêre kearnmodule yn 'e distribúsje in produkt foarmet yn kombinaasje mei de GPL mei de eask dat it resultearjende wurk ferdield wurdt ûnder de GPL. Kanonyske advokaten net mei iens en stelt dat levering fan in zfs module is akseptabel as de komponint wurdt levere as in selsstannige module, los fan it kernel pakket. Canonical merkt op dat distribúsjes lang in ferlykbere oanpak hawwe brûkt om proprietêre bestjoerders te leverjen, lykas NVIDIA-bestjoerders.

De oare kant tsjinnet dat it probleem fan kernel-kompatibiliteit yn proprietêre bestjoerders wurdt oplost troch it leverjen fan in lyts laach ferspraat ûnder de GPL-lisinsje (in module ûnder de GPL-lisinsje wurdt yn 'e kernel laden, dy't al proprietêre komponinten laden). Foar ZFS kin sa'n laach allinich wurde taret as lisinsjeútsûnderingen wurde levere fan Oracle. Yn Oracle Linux wurdt inkompatibiliteit mei de GPL oplost troch Oracle dy't in lisinsje-útsûndering leveret dy't de eask fuortsmite om kombinearre wurk ûnder CDDL te fergunningen, mar dizze útsûndering jildt net foar oare distribúsjes.

In oplossing is om allinich de boarnekoade fan 'e module yn' e distribúsje te leverjen, wat net liedt ta bondeljen en wurdt beskôge as de levering fan twa aparte produkten. Yn Debian wurdt dêrfoar it DKMS (Dynamic Kernel Module Support) systeem brûkt, wêrby't de module yn boarnekoade oanlevere wurdt en direkt nei it ynstallearjen fan it pakket op it systeem fan de brûker gearstald wurdt.

Boarne: opennet.ru

Add a comment