Newsgroup: it.comp.lang.javascript
Titolo: Quale licenza per i progetti Javascript?

Salve,
se volessimo distribuire un progetto in Javascript, quale licenza 
bisognerebbe utilizzare?
Ho letto un pò di commenti/giudizi su GPL v2/v3, LGPL e MIT. Ognuno dice 
la sua e c'è una gran confusione. Molti commentano determinate licenze 
in maniera del tutto errata poiché ne hanno una conoscenza limitata.
Tutte le licenze si imperniano innanzitutto sulla declinazione di codice 
sorgente e codice compilato e già questo coinvolge ben poco chi lavora 
in JS.
Proprio per la natura di linguaggio interpretato del JS credo che 
sarebbe corretta una licenza che "forzasse" la citazione  dell'autore o 
gli autori del progetto originale nei progetti derivati. Su questo tema 
non è proprio chiaro cosa dicono le varie licenze. L'unica che fa ciò è 
la licenza di Mozilla Foundation, la MPL, che obbliga a mantenere loghi 
e identificativi dell'autore originale (consentendo di sfruttare la 
normativa di protezione del copyright).
Il bello è che sulla MPL, Google, per la sua piattaforma Google Code, si 
è dichiarata contraria e propensa ad eliminarla dalle licenze 
disponibili. Ma dall'annuncio ad oggi la scelta della suddetta licenza è 
ancora disponibile per chi decide di aprire un account sulla piattaforma 
Code...
Sulla GPLv3 lo stesso Torvalds si è espresso negativamente, poiché 
sembra più una dichiarazione di "crociata" dell'open-source community 
per il software...
Le MIT/BSD centrano innanzitutto poco con noi europei/italiani e servono 
principalmente a integrare codice sorgente in progetti commerciali senza 
limiti...
Insomma è un bel caos!
Max

 bisognerebbe utilizzare?
Mettiamola così: che vincoli vuoi porre a chi usa il tuo progetto?
Può mettere il suo nome al posto del tuo?
Può venderlo senza darti un soldo?
Può darlo in giro, anche gratis, anche dicendo che è opera tua?
Può modificarlo per i fatti suoi?
Può dare in giro la sua versione modificata? Gratis? Pagando? Spacciandola
per sua?
Al limite potresti anche provare con qualche code obfuscator (non che questo
possa fermare più di tanto) se non vuoi che gli utenti (programmatori che
usano la tua libreria/framework/quelcheè) mettano naso nelle viscere del
tuo progetto.
-- 
By ZeD

 Max
Ciao  Manlio Perillo

 tuo progetto.
Ma sarebbe tutt'altra cosa col code obfuscator...
Max

 
In realtà molti progetti sono in dual licensing proprio per i discorsi 
sopra. Esempio? Ce n'è uno molto concreto: JQuery.
E' in Dual Licensing MIT e GPL. Perché col primo si permette (aldilà 
dell'ambito di ricerca universitaria americana) di usarlo in progetti 
commerciali, mentre con l'altro (per la natura intrinseca di JS) di 
copiare codice e usufruirne per altro. L'importante è scegliere la 
licenza in base all'uso che se ne fa.
Max

 [...]
Temo stiamo andando troppo off topic...
Ciao   Manlio Perillo

 
In parte. Speriamo ci sia maggiore partecipazione...
Max


Solo a titolo di curiosita' perche non aggiungi la BSD? 
In fondo trattandosi di scripting basta che uno esamini il codice e vede
autore e altro. 
Ciao 
 

 Ciao
Ciao  Manlio

 In parte. Speriamo ci sia maggiore partecipazione...
E` un aspetto che mi ha sempre toccato poco, sviluppando internamente 
alle aziende; per questo non partecipo. Ma seguo con interesse, e non
credo sia cosi` off-topic: lo scopo finale e` quello di sviscerare le
varie licenze, analizzando i pro e i contro, per capire quali possono
essere piu` indicate per lo sviluppo di progetti in javascript. Direi
che puo` essere molto utile per i frequentatori del NG.
-- 
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."

 senso. Nemmeno l'autore...
No. La GPL3 e` praticamente uguale alla GPL2, con pero` maggiore accento 
sulla brevettabilita` del software.
In pratica se tu pubblichi un software con parti coperte da brevetto sotto 
GPL3, automaticamente "rilasci al pubblico" il tuo brevetto, rinunciando a 
qualsiasi azione legale per farlo rivalere.
Inoltre contiene delle precisazioni sui DRM, ma non le ho ancora capite 
del tutto.
Per quanto riguarda il profitto, dal sito della GPL3: "...When we speak of 
free software, we are referring to freedom, not price..."
Bye.

 Insomma è un bel caos!
http://www.opensource.org/licenses/alphabetical
Leggile e cerca quella piu` adatta a te.
Bye.

 l'attribuzione dell'autore ad ogni sua opera.
[CUT]
La Artistic è una licenza molto protettiva ed è un caso a parte. 
Basterebbe solo questa: amen.
Il problema non è solo quello che dicono ma anche come vengono 
considerate dalle community, associazioni e, soprattutto, piattaforme di 
sourcing. La stessa GNU fa paranoie sulla LGPL dedicando pagine sul 
perché non usarla.
Inoltre, sempre nel contesto della considerazione, bisogna vedere quali 
vengono messe a disposizione dalle piattaforme sempre per motivazioni 
inerenti a copyright, copyleft, distribuzione etc. etc.
Di base non si discute che la GPL v2/v3 dicono che va citato il nome e 
così via, ma ciò cmq appare non fortemente chiaro. Le licenze 
"s'incattiviscono" su altro, come ben sai. Il problema è successivo. Se 
io permetto di smembrare il codice senza obbligare a citare nessuno e 
sempre sotto la stesso tipo di licenza, si avvia una catena di 
Sant'Antonio che a me dà solo l'impressione di voler diffondere il 
"verbo della programmazione"... Fanatismo Open-Source?
Sia chiaro: usare la BSD (e permettere a IBM di lucrare su anni di tuo 
lavoro) o usare la GPL permettendo alla community di usare il tuo codice 
all'infinito senza MAI trarne profitto sono libere scelte e pertanto giuste.
Il minimo che io credo - parere personale - debba esserci è, nel caso 
opposto a BSD/MIT/Apache/etc., la citazione dell'autore o autori 
originali, sempre.
In vista della riammissione nella piattaforma Google Code - che 
attualmente è la migliore tra le varie - penso che la MPL, la Mozilla 
Public License 1.1, sia la migliore per il rilascio di codice 
Javascript. Che te ne pare?
Max

 Javascript. Che te ne pare?
Io dico che ti stai facendo delle pare mentali mica da poco.
La licenza deve andare bene a te, non a Google Code o alla comunita` o al 
padreterno o a Berlusconi (in ordine di importanza :P).
Come ti ho detto, non esiste "la migliore". Esiste "la migliore per te".
Per me la migliore e` la GPL2, per Manlio la MIT, per te, sceglila tu dopo 
aver visto cosa impongono.
Bye.

 padreterno o a Berlusconi (in ordine di importanza :P).
rotfl

 [...]
Ciao

 
Un esempio di uso della GPL è offerto da MySQL e Qt.
Entrambi i software sono sviluppate da aziende private, che traggono il 
loro profitto da questi software.
In realtà, almeno per Qt, la maggior parte del profitto è in licenze 
commerciali, e questo dimostra IMHO una piccola ipocrisia dietro l'uso 
della GPL.
Se Trolltech non vendesse licenze commerciale (ossia, se nel mondo non ci 
fosse software closed source), molto probabilmente fallirebbe.
Riguardo poi la "copertura/protezione" che offre l'uso della GPL, anche 
qui IMHO c'è un problema di fondo.
Basti vedere l'esempio di WebKit, basato su KHTML.
WebKit è rilasciato sotto GPL, tuttavia per gli sviluppatori di KHTML il 
codice di WebKit non è utilizzabile, dato che si distanzia molto dal 
codice originale, ed gli sviluppatori di WebKit hanno pensato di **non** 
collaborare con gli sviluppatori di KHTML.
Il vantaggio è comunque per noi utenti, dato che abbiamo un WebKit sotto 
GPL, che possiamo quindi modificare a piacere (si, se ne sei capace...).
Ciao

 
[CUT]
Ma quali pare? Nei primi post, ho specificato che il problema è che c'è 
una gran confusione in giro, per cui un determinato progetto può avere 
più o meno "successo" anche in base alla licenza scelta. Certo è che se 
usi la BSD/MIT il discorso è tutto più "semplice"...
Max

>
[CUT]
Allora il "vero" business che c'é intorno all'Open Source è proprio 
questo. Le aziende che hanno creato e mantengono un progetto FLOSS con 
licenza libera guadagnano in base ai servizi offerti quali la 
formazione, consulenza, etc. Il fatturato di questi product specialists 
cresce in base all'idea che chi ha creato il software è probabilmente il 
più indicato a supportarlo. Un esempio sono OW2, Jboss e tanti altri 
fino alle distribuzioni Linux, senza considerare le aziende che fanno 
consulting (IDC, Forrester) e così via...
Concordo - ed è per questo non ritengo sia liquidabile facilmente come 
dice Alessandro - sul fatto che GPL abbia dei problemi di fondo.
Cosa che costringe molte aziende a creare "Split OSS", ossia parti di 
codice, come il core, a licenza libera e parti esterne, dette anche 
"estensioni", su base commerciale, o distribuire tutto sotto GPL con una 
commercial exception.
La stessa problematica è per MySQL: se cerchi in giro, moltissime 
persone si dicono confuse sulle possibilità di sviluppo e distribuzione 
di MySQL a seconda di tanti casi anche minimamente particolari.
Detto ciò, SE ho capito bene ciò che fai tu, per la legge italiana non 
puoi sviluppare un qualcosa per Tizio sotto commisione e poi darlo in 
giro, specie sotto la "libertina" MIT.
Tizio ti ha pagato per quel lavoro e per tanto è suo: una volta che sei 
stato pagato, tu glielo cedi... :-/
Tornando al serio, il discorso che facevo io ERA l'inverso di quello che 
fai tu su Webkit: capire proprio per la natura intrinseca di Javascript, 
che si presta a modifiche e a copie con facilità, diversamente da grosse 
e più complicate realtà basate su linguaggi come C/C++, Java, C# o 
altro, quali siano le licenze più adatte e se qualcuno ne ha già fatto 
uso...
Max

 uso...
Non cambia poi molto. In ogni caso la licenza e` un contratto.
Se lo distribuisci sotto GPL o sotto BSD cambia poco, visto che comunque 
se lui lo modifica lo deve distribuire per forza in formato sorgente (non 
esistano, che io sappia, compilatori js). L'unica copertura e` sul 
mantenimento del copyright, che hai con tutte le licenze opensource.
Ma se lui toglie i copyright l'unica via che hai e` quella legale, e li` 
non c'e` licenza che tenga se non riesci a dimostrare di essere l'autore 
originale (per esempio depositando ogni versione del software che rilasci 
alla SIAE o da un notaio). Ma questo con qualunque licenza.
A questo punto, a meno che il tuo lavoro non sia qualcosa di veramente 
innovativo e unico (che ne so... Google Docs), vale veramente la pena 
farsi le pare mentali sulla licenza? Lo distribuisci come public domain e 
amen.
Quello che forse non sono riuscito a spiegare e` che devi scegliere tu la 
licenza da applicare in base alle tue esigenze.
Vuoi che facciano quello che vogliono? public domain.
Vuoi che riportino sempre il copyright e facciano del resto quello che 
vogliono? BSD o GPL
Vuoi che non modifichino assolutamente il tuo script? EULA :P
Vuoi che se modificano il tuo script riportino il copyright e ti mandino 
tutte le modifiche? Scrivi una licenza personalizzata
Bye.

 
[CUT]
Non ho mai detto che è una novità. Dove sta scritto? :o
Premesso che, alla fin fine, di MySQL non me ne frega niente perché per 
l'utilizzo che ne faccio non ho bisogno di sciorinarmi le licenze per 
l'uso e nè tantomeno ci guadagno qualcosa a farlo per cui farmi tante 
"pare" (haha mai sentito...) qui, il resto delle problematiche inerenti 
all'utilizzo di GPL sono sempre state chiare, quindi...
Rispetto al lavoro commissionato, semmai è l'impostazione che è 
contraria: NON è vero che vale, ovviamente, SOLO se sei dipendente. 
Abbiamo a che fare tutti i giorni coi contratti e penso che sia palese 
che se il contratto dice che "ti riservi il diritto di rivendere il 
software che hai creato per lui" allora puoi farlo, così come penso che 
sia più unico che raro come il fatto che nemmeno tu lo abbia mai scritto 
e/o proposto. Penso, onestamente, che non faccia al caso di Manlio. Poi 
non saprei.
Scriversi una licenza non è una cosa molto semplice come molti tendono a 
far credere (molti di cui usano MIT, BSD...).
Inoltre il voler distribuire un progetto attraverso le varie piattaforme 
quali Google Code, Sourceforge etc. (non so se lo hai mai fatto) 
significa doversi attenere alle licenze che mettono a disposizione, e 
quindi niente licenza personale.
Bye.

 licenza personale.
E su questo siamo d'accordo. Ma non e` nemmeno detto che tu sia obbligato 
a usare loro. Puoi anche metterti su un bugtracker sul tuo sito.
Stavamo parlando di licenze da applicare a un software. Il discorso di 
dove mettere quel software e` venuto fuori in seguito.
Bye.

 Io programmo siti web.
[CUT]
Beh, l'avevo immaginato. Il contesto è TOTALMENTE diverso.
Non credo che oggi con la conoscenza che si ha del solo Sourceforge, 
senza considerare addirittura la maggiore semplicità nel poter aprire un 
dominio+account Trac+SVN/Git etc. su un hoster, qualcuno abbia il 
coraggio di fare il fighetto e mettere un progetto con un determinato 
"target" (quindi niente script fritti) sul proprio sito del piffero. 
Anche il neofita sa che i lavori vanno pubblicati lì o su qualche altra 
piattaforma.
Infatti accennavo al discorso della piattaforma assieme all'uso di una 
licenza pubblica (seria) proprio per una distribuzione costruttiva di un 
progetto javascript.
Max

 [...]
Ciao  Manlio Perillo

 
http://www.dina.dk/~abraham/rants/license.html
Praticamente il sunto di quello che cercavo ;)
Max