Licenza MySql - Zambros Mercoledì 19 Agosto 2009 12:04 - Ultimo aggiornamento Martedì 03 Maggio 2011 12:51 Alcuni dei nostri progetti utilizzano il database MySql e una delle domande che ci vengono fatte piu' di frequente é "MySQL si paga per uso commerciale?". La risposta non è delle piu' semplici. Nel nostro caso, essendo degli esperti nel settore, riusciamo a evitare il costo della licenza. Tutto dipende dal tipo di librerie di interfacciamento che si utilizza. MySQL mette a disposizione due modi per interfacciarsi al database: una propria API scritta in linguaggio C ed un socket in ascolto che riceve comandi tramite una normale connessione TCP/IP. Un'applicazione che usa l'include di (per esempio) mysql.h si devono rilasciarne i sorgenti. La licenza GPL con il quale è stato rilasciato MySQL (ed anche le sue librerie client) dice chiaramente che quando si "linka" codice GPL ad altro codice, il risultato deve essere per forza rilasciato sotto licenza GPL. La licenza GPL però non impone vincoli di utilizzo dell'applicazione stessa. Utilizzare quindi una libreria client che al posto delle API, usa il socket TCP/IP, ci permette di utilizzare MySQL anche da un'applicazione closed-source, senza bisogno di ottenere una licenza commerciale. E' esattamente quello che fa la libreria di interfacciamento di Python oppure di PHP. Esse utilizzano il metodo di connessione al socket, senza fare l'include del codice di MySQL. Per un maggiore approfondimento: Link in particolare questo paragrafo 1/2 Licenza MySql - Zambros Mercoledì 19 Agosto 2009 12:04 - Ultimo aggiornamento Martedì 03 Maggio 2011 12:51 Riassumendo: Praticamente, se ci colleghiamo con mysql attraverso un socket tcp-ip non c'è da pagare la licenza. Questo è vero per il fatto che non viene usata una libreria propria di mysql per la connessione, ma qualcosa di esterno. Se in più, oltre a questo, l'applicazione commerciale sviluppata non comprende esplicitamente mysql per l'installazione, e mysql non è obbligatorio per il funzionamento dell'applicazione, allora a maggior ragione non c'è da pagare la licenza. ::ZetaGest:: Nel caso nostro, ci connettiamo a mysql con le librerie di php, e zetagest funziona benissimo anche senza mysql (infatti la classe che gestisce le connessioni potrebbe connettersi anche ad altri database, come PostgreSQL, SQL Server), e non lo include nell'installazione (mysql, come apache del resto) viene installato a parte. Siamo dei semplici utilizzatori di mysql. 2/2