Ieri
sera notte, mentre cercavo di convincere Danilo che era ampiamente ora di andare a dormire (tentativo fallito, visto che alla fine ha dormito su un tavolo), mi sono trovato a fare quattro interessanti chiacchiere in materia di “GPLv2 vs. GPLv3” insieme a Guido Serra, Marco Bertorello, Matteo Flora e Daniel Donato, dell’HackLab 81100.
Dal discorso (nonostante i fumi dell’alcool che non risparmiavano probabilmente nessuno dei partecipanti ed astanti) sono venute fuori una serie di considerazioni interessanti che mi sono annotato e riproposto di elencare qui, a memoria d’uomo.
Tanto per cominciare, GPLv3, a differenza della GPLv2, richiede (con l’obiettivo di combattere la TiVo-izzazione) il rilascio della “tool-chain”. Questo non significa che debbano essere rilasciati tutti gli apparati a contorno del software (ad esempio script dello sviluppatore che aiutano nella customizzazione del software, ad esempio), ma semplicemente che l’utente finale, che ha il sorgente a disposizione, deve essere in grado (non è detto che debba poterlo fare comodamente) di ricompilare e reinstallare il software a sua disposizione. L’obiezione di Guido, in ogni caso, rimane pienamente valida: questa ulteriore ristrettezza rispetto alla GPLv2, peggiora il ritorno dell’investimento commerciale che lo sviluppatore potrebbe aver affrontato.
Questo è probabilmente dovuto ad una scelta di fondo, che ad un certo punto si è posta e doveva essere necessariamente affrontata: il rapporto tra software commerciale e software libero. La mia opinione è che con la GPLv2, i “lavoratori del software libero” potevano essere anche sviluppatori, investitori, scrivendo del codice da zero, rilasciaro sotto GPL e vedere comunque un rientro economico tale da coprire l’investimento fatto, perchè veniva sfruttata una “zona grigia”: si tratta di un equilibrio piuttosto delicato del quale qualcuno (Novell ad esempio, nell’ambito dell’accordo con Microsoft di cui tanto si è parlato, ma non è certo la sola) ha abusato, portando ad una revisione di questo argomento nell’ambito dello sviluppo della GPLv3.
La scelta a questo punto era tra mantenimento e garanzia delle “libertà digitali” del software e dei suoi utilizzatori, e attrattiva commercial-industriale dello stesso, è la strada presa dalla GPLv3 è piuttosto palese, nonché ovvia conoscendo i personaggi che ne guidano la filosofia. Questa scelta non è di per sé negativa, ma va preso atto che rende il software libero poco attraente da un punto di vista prettamente commerciale.
Un’interessante osservazione è poi nata dalla discussione, ed è quella sul rilascio dei diritti sui brevetti, che da quel che ricordo la GPLv3 richiede; mentre la GPLv2 non citava in alcun modo i brevetti, lasciando un’alone di indecisione che poteva (forse) essere sfruttato per implementare algoritmi coperti da brevetti software dei quali non si possiedono i diritti (non essendo questi validi in alcune legislazioni, come quelle europee), la GPLv3 ne richiede l’esplicito rilascio, che nonè possibile effettuare se non si possiedono i diritti in questione, ponendo un’ulteriore limitazione alle possibilità di sviluppo, questa volta in senso molto più largo di quello prettamente commerciale.
Infine, si esprimevano dubbi sulla localizzazione della licenza: la GPL è scritta per la legislazione americana. In Italia, è valida? Non va forse a contraddire qualche articolo di qualche legge sui contratti commerciali, o simili, che potrebbero portarla ad essere invalidata? Sotto questo aspetto (il solito paradosso della legislazione e dell’informatica, fatto di frontiere fisiche che esistono nel mondo reale ma non nel mondo digitale), il discorso andrebbe approfondito con persone competenti, perchè io rischio solo di fare inutili congetture ed illazioni 🙂