ARC_02
Tempo fa, nel mezzo di una delle eterne diatribe sulle licenze software, proposi ironicamente l'introduzione di una licenza semi-opensource. Le righe pari del codice sarebbero state rilasciate con una licenza pienamente libera o addirittura nel pubblico dominio per soddisfare le voglie di programmatori, smanettoni e adepti GNU. Le righe dispari invece avrebbero mantenuto un copyright rigoroso del tipo tutti i diritti riservati per tranquillizzare aziende e clienti con tutte le garanzie del caso (commerciabilità, tutela legale, assistenza). Ovviamente era solo una provocazione, una di quelle cose che raccontate senza contesto non fanno neppure ridere.
Mi è tornato alla mente questo aneddoto per il piccolo putiferio recentemente nato attorno alla Business Source License dopo che HashiCorp ha deciso di spostare i suoi prodotti software sotto questa licenza dalla precedente Mozilla Public License [1]. Riassumo per chi non avesse familiarità con l'argomento: La licenza BSL prevede che il codice sorgente di un software sia sempre disponibile per tutti e che lo stesso possa essere studiato e modificato in qualsiasi contesto non commerciale; Viceversa l'uso in ambito commerciale è vietato per un periodo stabilito dal titolare e comunque non superiore ai quattro anni, trascorsi i quali il codice stesso passa automaticamente ad una licenza opensource scelta sempre dal titolare dei diritti ma comunque compatibile con la GNU/GPL v2; È altresì possibile definire nella stessa licenza delle eccezioni in cui anche l'uso commerciale/di produzione è consentito.
Non v'è dubbio che con questa base la BSL non rientri nelle pur elastiche definizioni delle licenze OSI [2] considerate opensource. E d'altro canto però credo anche sia sbagliato interpretare il ricorso ad una licenza di questo tipo come un attacco al mondo dell'opensource o del software libero. Da questo punto di vista la reazione della Linux Foundation di sostenere ufficialmente un fork di HashiCorp Terraform [3] sembra la classica azione di forza che ottusamente nega ogni ragione alla controparte; quell'idea insomma che la biforcazione del codice sia la risposta a tutto e che i problemi di sostenibilità economica dei progetti opensource siano una questione secondaria.
Eppure questa visione procedurale del mondo del software ha già mostrato preoccupanti crepe. Lo spettro di Heartbleed aleggia ancora tra noi a ricordarci come uno dei componenti critici della sicurezza su internet fosse sviluppato da un singolo programmatore a tempo pieno e da uno part-time. Esiste una frattura nel mondo dell'opensource che separa progetti altamente profittevoli, i cui ritorni economici sono del tutto paragonabili con quelli del software proprietario, da altri economicamente marginali i cui autori faticano a trarne un minimo sostentamento. Ma per come è pensato il software opensource, il lato ricco della frattura è fortemente dipendente da quello povero a cui spesso attinge a piene mani restituendo poco o nulla.
Proprio questo legame dovrebbe indurre un po' tutti nel settore a non banalizzare le esigenze di chi sviluppa software a codice aperto. Perché, come è evidente, se un progetto diventa economicamente insostenibile ha solo due possibili sbocchi, la chiusura o la declassazione ad iniziativa hobbistica. Ed in entrambi i casi tutto ciò che sta a valle ha molto da perdere e nulla da guadagnare. Pensare che il fork sia la risposta universale a questi problemi significa alla fine della fiera pensare che ci debba essere sempre qualcuno economicamente sotto pressione alla base della piramide, qualcuno il cui lavoro dovrà essere sfruttato. Sia chiaro che il discorso non è riferito tanto a HashiCorp (di cui in tutta onestà ignoro i bilanci) quanto in generale al modello opensource in cui organizzazioni anche miliardarie non si fanno problemi a pagare stipendi da top-manager ai dirigenti e poi scaricano sui volontari assistenza, documentazione, traduzione, bug-tracking e quant'altro.
In questo quadro, Business Source License non sarà la soluzione perfetta ma è comunque un buon tentativo di preservare la maggior parte delle prerogative del software libero garantendo però allo sviluppatore originale un opportuno periodo di protezione economica durante il quale l'uso dello stesso codice in forma ostile viene limitato o bloccato. Analizzando senza pregiudizio la BSL possiamo osservare che gran parte delle previsioni della licenza GPL sono comunque soddisfatte; c'è l'accesso al codice, la libertà di studiarlo, modificarlo e ridistribuirlo con l'unica limitazione dell'ambito non commerciale. Allo stesso modo la disponibilità del codice rende l'utilizzatore indipendente dal fornitore, potendo intervenire sullo stesso in maniera autonoma. Infine la licenza di destinazione, trascorso il periodo di protezione, garantisce che il codice completo torni nell'alveo del software libero scongiurando i rischi di lock-in tecnologico o di abbandono dello sviluppo.
Sul versante opposto chi rilascia codice con licenza BSL condivide costantemente le proprie conoscenze, i propri modelli di sviluppo, non ostacola lo studio e l'uso personale del codice stesso e si impegna formalmente a liberare completamente il proprio lavoro in un tempo comunque breve. Allo stesso tempo però può garantirsi un margine di tutela in cui sviluppare il proprio modello economico senza l'incubo che il concorrente di turno possa appropriarsi di tutto il lavoro svolto e sfruttarlo a proprio vantaggio. Ricordate vero l'approccio abbraccia, estendi, estingui?
Probabilmente è tempo che il movimento opensource/software libero impari a scegliere meglio i propri nemici ed a riconoscere, nel doppio significato del termine, i propri alleati.
Riferimenti * [1] Hashicorp cambia la licenza di Terraform e fratelli da MPL a BSL, che di open-source ha poco e niente – Mia mamma usa Linux * [2] OSI Approved Licenses * [3] La Linux Foundation risponde al cambio di licenza di Terraform di Hashicorp con OpenTofu, l’ennesimo fork – Mia mamma usa Linux