Browsing this web site you accept techinical and statistical cookies [info] chiudi

In un bell'articolo che invito tutti a leggere Bruce Perens affronta il classico problema di quale licenza Free/Open Source scegliere per il proprio progetto.

Esprime bene quello che penso da parecchio tempo, ovviamente lo fa molto meglio di quanto potrei fare io...

In breve il problema è questo: ci sono tante licenze Free/Open Source (più di 70) nate per scopi differenti; tutte rispettano i principi del Free Software e dell'Open Source; non tutte sono della stessa qualità; molte possono creare conflitti: se devo combinare più software con licenze differenti potrei semplicemente non farcela o complicarmi parecchio la vita. Che fare?

Semplice. Per chi fa business con il software Free/Open Source Perens individua due obiettivi tipici:

  1. to get everyone possible to use your software to do things the same way (per esempio, se vuoi promuovere un formato/protocollo affinchè diventi uno standard)
  2. to create a partnership for software development, where everybody shares in the work (cioè creare un ecosistema collaborativo attorno al tuo progetto/prodotto e far si che un possibile concorrente se ne possa anche avvantaggiare ma sia costretto a condividere miglioramenti e correzioni apportate al software)

Per raggiungere al meglio questi obiettivi i consigli sono:

  1. una licenza permissiva come The Apache License 2.0 simile alle licenze MIT e BSD, ma con una protezione migliore dai brevetti (obiettivo: maggiore uso/penetrazione del software);
  2. una licenza per condividere con delle regole come la GPL 3, evoluzione delle licenza GPL, criticata per delle clausole anti-DRM che per Perens sono invece fra i suoi punti di forza (obiettivo: permettere un ampio uso ma costringere a collaborare sull'evoluzione del software);
  3. una licenza via di mezzo come LGPL 3 che consente di creare soluzioni proprietarie, ma richiede di rendere disponibili eventuali migliorie/correzioni;
  4. una licenza Affero GPL3 pensata per condividere con delle regole (sharing-with-rules) anche il software tipicamente usato via rete: vedi applicazioni Web (ma non solo) in primis.

Quest'ultima licenza vuole evitare che il Google di turno si prenda il tuo software e lo usi senza condividere le modifiche: la GPL classica richiede la condivisione del codice unicamente quando il codice è distribuito, ma il Google di turno non redistribuisce software, pubblica servizi. Questa licenza equipara l'utilizzo di un servizio via rete (vedi: usare una Web application come GMail) alla distribuzione del software: il Google di turno è obbligato a rendere disponibili le sue modifiche per il solo fatto di pubblicare sui suoi server un servizio basato su quel software.

E' la stessa licenza che abbiamo scelto per il nostro Semantic Content Management Framework BEdita, fa piacere notare che Perens avrebbe preso la stessa decisione.....

Per concludere le licenze consigliate sono di fatto solo due: The Apache License 2.0 e GPL 3 . Le altre due (LGPL3 e Affero GPL3) sono solo variazioni della GPL3.

Sono tutte licenze compatibili fra loro e (SOPRATTUTTO) sono state studiate e revisionate parola per parola da decine e decine di avvocati delle aziende più grandi al mondo.

"No license anywhere has had 1/10 of the legal review that went into GPL3."

Quindi perchè non usarle? E perchè mai inventarsene di nuove?