我有一个应用程序,它使用的是libmysqlclient.so。我想知道,由于libmysqlclient是GPL,我是否需要在这个应用程序上使用GPL许可证,或者我是否可以继续使用封闭源代码的程序。
编辑:根据this site的说法,我可以在闭源软件中使用libmysqlclient客户端。
我只是不明白为什么GPL会如此“感染”代码……
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?
发布于 2010-01-11 06:50:18
libmysqlclient、JDBC连接器和其他与MySQL接口的库都是GPL (GPLv2)。严格阅读许可证将表明您需要在GPL下分发源代码。
有FLOSS豁免,它允许任何开放源码许可证包括libmysqlclient,但是这不适用于您。
Sun/Oracle积极地许可连接器库和服务器组件,在我的经验中,这是相当昂贵的。您可以使用一些技巧,例如查询代理服务器-只需启动一个子进程,即可将您自己的SQL命令转换为libmysqlclient。您将需要发送代理的源代码,但它是一个独立的部分。
发布于 2010-01-11 06:28:29
在这个问题上一直存在很多困惑和FUD。
首先,libmysqlclient是GPL 2,而不是LGPL (这可能更符合它是一个库)。然而,实际上有一个所谓的FLOSS例外,它允许免费和开源项目使用和分发libmysqlclient,而不必采用GPL许可证。
在您的情况下,我认为只有在您的应用程序也是GPL的情况下才可以链接到(和/或分发) libmysqlclient,或者使用另一个开源许可证(根据FLOSS例外)。
发布于 2010-01-11 06:47:12
这是有例外的,但GPL通常要求你也开源你的项目,并使用与GPL兼容的开源许可证。令人惊讶的是,GPL在x_x方面是有限制的。
https://stackoverflow.com/questions/2038881
复制相似问题