GPL and libmysqlclient [closed]

纵饮孤独 提交于 2019-12-20 01:49:08

问题


I have an application, it uses the libmysqlclient.so I wonder if I need GPL license on this application 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?


回答1:


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.




回答2:


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)




回答3:


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




回答4:


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 ...




回答5:


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.



来源:https://stackoverflow.com/questions/2038881/gpl-and-libmysqlclient

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!