I am considering developing an application that relies on MySQL as for 
database functionality.  The application would include MySQL client API 
calls and be linked with MySQL libraries.  It would be distributed with the 
MySQL database.

According to the license terms in MySQL 3.23.30 Reference Manual (section 3.1):
"A license is required if:
You link a part of the of MySQL that has a GPL Copyright to a program that 
is not free software (embedded usage of the MySQL server). In this case 
your application would also become GPL through the clause in the GPL 
license that acts as a virus. By licensing MySQL from us under a commercial 
license you will avoid this problem.

You have a commercial application that ONLY works with MySQL and ships the 
application with the MySQL server. This is because we view this as linking 
even if it is done over the network.

You have a distribution of MySQL and you don't provide the source code for 
your copy of the MySQL server, as defined in the GPL license."

The statement, "You have a commercial application that ONLY works with 
MySQL and ships the application with the MySQL server. This is because we 
view this as linking even if it is done over the network." is troubling 
because it appears to violate the intent if not the terms of the GPL/LGPL 
licensing.

I read this statement as saying that if you develop a commercial 
application that relies only on MySQL for its database functionality, then 
you have to get a commercial license for your product or else your product 
becomes GPL itself.

How can this be since MySQL is GPL and its client libraries that are linked 
into the application are LGPL?  The commercial application should be able 
to freely incorporate the LGPL libraries and still be distributed for 
profit like other applications that incorporate LGPL libraries.

The fact that an application that is a MySQL client works only with MySQL 
database should not have any effect on licensing.  This is no different 
than a commercial Linux application that incorporates the Linux LGPL 
libraries and works only with the GPL Linux Operating System.  In this case 
the commercial Linux application can be distributed for profit, it does not 
require a "special" license and it does not become GPL.  How is an 
application, which incorporates the LGPL MySQL libraries and relies on the 
GPL MySQL to run, different from the previously described Linux application?

MySQL's license uses the GPL "virus" clause to justify its 
licensing.  Doesn't the reference to the virus clause under the GPL license 
basically have to do with repackaging a GPL component into proprietary 
software.  In other words, if an application wraps GPL components then the 
application itself becomes GPL.  However, an application that is a client 
to the MySQL database is not wrapping but acting as a user to the GPL MySQL 
software in the same way that a Linux application acts as a user of the GPL 
Linux operating system software.  The only linkage in both cases is through 
APIs in the LGPL libraries.  I can't see the distinction.

Any thoughts?

Jeff

Reply via email to