Linus Torvalds ha spiegato quali siano i problemi relativi all'implementazione di ZFS nel kernel Linux

Durante la discussione dei test del pianificatore di attività, uno dei partecipanti alla discussione ha portato come esempio che, nonostante le dichiarazioni sulla necessità di mantenere la compatibilità nello sviluppo del kernel Linux, le recenti modifiche al kernel hanno compromesso il corretto funzionamento del modulo «ZFS su Linux«. Linus Torvalds ha risposto, che il principio «non rompere utenti» riguarda il mantenimento delle interfacce esterne del kernel utilizzate dalle applicazioni nello spazio utente, nonché del kernel stesso. Ma non copre le sovrastrutture sviluppate separatamente da terzi sul kernel, non accettate nel nucleo principale, i cui autori devono a proprie spese tenere traccia delle modifiche nel kernel.

Per quanto riguarda il progetto «ZFS on Linux», Linus non ha consigliato di utilizzare il modulo zfs a causa della incompatibilità tra le licenze CDDL e GPLv2. La situazione è tale che, a causa della politica licenziataria della società Oracle, le possibilità che ZFS possa mai entrare a far parte del nucleo principale sono molto basse. Le interfacce suggerite per aggirare l'incompatibilità delle licenze, che traducono l'accesso alle funzioni del kernel per il codice esterno, sono una soluzione discutibile: gli avvocati continuano a discutere se il riutilizzo delle 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 nucleo principale è quella di ottenere dalla società Oracle un'autorizzazione ufficiale, attestata dal capo avvocato, o meglio dallo stesso Larry Ellison. Soluzioni intermedie, come interfacce tra il kernel e il codice ZFS, sono inaccettabili, considerando la politica aggressiva di Oracle sui diritti di proprietà intellettuale sulle interfacce software (come esempio, la causa contro Google riguardo all'API Java). Inoltre, Linus considera la volontà di utilizzare ZFS più una moda che un vantaggio tecnico. I test delle prestazioni che Linus ha esaminato non supportano ZFS, e l'assenza di un supporto completo non garantisce la stabilità a lungo termine.

Ricordiamo che il codice ZFS è distribuito sotto la licenza libera CDDL, che è incompatibile con la GPLv2, il che impedisce l'integrazione di ZFS on Linux nel ramo principale del kernel di Linux, poiché la mescolanza di codice con licenze GPLv2 e CDDL è inaccettabile. Per eludere questa incompatibilità di licenza, il progetto "ZFS on Linux" ha deciso di distribuire il prodotto interamente sotto la licenza CDDL come modulo caricato separatamente, che viene fornito separatamente dal kernel.

La possibilità di distribuire un modulo ZFS pronto all'uso all'interno delle distribuzioni suscita dibattiti tra gli avvocati. Gli avvocati dell'organizzazione Software Freedom Conservancy (SFC) ritengono, affermano che la fornitura di un modulo binario del kernel in un pacchetto crea un prodotto combinato con GPL che richiede la distribuzione del lavoro finale sotto GPL. Gli avvocati dell'azienda Canonical non sono d'accordo e sostengono che la fornitura del modulo zfs è consentita, se il componente è fornito come un modulo autonomo, separato dal pacchetto con il kernel. Canonical osserva che le distribuzioni utilizzano da tempo questo approccio per la fornitura di driver proprietari, come i driver NVIDIA.

L'altra parte ribatte che il problema di compatibilità con il kernel nei driver proprietari è risolto fornendo un piccolo strato, distribuito sotto licenza GPL (viene caricato nel kernel un modulo sotto licenza GPL, che carica componenti proprietari). Per ZFS, uno strato del genere può essere preparato solo se vengono concessi esenzioni di licenza da parte di Oracle. In Oracle Linux, l'incompatibilità con la GPL è risolta dalla fornitura da parte di Oracle di un'esenzione di licenza, che elimina il requisito di licenza per il lavoro combinato sotto CDDL, ma questa esenzione non è valida per altre distribuzioni.

Un escamotage è fornire nella distribuzione solo i codici sorgenti del modulo, il che non porta a un legame e viene considerato come la fornitura di due prodotti separati. In Debian, viene utilizzato il sistema DKMS (Dynamic Kernel Module Support), secondo cui il modulo è fornito in codici sorgenti e compilato sul sistema dell'utente, immediatamente dopo l'installazione del pacchetto.

Fonte: opennet.ru

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