Linus Torvalds ha spiegato quali sono i problemi legati all'implementazione di ZFS per il kernel Linux

Durante la discussione dei test del pianificatore di attività, uno dei partecipanti alla discussione ha citato un esempio di come, nonostante le affermazioni sulla necessità di mantenere la compatibilità nello sviluppo del kernel Linux, i recenti cambiamenti nel kernel abbiano compromesso il corretto funzionamento del modulo "ZFS on Linux". Linus Torvalds a riguardo, affermando che il principio "non rompere utenti" si applica alla conservazione delle interfacce esterne del kernel, utilizzate dalle applicazioni nello spazio utente, oltre che al kernel stesso. Tuttavia, non copre gli strati esterni sviluppati separatamente al di sopra del kernel, che non sono stati adottati nella versione principale del kernel, i cui autori devono monitorare, a proprio rischio, le modifiche al kernel.

Per quanto riguarda il progetto "ZFS on Linux", Linus ha sconsigliato l'uso del modulo zfs a causa dell'incompatibilità tra le licenze CDDL e GPLv2. La situazione è tale che, a causa della politica di licenza della società Oracle, le probabilità che ZFS possa mai entrare nella versione principale del kernel sono molto basse. Le interfacce proposte per superare l'incompatibilità di licenza, che traducono l'accesso alle funzioni del kernel per il codice esterno, sono una soluzione discutibile — i legali continuano a dibattere se il riesportare le funzioni GPL del kernel tramite wrapper porti alla creazione di un'opera derivata, che deve essere distribuita sotto licenza GPL.

L'unica opzione in cui Linus accetterebbe il codice ZFS nel kernel principale sarebbe l'ottenimento di un permesso ufficiale da parte della società Oracle, firmato dal capo legale, o meglio da Larry Ellison stesso. Le soluzioni intermedie, come gli strati tra il kernel e il codice ZFS, sono inaccettabili, considerando la politica aggressiva di Oracle riguardo alla proprietà intellettuale sulle interfacce di programmazione (come esempio, la causa contro Google riguardo le API Java). Inoltre, Linus considera la spinta all'uso di ZFS più una moda che un vantaggio tecnico. I test delle prestazioni che Linus ha esaminato non supportano ZFS, e l'assenza di un adeguato supporto non garantisce stabilità a lungo termine.

Ricordiamo che il codice ZFS è distribuito sotto la licenza libera CDDL, che è incompatibile con GPLv2, il che impedisce di ottenere l'integrazione di ZFS on Linux nella versione principale del kernel Linux, poiché la miscelazione di codice sotto licenze GPLv2 e CDDL non è consentita. Per ovviare a questa incompatibilità di licenza, il progetto "ZFS on Linux" ha deciso di distribuire il prodotto interamente sotto licenza CDDL come un modulo scaricabile separato, distinto dal kernel.

La possibilità di distribuire il modulo ZFS all'interno delle distribuzioni solleva interrogativi tra gli avvocati. Gli avvocati dell'organizzazione Software Freedom Conservancy (SFC) ritengono, affermano che la fornitura di un modulo binario del kernel in una distribuzione forma un prodotto combinato con GPL, con la necessità di distribuire l'opera finale sotto GPL. Gli avvocati della società Canonical non sono d'accordo sostengono che la fornitura del modulo zfs è consentita, se il componente è fornito come un modulo autonomo, separato dal pacchetto del kernel. Canonical sottolinea che le distribuzioni utilizzano da tempo tale approccio per fornire driver proprietari, come i driver NVIDIA.

L'altra parte controbatte che il problema di compatibilità con il kernel nei driver proprietari è risolto fornendo un piccolo strato, distribuito sotto licenza GPL (nel kernel viene caricato un modulo sotto licenza GPL, che già carica i componenti proprietari). Per ZFS, un tale strato può essere preparato solo nel caso di concessioni di licenza da parte della società Oracle. In Oracle Linux, l'incompatibilità con GPL è risolta dalla concessione di una licenza di esclusione da parte di Oracle, che elimina il requisito di licenziamento dell'opera combinata sotto CDDL, ma tale esclusione non si applica ad altre distribuzioni.

Una manovra alternativa è la fornitura nella distribuzione solo dei codici sorgente del modulo, che non porta a vincoli e viene considerata come la fornitura di due prodotti distinti. In Debian, a tal fine, viene utilizzato il sistema DKMS (Dynamic Kernel Module Support), secondo il quale il modulo viene fornito in codici sorgente e compilato sul sistema dell'utente, immediatamente dopo l'installazione del pacchetto.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster