Dubbi su MySQL e licenza GPL.

Marco Bisetto biso@0xa0.com
Mar 20 Apr 2004 10:38:33 CEST


>> Per come ho capito io la GPL, e le clausole di licenza aggiuntive di
>> MySQL, ne cito una in particolare:
>> 
>>       Free use for those who never copy, modify or distribute. As
>>       long as you never distribute (internally or externally) the
>>       MySQL Software in any way, you are free to use it for powering your
>>       application, irrespective of whether your application is under GPL
>>       license or not.
>> 
>> Un'applicazione chiusa puo` utilizzare MySQL come database, purche'
>> MySQL non venga fornito insieme all'applicazione stessa.
>
>Per come ho interpretato io, la questione non dovrebbe riguardare 
>l'eventuale distribuzione di MySQL (che è già rilasciato/distribuito, 
>pur con due differenti stili di licenza) quanto piuttosto l'applicazione 
>che utilizza MySQL, qualora venisse distribuita.
>

[...]

>
>3) Chiunque abbia scritto un sw che si appoggia a MySQL, nel momento in 
>cui intendesse distribuirlo dovrebbe scegliere se:
>
>   3-a) rilasciare anche il proprio sw sotto GPL (Il che, tra l'altro, 
>implica rendere disponibili i sorgenti);
>
>   3-b) acquistare la licenza commerciale di MySQL, e rilasciare il 
>proprio programma con una licenza non-GPL
>
>Il quesito originale nasceva se non erro dal fatto che era stato 
>individuato un caso in cui non sembrava rispettato ne' il 3-a ne' il 3-b.
>
>> Ovviamente a patto che all'interno dell'applicazione non vengano usati
>> codice o librerie provenienti da MySQL (ma questo vale piu` in
>> generale per il software libero).
>
>Ma il fatto di utilizzare programmaticamente (si dice?) un dbms non 
>implica l'utilizzo del suo query-language e delle sue specifiche 
>interfacce e quindi, almeno indirettamente, delle sue librerie 
>d'interfaccia?
>


Pero` il query language di MySQL e` SQL, un linguaggio standardizzato. 


>> Nel caso in cui MySQL venga installato dalla distribuzione di Linux,
>> per quanto ho capito un'applicazione chiusa lo puo` utilizzare come
>> database al pari di Postgres o qualsiasi altro server SQL.
>> 
>> E` corretta la mia interpretazione?
>
>Secondo me si, come già detto, fino a quando l'applicazione non viene 
>distribuita all'esterno. Fino a quel limite, anzi, anche se la distro in 
>questione non lo avesse installato potresti farlo autonomamente senza 
>alcun problema.
>


L'interpretazione secondo la quale l'unico modo per utilizzare MySQL
licenziato GPL con un software proprietario, sia di scriversi in casa
il software proprietario stesso mi pare troppo restrittiva. Questo
perche' MySQL e` pur sempre un server che comunica tramite protocolli
standardizzati: TCP/IP e SQL. Sarebbe come se l'utilizzo di Apache
fosse condizionato dal modello di licenza dei contenuti (gli script
php o python, per esempio) del server web di cui e` motore.

Forse una spiegazione piu` chiara viene dalla faq di mysql, dove si
spiega il motivo per cui sono passati dalla LGPL alla GPL per le
librerie:

http://www.mysql.com/products/licensing/faq.html

	The change from the LGPL to the GPL for the client libraries
	was made in 2001 during the development of MySQL 4.0 to help
	MySQL AB more easily differentiate between a proprietary user
	who should buy a commercial license and a free software user
	who should use the GPL license. Previously there were people
	that were misusing the GPL by distributing the MySQL server
	tightly coupled with their applications and claiming that the
	GPL doesn't affect them because the client libraries were free
	to use.

Il punto fondamentale dell'interpretazione secondo me e` quel "tightly
coupled". Ovvero: se sei un produttore di software, e scrivi del
codice proprietario che funziona _esclusivamente_ se accoppiato a
MySQL, utilizzandone le librerie, allora significa che stai producendo
un derivato di mysql e devi pagare la licenza. Se invece il tuo codice
funziona altrettanto bene con altri motori SQL, allora il tuo cliente
non e` legato a mysql dalla tua applicazione (ovvero non e`
_obbligato_ a procurarselo, non ricadi nella clausola "copy, modify or
distribute MySQL" citata all'inizio) e quindi puo` usarlo rimanendo
nei termini della GPL; purche' tu non distribuisca MySQL assieme alla
tua applicazione, nel qual caso lo stai utilizzando come valore
aggiunto del tuo prodotto, e devi pagare la licenza commerciale.

Comunque sia, personalmente mi pare che alcune restrizioni vadano
oltre la GPL e siano pericolose. Allora per lo stesso motivo Microsoft
avrebbe ragione di chiedere una licenza per l'uso di Linux, o Samba,
considerato che in essi ci sono parti di codice capaci di leggere e
scrivere i filesystem FAT e NTFS o di integrarsi, tramite il
protocollo SMB, con altri computer basati su sistemi operativi
Microsoft. Con un'interpretazione cosi` vasta di "lavoro derivato",
molti programmi liberi potrebbero essere considerati derivati di altri
prodotti commerciali (fatto che alcune ditte detentrici di brevetti
vogliono forzare all'estremo). Ma il principio che un prodotto A sia
derivato dal prodotto B solo perche' A si interfaccia con B, pur non
contenendone una sola riga di codice, mi pare sia decisamente nefasto.

m


Maggiori informazioni sulla lista blug