
Disclaimer
Questo articolo non è un parere legale, ma è il mio tentativo di spiegare in modo semplice i problemi connessi alle licenze software: in caso di emergenza, chiamare un avvocato.
—
Sai che BMW e Tesla hanno rilasciato al pubblico parte del loro codice sorgente ?
Il problema.
Molte persone pensano che, poiché è possibile scaricare un software senza pagare nulla, questo software sia gratuito. Ma se qualcosa è disponibile liberamente, ciò non significa che la stessa cosa sia libera di essere usata. Alcuni team di sviluppo hanno l’aspettativa che, includendo un componente software nel proprio sistema, diventi semplicemente “parte di esso” ereditando il loro modello di licenza: questo semplicemente non è vero.
Immagina, ad esempio, che tu stia costruendo una nuova auto rivoluzionaria, tutta elettrica e senza guida! Avrai bisogno di un sacco di software per realizzarla, e sicuramente non vuoi codificare tutto da zero. Quindi inizi prima assemblando alcuni componenti: un sistema operativo, alcuni strumenti di base, alcuni software di altri fornitori. Infine scrivi il tuo codice magico.
Suona familiare? Qualcuno ha detto “Tesla” tra il pubblico? E cosa succede quando un concorrente scopre che stai utilizzando un software open source con una determinata licenza (GPL) e ti chiede di fornire loro il tuo codice, il prezioso codice che hai scritto … beh, possono legalmente farlo e tu dovrai acconsentire! Ed è successo esattamente questo, per cui Tesla ha iniziato a rilasciare il suo software su archivi pubblici. Ma anche BMW, che ha consegnato il suo codice di un sistema della nuovissima i3 a un ragazzo qualunque che lo ha richiesto, e che lo ha poi immediatamente pubblicato su un archivio pubblico.
—
Alcune licenze potrebbero costringerti a rilasciare al pubblico il tuo codice sorgente.
Le restrizioni
È importante comprendere le restrizioni che si incontrano quando si decide di utilizzare un componente opensource. Anche un solo componente con una licenza errata può imporre una limitazione a tutto il codice sorgente.
- puoi essere costretto a rilasciare il tuo codice con la stessa licenza. Se si utilizza un componente concesso in licenza, ad esempio ai sensi di GPL o AGPL (o persino LGPL in caso di lavori derivati), tutto il software dovrà essere rilasciato con la stessa licenza.
- puoi essere costretto a rilasciare al pubblico il tuo codice sorgente. Se si utilizza un componente concesso in licenza, ad esempio in MPL o GPL, sarà necessario fornire tutto il codice in un formato leggibile su richiesta (la distribuzione del codice offuscato non è conforme).
- puoi non essere autorizzato a distribuire il tuo software commercialmente. Licenze come Oracle BCLA lo impediranno e si potrà facilmente essere citati in giudizio (e sicuramente si perderà la causa)
Ma cosa dire del codice che non ha alcuna licenza? Sicuramente posso usarlo senza problemi, giusto? E la risposta è di nuovo un clamoroso no! Secondo la legge attuale, il copyright si estende per la vita dell’autore per più di 70 anni (e talvolta 120 anni dopo la sua creazione), e il creatore (o la sua discendenza) può semplicemente farti causa per averlo usato. A meno che il codice non includa una licenza, non utilizzarlo.
—
Potresti violare gli obblighi contrattuali ma anche affrontare la responsabilità personale.
Quali sono i rischi?
Se decidi di non rispettare una licenza, o semplicemente non sei a conoscenza del problema (questo sarebbe il caso più comune), ti trovi di fronte a due rischi principali.
In primo luogo, tu stai violando effettivamente gli obblighi contrattuali. Ciò può portare a un lungo caso in tribunale che, se sei fortunato, si risolve fuori dal tribunale, con un pagamento in denaro. Ci sono molti esempi di questo caso, con pagamenti che sono arrivati a toccare i $100.000 (si può consultare un elenco incompleto qui), quindi penso davvero che non si debba arrivare a rischiare così tanto: in alcuni casi le aziende hanno preferito presentare istanza di fallimento per evitare perdite maggiori.
In secondo luogo, potresti violare la legge, una responsabilità aziendale che può diventare anche una responsabilità personale. La responsabilità penale delle imprese derivante da reati di diritto d’autore può essere estesa anche al diritto del lavoro, nel caso in cui si possa dimostrare che il responsabile non stava svolgendo correttamente i suoi doveri.
Soluzioni.
Innanzitutto è necessario che tu sia consapevole del problema. Se hai letto questo articolo fino a questo punto, ora probabilmente lo sei. Ora, supponendo che la tua azienda stia costruendo software, devi assicurarti che tutti i componenti che il tuo team di sviluppo sta usando e che finiranno a far parte del prodotto finale, abbiano una licenza adatta al tuo business. Ricorda: un singolo componente nella catena può influenzare l’intero sistema
Sarà quindi necessario creare un sistema che consenta o vieti l’utilizzo di determinate licenze e applicarlo a tutti i team di sviluppo. La soluzione migliore sarebbe quella automatizzata, che rileva automaticamente le violazioni e blocca le versioni indesiderate.
—
Meterian fornisce una soluzione completamente automatizzata a questo problema.
Meterian ti può aiutare!
Meterian, fra le altre funzionalità, fornisce un’elegante soluzione a questo problema, che è anche conveniente ed efficiente. Inserendo Meterian nella tua pipeline di sviluppo puoi avere report continui sulle licenze utilizzate dal tuo software in modo da poter essere sicuro di non essere esposto ai rischi spiegati in precedenza. Dai un’occhiata a uno dei nostri report.
Quando Meterian è inserito nella pipeline di sviluppo, è anche possibile applicare delle regole in modo tale che la presenza di determinate licenze impedisca alla build di progredire ulteriormente, bloccando la spedizione del prodotto ai clienti finali.
Assicurati di metterti in contatto con noi se vuoi saperne di più!