EUPL.IT for eGov
EnglishFrenchGermanItalianPortugueseRussianSpanish

Ext-Js

EUPL, GPL e le FOSS Licence Exceptions di MySQL e Sencha

In Italia si è verificato che alcuni progetti (NotreDAM prima e CreaTiVù dopo) con software sviluppato sotto licenza EUPL abbiano dovuto abbracciare la GPLv3, per via dell’utilizzo della libreria Ext-Js di Sencha, licenziata in GPL v3 (EUPL e GPL v3, com’è noto, sono attualmente licenze FOSS – Free OpenSource Software - tra loro direttamente incompatibili).

Ho avuto modo di affrontare il caso NotreDAM e CreaTiVù su EUPL.IT e in occasione dell’EOLE 2010.

La casistica è significativa e mette a nudo il problema della interoperabilità delle licenze (tra EUPL e GPL in particolare) e, a mio sommesso avviso, il sacrificio draconiano che gli sviluppatori (e i titolari del progetto) sono chiamati a svolgere sulla libertà di scelta delle regole giuridiche per la circolazione del proprio Free/OpenSource Software ove ravvisino l’opportunità tecnica di ricorrere a codice o librerie licenziate pur sempre in FOSS, ma con licenza incompatibile rispetto a quella originariamente adottata.

Per tentare di superare il problema e garantire la libertà di scelta della licenza FOSS tra le diverse disponibili sul mercato, avevo provato a stimolare (su EUPL.IT, per e-mail e in sede di Congresso internazionale all’EOLE2010) un intervento dell’OSOR.EU, affinché potesse dialogare con Sencha, titolare dei diritti sulla libreria Ext-Js, al fine di ottenere una soluzione che potesse garantire sia la libertà di licenziare in GPL (da parte del titolare dei diritti sull’opera), sia la libertà per i terzi di mantenere la EUPL nello sviluppo del software, pur a fronte dell’uso della Ext-Js.

Visto che Sencha già distribuisce Ext-Js in multi-licensing (una open source licence in GPL v3 e due diverse commercial licences), immaginavo che non vi fossero particolari ostacoli a rilasciare il tutto anche in EUPL, in aggiunta alla GPL (l’altra soluzione, di più facile realizzazione, sarebbe quella di licenziare la libreria in LGPL. Tuttavia si tratta di soluzione che era stata esclusa da Sencha).

Per l’OSOR.EU si è mosso egregiamente Patrice-Emmanuel Schmitz, che, incontrando in Sencha una straordinaria sensibilità per l’open source e per la EUPL, ha concertato l’introduzione di una FOSS Licence Exception basata su FOSS Licence List, così come già avvenuto per MySQL (prima “Oracle” ;) .

Ora sia Sencha (1) (2) che MySQL (3) si sono dotati di apposite clausole con cui viene prevista una FOSS Licence Exception da applicare ad una lista di licenze  FOSS, tra le quali è annoverata la EUPL.

La soluzione (mutuata dalla EUPL, che acclude una lista di licenze considerate “compatibili” ;) è pregevole, in quanto costituisce un primo passo verso il dialogo tra licenze FOSS e la loro interoperabilità, nell’attesa di percorrere strade di integrazione più significative.

Il sostanza, il titolare dei diritti di sfruttamento economico dell’opera licenziata con licenza FOSS, anche a fronte di uno strong copyleft come nel caso della GPL, introduce una eccezione alle clausole della licenza utilizzata per la distribuzione dell’opera originaria, rendendo possibile la successiva distribuzione (di “derivative works” entro rigorosi criteri dettagliatamente specificati nella Exception), con altre licenze FOSS indicate in una apposita lista (la FOSS Exception List, appunto). In tal modo si creano margini per distribuire l’opera “derivata” con una licenza tra quelle preindividuate nella lista, che altrimenti sarebbe stata incompatibile con quella origiariamente scelta dal proprietario dell’opera originaria.

La soluzione, spiega Schmitz in un suo interessante contributo (“How FOSS exception lists extend licence interoperability;) , è stata efficacemente introdotta da MySQL e, a fronte delle mie sollecitazioni, è stata riproposta ed attuata anche per Sencha, al fine di risolvere e prevenire casi analoghi a quelli verificatisi con i progetti italiani NotreDAM e CreaTiVù, assicurando agli sviluppatori la più ampia libertà di scelta in ordine alla individuazione della licenza FOSS da applicare allo sviluppo del software, sia essa EUPL, GPL o altra licenza FOSS.

Colgo l’occasione per ringraziare profondamente Patrice-E. Schmitz (OSOR.EU) e Adam Mishcon (Sencha Inc.) per aver preso a cuore il problema sollevato ed essere giunti alla soluzione della criticità sopra evidenziata, nonché per avermi reso partecipe della discussione attraverso lo scambio di e-mail.

Sencha ha mostrato una profonda sensibilità, fino a toccare il punto nodale del problema, là dove, in una sua pagina web dedicata all’illustrazione dell’Exception Intent, afferma che

We want people to be able to build Free/Libre and Open Source Software (“FLOSS”) applications using Sencha SDKs despite the fact that not all FLOSS licenses are compatible with version 3.0 of the GNU General Public License (the “GPL”).

In altre parole, parafrasando in termini giuridici, mi pare di poter sostenere che l’intento che la clausola di eccezione voglia assicurare sia proprio quello di evitare ai terzi, per quanto possibile, di pregiudicare la loro facoltà (libertà) di scelta in ordine alla licenza da utilizzare in fase di sviluppo e distribuzione del software di tipo FLOSS (o FOSS), anche là dove tale scelta ricada su una licenza FLOSS incompatibile con la GPL v3 (o GPL v2), individuata per la distribuzione originaria della libreria a cui il terzo intenda fare ricorso.

Ritornerò con altri approfondimenti sul tema della FOSS Licence Exception.

Fabio Bravo

www.fabiobravo.it