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

Rispondere a