Linus Torvalds spiegò i prublemi cù l'implementazione di ZFS per u kernel Linux

Durante a discussione testi pianificatore di task, unu di i participanti di discussione hà datu un esempiu chì, malgradu dichjarazioni nantu à a necessità di mantene a cumpatibilità quandu si sviluppa u kernel Linux, i cambiamenti recenti in u kernel anu disturbatu u funziunamentu currettu di u modulu ".ZFS in Linux". Linus Torvalds risposechì u principiu "ùn rompe micca utilizatori" si riferisce à a preservazione di l'interfacce di u kernel esternu aduprate da l'applicazioni spaziali d'utilizatori è ancu u kernel stessu. Ma ùn copre micca add-on di terzu sviluppati separatamente nantu à u kernel chì ùn sò micca accettati in a cumpusizioni principali di u kernel, l'autori di quale deve monitorà i cambiamenti in u kernel à u so propiu periculu è risicu.

In quantu à u prughjettu ZFS in Linux, Linus ùn hà micca cunsigliatu di utilizà u modulu zfs per l'incompatibilità di e licenze CDDL è GPLv2. A situazione hè chì per via di a pulitica di licenze di Oracle, e probabilità chì ZFS hà da pudè entre in u kernel principale sò assai chjuchi. I strati pruposti per scaccià l'incompatibilità di licenze, chì traducenu l'accessu à e funzioni di u kernel à u codice esternu, sò una suluzione dubbiosa - l'avucati cuntinueghjanu argumentà circa s'ellu riesporta e funzioni di u kernel GPL per mezu di wrappers risultatu in a creazione di un travagliu derivativu chì deve esse distribuitu sottu a GPL.

L'unica opzione in quale Linus accunsente à accettà u codice ZFS in u kernel principale hè di ottene u permessu ufficiale da Oracle, certificatu da l'avucatu principale, o megliu ancu, Larry Ellison stessu. Soluzioni intermedie, cum'è strati trà u kernel è u codice ZFS, ùn sò micca permessi, datu a pulitica aggressiva di Oracle in quantu à a pruprietà intellettuale di l'interfaccia di prugrammazione (per esempiu, prucessu cù Google in quantu à l'API Java). Inoltre, Linus cunsidereghja u desideriu di utilizà ZFS solu un tributu à a moda, è micca vantaghji tecnichi. I benchmarks chì Linus hà esaminatu ùn sustene micca ZFS, è a mancanza di supportu tutale ùn guarantisci micca stabilità à longu andà.

Ricurdemu chì u codice ZFS hè distribuitu sottu una licenza CDDL libera, chì hè incompatibile cù GPLv2, chì ùn permettenu micca ZFS in Linux per esse integratu in u ramu principale di u kernel Linux, postu chì mischjà u codice sottu à e licenze GPLv2 è CDDL. hè inaccettabile. Per evità sta incompatibilità di licenze, u prughjettu ZFS in Linux hà decisu di distribuisce tuttu u pruduttu sottu una licenza CDDL in forma di un modulu caricatu separatamente chì hè furnitu separatamente da u kernel.

A pussibilità di distribuisce un modulu ZFS prontu cum'è parte di i kit di distribuzione hè cuntruversu trà l'avucati. Avvocati da u Software Freedom Conservancy (SFC) cunsidereghjachì a consegna di un modulu di kernel binariu in a distribuzione forma un pruduttu cumminatu cù a GPL cù u requisitu chì u travagliu risultatu sia distribuitu sottu a GPL. Avvocati Canonici ùn sò micca d'accordu è dichjarà chì a consegna di un modulu zfs hè accettabile se u cumpunente hè furnitu cum'è un modulu autonomu, separatu da u pacchettu di u kernel. Canonical nota chì e distribuzioni anu longu utilizatu un approcciu simili per furnisce i drivers proprietarii, cum'è i driver NVIDIA.

L'altra parte conta chì u prublema di cumpatibilità di u kernel in i cunduttori proprietarii hè risolta da furnisce una piccula capa distribuita sottu a licenza GPL (un modulu sottu a licenza GPL hè carricatu in u kernel, chì carica digià cumpunenti proprietarii). Per ZFS, una tale capa pò esse preparata solu se l'eccezzioni di licenza sò furnite da Oracle. In Oracle Linux, l'incompatibilità cù a GPL hè risolta da Oracle chì furnisce una eccezzioni di licenza chì elimina l'esigenza di licenza di u travagliu cumminatu sottu CDDL, ma sta eccezzioni ùn hè micca applicata à altre distribuzioni.

Una solu suluzione hè di furnisce solu u codice fonte di u modulu in a distribuzione, chì ùn porta micca à bundling è hè cunsideratu cum'è a consegna di dui prudutti separati. In Debian, u sistema DKMS (Dynamic Kernel Module Support) hè utilizatu per questu, in quale u modulu hè furnitu in u codice fonte è assemblatu in u sistema di l'utilizatori immediatamente dopu a stallazione di u pacchettu.

Source: opennet.ru

Add a comment