Carissimi, un po' di tempo fa vi avevo chiesto aiuto per un problema di licenze e voglio ringraziare tutti quelli che mi hanno risposto per l'aiuto prezioso: avevo posto un argomento spinoso e non facile e siete stati tutti molto carini e gentili e le vostre indicazioni mi sono state di grande aiuto. Scusate se non ho risposto prima, ma in parte ci ho messo tempo a elaborare la cosa, nei ritagli di tempo perche' dato che il mio prof non e' coinvolto nel progetto va nel "tempo libero"/ore notturne perche' se mi acchiappa ad accantonare il resto del mio lavoro per questo mi ammazza :-)
Riepilogo il mio caso e vi riassumo la soluzione a cui sono arrivata, magari qualcuno si trova in una situazione simile e gli puo' essere utile la mia esperienza. Abbiamo scritto un programmino in MATLAB (ahinoi) e ci siamo trovate in difficolta' nella scelta della licenza. Poiche' MATLAB (R) e' proprietarissimo e si paga, abbiamo deciso di distribuire, oltre ai sorgenti, una versione compilata che non ha bisogno di MATLAB per girare in modo da renderlo disponibile anche a chi non ce l'ha. Pero', per funzionare, la versione eseguibile ha bisogno di una runtime MATLAB che viene generata al momento della compilazione del programma (perche' contiene solo il necessario per girare il programma) e quindi non e' scaricabile dal sito MATLAB perche' dobbiamo generarla noi. Noi la distribuiamo in un file a parte che si installa e contiene la sua licenza. Ovviamente e' necessario installare la runtime e accettare la sua licenza prima di installare il nostro programma. Possiamo farlo in virtu' della licenza del Compilatore che prevede esplicitamente la possibilita' di generare Applicazioni e distribuire la runtime necessaria a farle girare senza alcun costo aggiuntivo (a quello serve!) Fin qui tutto bene, solo che la licenza della runtime contiene questa clausola: > 9.2. Third Parties: Your Application shall be accompanied by an > Application License whose terms and conditions are at least as > restrictive as the Agreement, unless the Application is part of > an embedded system that has no provision for licensing to its > end users. che sembrerebbe porre dei limiti alla licenza che possiamo adottare per la nostra applicazione...e' pero' oscura, almeno non si capisce cosa non posso fare, per cui, anche in virtu' di questa osservazione di una persona di FSF Italia: > ... occorre studiare la licenza del software e > vedere se semplicemente essa si applica alla sola runtime o a tutto il > software derivato. A me pare che una runtime non possa far sì che il > software che ci gira sopra sia considerato opera derivata, perché > sarebbe come pretendere che se io faccio un'applicazione per Windows, > allora faccio un'opera derivata di Windows. ..ho concluso che la clausola deve applicarsi limitatamente alla runtime, cioe' vuol dire che ovviamente non possiamo dare ai nostri utenti finali piu' diritti di quanti ne abbiamo noi stesse, ma imporre una limitazione anche alla licenza che vogliamo adottare sul software scritto da noi sarebbe veramente un sopruso. La licenza definisce bene cosa e' "Application", cio' un programma che fornisce funzioni significativamente diverse da quelle delle funzioni di matlab gia' esistenti e cosa invece "Derivative Forms", che in ogni caso costituiscono una violazione di copyright e ovviamente il nostro programma non ricade nel "software derivato". Molti ci hanno consigliato di passare a Octave, ma nel nostro caso non era possibile perche' avevamo dei tempi molto stretti (stiamo cercando di pubblicare un articolo che descrive il programma e il tempo a disposizione se n'e' andato per bug fixing e per modificare le interfacce utente in modo da andare incontro alle richieste dei reviewer della rivista). Ma nella prossima modifica importante mi spendero' per convincere le altre che un po' di lavoro per migrare puo' valere molto la pena perche' la liberta' non ha prezzo!! Chiarito questo punto, non abbiamo adottato la GPL per due motivi: 1) perche' avevamo gia' iniziato a distribuire il programma con un disclaimer molto simile alla licenza MIT, e le modifiche fatte adesso non sono sostanziali e non giustificano un cambio di versione...proteggere maggiormente il codice dopo aver iniziato a distribuirlo creerebbe solo la confusione avere in giro codice sostanzialmente identico con licenze diverse e non avrebbe molto senso; 2) questa considerazione: > Attenzione che la LGPL prevede che comunque tu distribuisca tutto il > codice sorgente necessario, compreso quello del software necessario per > la corretta compilazione, a meno che -- e questa è una stretta eccezione > -- non sia altrimenti distribuito con il compilatore liberamente > ottenibile o incluso nel sistema operativo o altrove (la cosa è più > complicata). Altrimenti devi distribuire anche il codice sorgente di > questa parte. Qui mi sa che non siete in grado di farlo. non ci ha lasciato molte scelte: per girare il compilato ha bisogno della runtime, ma anche il codice ha bisogno di MATLAB! Ovviamente chi vuole puo' provare ad usarlo con Octave, ma purtroppo non abbiamo avuto tempo e modo di testarlo e non possiamo garantire che funzioni senza dover fare modifiche significative. In conclusione, abbiamo lasciato la licenza "MIT-like", modificandola per venire incontro ai requisiti della licenza della runtime di MATLAB, e secondo il suggerimento della persona di FSF Italia che ci ha risposto l'abbiamo chiamata "BATS permissive license (derived from the MIT license)". Vi riporto il testo qui sotto, casomai fosse utile a qualcuno. Grazie ancora. Margherita Ps. Giusto per info :-) il programma serve a identificare geni differenzialmente espressi in esperimenti di microarray seguiti nel tempo e si puo' scaricare qui: http://www.na.iac.cnr.it/~bats/index.htm ---------------------------------------- BATS - Bayesian Analysis for Time Series ---------------------------------------- BATS has been written by C.Angelini, L. Cutillo, D.De Canditiis, M. Mutarelli and M. Pensky, 2007-2008. Copyright: I.A.C. "M. Picone" CNR (ITALY), 2007-2008. MATLAB is a registered trademark of The MathWorks, Inc. Java is a trademark of Sun Microsystems, Inc. Permission to use, copy, modify, and distribute the software BATS for any purpose without fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software. THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTY. IN PARTICULAR, THE AUTHORS AND THE MATHWORKS INC DO NOT MAKE ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. The MCR (MATLAB Component Runtime) Libraries are distributed under a Deployment Agreement for the sole purpose of running BATS, they are provided with the MCR Library License whose terms must be accepted prior to install and use BATS in its compiled form. When performing analysis with BATS, please cite: · C. Angelini, D. De Canditiis, M. Mutarelli, M. Pensky. A Bayesian Approach to Estimation and Testing in Time-course Microarray Experiments, Statistical Applications in Genetics and Molecular Biology: vol 6 : Iss. 1, Article 24, (2007). ---------------------------------------- _______________________________________________ ml mailing list [email protected] http://nalug.net/mailman/listinfo/ml
