Newsgroup: it.comp.java
Titolo: java+MySQL e...licenze?

Ciao a tutti, 
sono un pò confuso sulle licenze GPL etc. 
Ho realizzato una applicazione commerciale in Java e MySQL, posso 
distribuirla o devo pagare qualcosa per MySQL o altro? 
Vale lo stesso per Firebird? 
In fondo il DB mi serve solo per registrare dati, non metto mano al codice 
e librerie. 
Grazie 
Rigel 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 distribuirla o devo pagare qualcosa per MySQL o altro? 
Devi controllare il tipo di licenza del driver JDBC. Ad esempio 
Connector/J ha licenza GPL, il che vuol dire che se utilizzi il driver 
all'interno del tuo codice Java sei obbligato a rilascare anche questo 
con licenza GPL. Altrimenti devi acuistare una licenza commerciale da 
MySQL AB.
Invece la versione vecchia del driver, ovvero MM.MySQL ha licenza LGPL 
(attenzione alla "L" iniziale) il che ti permette di utilizzare il 
driver da qualsiasi applicazione senza restrizioni.
Ecco qui i link ai driver:
http://mmmysql.sourceforge.net/old-index.html
http://dev.mysql.com/downloads/connector/j/3.0.html
(Se qualcuno ha spiegazioni più corrette o approfondite lo dica pure.)
Se vuoi far ospitare la tua applicazione da un provider che supporta JSP 
+ MySQL probabilente il driver JDBC è già disponibile e compreso nel 
prezzo dell'hosting. Chi ne sa di più.
 > Vale lo stesso per Firebird?
JayBird (il driver JDBC di Firebird) viene distribuito con licenza LGPL 
e quindi non c'è nessun problema.
http://firebird.sourceforge.net/index.php?op=devel&sub=jdbc
Gaetano

 Gaetano 
 
Grazie, sei stato gentile. 
L'applicazione non gira sul web, ma ne ho un'altra che girerà su linux/
apache con server proprietario. 
Rilasciare il codice Java GPL, vuol dire includere i sorgenti 
nell'applicazione e scriverlo esplicitamente il qualche finestra? 
Faccio un salto sul sito di Firebird. 


 Faccio un salto sul sito di Firebird. 
Se hai la possibilità di scegliere tu il database server, se scegli 
PostgreSQL non ti sbagli:
http://www.posgresql.org/
http://jdbc.postgresql.org/
Il driver JDBC di PostgreSQL ha licenza BSD, una delle meno restrittive.
Inoltre mi è venuto il seguente dubbio: se creo un'applicazione che 
utilizza Connector/J e la faccio girare sul mio server, ma non la 
distribuisco a nessuno, non devo rilasciare il mio codice. Questo 
appunto perché il codice non lo distribuisco proprio. Non posso poi però 
vendere l'applicazione che ho creato.
C'è qualcuno che ne sa di più?
Gaetano
P.S.: sembra che il problema della licenza GPL di Connector/J e altre 
API di MySQL lo abbiano registrato anche altri:
MySQL Moves to Quiet Licensing Critics
http://www.devxnews.com/article.php/3382281

 Il driver JDBC di PostgreSQL ha licenza BSD, una delle meno restrittive. 
 
Il DB lo posso scegliere io per fortuna,  
il tuo suggerimento č l'ideale. 
Grazie ancora. 


 distribuirla o devo pagare qualcosa per MySQL o altro? 
Non fanno certo i salti mortali per chiarire:
http://www.mysql.com/company/legal/licensing/
The Commercial License, which allows you to provide commercial software 
licenses to your customers or distribute MySQL-based applications within 
your organization. This is for organizations that do not want to release 
the source code for their applications as open source / free software; 
in other words they do not want to comply with the GNU General Public 
License (GPL).
IMHO non credo abbiano ragione ma come vedi ci giocano sopra. E tu 
lasciali giocare... postgresql ha una licenza *sicuramente* applicabile 
e io distribuirei quello.

 > sono un pò confuso sulle licenze GPL etc. 


 elementare) in cosa consiste la licenza GPL????????
La licenza GPL, in due parole, permette di distribuire e copiare 
liberamente il software. Impone però che lo sviluppatore debba poter 
modificare liberamente il programma, che quindi deve essere in forma 
sorgente. Se modifica il programma però deve ridistribuirlo con licenza GPL.
Inoltre se un programma viene collegato (linkato) al una libreria GPL, 
anche il programma stesso deve essere rilasciato con licenza GPL.
Invece la LGPL (e altre licenza ancora meno restrittive) indicano che un 
programma collegato alla libreria LGPL può avere la propria licenza 
indipendente dalla LGPL.
Quindi ad esempio io posso utilizzare il driver JDBC di PostgreSQL e 
distribuirlo (ovvero venderlo) insieme alla mia applicazione commerciale 
senza che io debba pagare un soldo di licenza. Il driver JDBC di MySQL, 
invece non lo permette: è necessario comprare una licenza commerciale.
In conclusione concordo con Vincent: boicottare MySQL e utilizzare 
PostgreSQL oppure altri database con licenza meno restrittiva.
Gaetano

 Gaetano
trovo questa discussione molto molto interessante, e personalmente
sono contrario a qualsiasi restrizione d'uso in ambito applicativo,
perchè solo la libertà d'uso consente ad ognuno di esprimersi in base
alle proprie capacità contribuento al contempo alla crescita della
comunità
anche io sto realizzando una applicazione java che usa mysql
per ora non mi pongo il problema, quando dovrò rilascialra si vedrà
dato che ho una interfaccia unica verso sql ci metterò poco a cambiare
sql server
in ogni caso non mi dispiacerebbe rilasciare l'applicazione sotto GPL.
che importa se me la copiano !? non sono mica obbligato poi a
distribuire gli upgrade gratuitamente no ?, le aziende con cui ho
rapporti professionali continueranno comunque a pagarmi per il mio
lavoro e le mie soluzioni.
E se qualcuno mi farà concorrenza con i mie stessi sorgenti potrò
sempre spezzargli una gamba no ?
Scherzi a parte, se l'applicazione mostra nell "About.." che è stata
realizzata da me, anche chi volesse modificare il sorgente e
ridistribuirlo penso che per la GPL deve sempre dichiarare la
provenienza del software (oltre che rilasciarlo a sua volta in formato
sorgente), o sbaglio ?
mi vengono questi dubbi che sottopongo alla comunità:
1) mysql l'ho provato sia in winzoz che linux che mac, PostgreSQL con
quali sistemi è compatibile ?
2) per aggirare i limiti della licenza mysql, è possibile rilasciare
solo una parte dei sorgenti dell'applicazione ? (magari solo quelli
dell'interfaccia)
3) in ogni caso non ho problemi a rilasciare tutti i sorgenti assieme
alla mia applicazione, ma come faccio ad accompagnarli con una licenza
GPL ? devo censire il mio progetto da qualche parte o basta che vi
alleghi una dichiarazione standard gpl ?
4) L'applicazione che sto realizzando prevede una chiave di
attivazione (che attiva tutte le funzioni invece che solo alcune) che
rilascio io a fronte di una registrazione (che potrebbe essere anche
gratuita, poi mica sono obbligato a distribuire gli upgrade a tutti);
chissà se potrò mantenere questa caratteristica anche sotto gpl ?!
(volendo chi ne ha voglia può studiarsi l'algoritmo nei sergneti e
calcolarsela a mano)
quando avrò finito mi studierò bene quento previsto dalla GPL, ora
sono troppo preso dallo sviluppo.

 calcolarsela a mano)
No, se distribuisci un software con licenza GPL non puoi impedire
all'utilizzatore di farne l'uso che vuole. (Inoltre dato che la GPL va
oltre, ovvero devi fornire il codice sorgente, una chiava di attivazione
non avrebbe alcun senso pratico, dato che l'utilizzatore potrebbe
guardare il codice sorgente e modificarlo in modo che non venga più
richiesta alcuna chiave.)
Gaetano

...

ciao Gaetano
nel frattempo mi sono studiato un po la cosa
effettivamente va distribuito tutto soto GPL (altrimenti la seconda
parte non potrebbe usare l'interfaccia e così via)
il sorgente puoi anche non distribuirlo subito, ma se te lo chiedono
(entro 3anni dal rilascio) lo devi dare
in ogni caso la GPL garantisce molto l'autore perchè chi eventualmente
lo modifica e/o lo ridistribuisce (volendo anche facendosi pagare) in
tutto o in parte deve sempre lasciare la citazione dell'autore
originale
in ogni caso non realizzo mica sw per missili, quindi quello che
faccio lo può fare chiunque (e anche meglio), ed una eventuale (quanto
improbabile) ridistribuzione potrebbe portare ad una sicura pubblicità
e perchè no ad una collaborazione
ci vuole a studiarsi una applicazione..., e se interessa conviene fare
una partnership piuttosto che mettersi in concorrenza (dove comunque
deve restare l'identità del primo realizzatore)
penso che a questo livello ciò che più è interessante e remunerativo
nell'ambito delle applicazioni  è trovare soluzioni per il committente
finale e non tanto coding fine a se stesso
e quindi inscatolando soluzioni GPL anche di diverse persone si
possono assemblare soluzioni per le aziende che magari il singolo
autore non potrebbe raggiungere da solo, e magari essere poi contatto
dai distributori che gli chiedono implementazioni che, restando invece
isoltao e nascosto, altrimenti non avrebbe mai ricevuto
quindi ben venga GPL che aiuta la comunità a crescere, mettendo in
evidenza le capacità dei singoli e dandogli la possibilità di
esprimersi grazie alla comunità stessa (altrimenti da soli non
andrebbero lontano)
in ultimo per la registrazione, anche se può sembrare un paradosso
contro la filosofia stesso dell' OS, la GPL si preoccupa di poter
assicurare: copiatura, distribuzione e modifica senza incappare in
cavilli legali.
ovvio che se qualcuno mi chiede i sorgenti poi si può sbloccare
l'applicazione da solo, ma ne possiamo sempre parlare prima no ?
in ogni caso la registrazione di attivazione (che attiva le funzioni
anche in scrittura invece che solo in lettura) la darò gratuita, mi
serve solo per poter poi mandare un po di pubblicità se la si vuole,
ed estendere dei contatti che è sempre una cosa utile e da cosa nasce
cosa
in ogni caso se il mio sw lo usano altri a mia insaputa non mi
interessa, perchè probabilmente saranno persone che non potrei
raggiungere da solo, e la cosa più importante è che questo fenomeno
porta un sacco di pubblicità e del lavoro (e quindi denaro) che
altrimenti non potrei raggiungere.
infatti l'applicazione GPL E' PRIVA DI GARANZIA e per aziende che
necessitano di certezze con quello che fanno, devono per forza
contattare qualcuno (e chi meglio di chi ha realizzato l'applicazione
stessa), quindi questo porta lavoro diretto o indiretto (tramite i sub
distributori)
quindi sono favorevole alla grande per la GPL, ed è molto semplice
porre questo copyright al proprio sw che lo protegge veramente (e non
ti obbliga di distribuire subito il sorgente assieme al binario)
(e poi mica sto facendo l'applicazione della vita...)
scusa la lungaggine ma sta cosa mi piace assai, e trovo discutibile e
miopi soluzioni contrarie
ciao