Esplorare le licenze open source comuni
Nelle unità correnti e precedenti sono stati descritti i componenti software dal punto di vista dei pacchetti.
I pacchetti rappresentano gli strumenti concreti con cui distribuire componenti software.
I tipi di licenze e i problemi relativi alle vulnerabilità si estendono ai pacchetti, in quanto contengono i componenti.
Tipi di licenze
Per il software open source sono disponibili più licenze diverse.
Lo schema delle licenze è un grafico che mostra le licenze dal punto di vista dello sviluppatore e le implicazioni d'uso per i requisiti downstream applicati alla soluzione complessiva e al codice sorgente.
Sul lato sinistro sono indicate le licenze di "attribuzione". Sono permissive e consentono praticamente ogni tipo di utilizzo al software al quale sono concesse. Un esempio è dato dalla creazione di software disponibile in commercio, inclusi i componenti o il codice sorgente previsti da questa licenza.
L'unica restrizione è che l'attribuzione originale agli autori rimane inclusa nel codice sorgente o come parte dell'uso downstream del nuovo software. Sul lato destro dello schema sono indicate le licenze "copyleft".
Queste licenze vengono considerate virali, dal momento che l'uso del codice sorgente e dei relativi componenti, nonché la distribuzione del software completo, implicano che tutto il codice sorgente che lo usa deve essere conforme alla stessa tipologia di licenza.
La natura virale è data dal fatto che l'uso del software coperto da questo tipo di licenza forza l'utente a trasferire la stessa licenza per tutte le operazioni eseguite con o sul software originale.
Nella parte centrale dello schema sono indicate le licenze "downstream" o "weak copyleft". Le condizioni di licenza usate devono essere le stesse anche quando il codice coperto viene distribuito.
A differenza delle licenze copyleft, non si estende ai miglioramenti o alle aggiunte al codice coperto dalla licenza.