GPL and libmysqlclient [closed]
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this questionI have an application, it uses the libmysqlclient.so I wonder if I need GPL license on this applic开发者_如何学运维ation due to libmysqlclient be GPL or if I can continue the program in closed source
EDIT: According to this site, I can use the libmysqlclient in a closed-source software.
Just do not understand why the GPL "infects" the code so much ...
EDIT2: If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL or a GPL-compatible license?
There has always been a lot of confusion and FUD around this issue.
First off, libmysqlclient is GPL 2, not LGPL, (which would argueable be more in line with it being a library). However, there is a so-called FLOSS exception in effect, which allows free and open source projects to use and distribute libmysqlclient without having to adopt the GPL license.
In your case, I think you may only link to (and/or distribute) libmysqlclient if your application is also GPL, or goes by another open source license (as per the FLOSS exception)
There are exceptions to this, but GPL usually requires that you open source your project too and use an open source licence that's compatible with GPL. GPL is surprisingly restrictive in that aspect x_x
libmysqlclient, the JDBC connector, and other libraries to interfacing to MySQL are GPL (GPLv2). Strict reading of the license would show that you need to distribute your source code under the GPL.
There is the FLOSS exemption, which allows any open source license to include libmysqlclient, however this does not apply to you.
Sun/Oracle aggressively license the connector libraries and server components, and in my experience are quite expensive. There are some tricks you can use, such as a query proxy server - simply launch a child process which can transform your own SQL commands to libmysqlclient. You will need to ship the source of the proxy, but its a self contained piece.
According to this site, I can use the libmysqlclient in a closed-source software.
Just do not understand why the GPL "infects" the code so much ...
libmysqlclient is indeed GPLv2 and you either need to GPL your code that calls this library, or buy a commercial license from Oracle.
However, if use ODBC instead you can write your application to the ODBC API which is NOT GPL. Your customers can then choose to install the MySQL ODBC Driver or any other driver.
精彩评论