客户端应用程序和MySQL GPL

时间:2011-08-31 07:14:53

标签: mysql licensing gpl

如果我在商业许可下分发我自己的客户端应用程序,该应用程序与位于我的服务器上的MySQL社区版(GPLv2)交互,那么我的客户端应用程序需要GPL吗?如何在没有GPL的情况下为我的客户安全地分发我的应用程序?据我所知,只有在嵌入MySQL的分布式时才需要MySQL商业许可证。我的应用程序是否需要GPL才能“与...建立连接”?

3 个答案:

答案 0 :(得分:2)

以下是我个人的观点,但不是每个司法管辖区的最终真相:

最安全的解决方案是您自己不分发 MySQL客户端库。如果您不分发它们,则不可能受其许可限制的约束。

只需提供详细说明,说明如何下载和安装所需的库,并让用户这样做。

<强>更新

关于您通过网络作为服务提供的数据库:它没有任何区别。

只要您不分发任何GPL代码,您就是安全的。

如果MySQL使用GNU Affero许可证,可能会变得更加复杂,但事实并非如此。

更新2:

如果您使用Google进行“gpl动态链接”并阅读多篇文章,您会发现即使在美国,关于动态链接的问题也不清楚。因此,除非您在您所在的司法管辖区内与甲骨文一起出庭,否则对此问题没有明确的答案。这对他们的销售非常方便,他们会让你害怕。

我不在美国。我不知道你在哪里。在我的司法管辖区,声称只是为图书馆提供兼容的界面(未分发)会产生衍生作品。我想要注意的是,有很多程序与MySQL兼容,你不会发现任何麻烦。

答案 1 :(得分:2)

+1给@snap他的好答案,我将添加另一个具体的例子:

PHP的许可证是新BSD许可证的衍生产品,与GPL不兼容。所以PHP发行版不能包含MySQL客户端库;用户必须单独下载它。这样,PHP和用户都遵守GPL许可证,因为只有MySQL.com 分发 MySQL软件。

几年前,MySQL开发了一个new client library specifically for PHP,它利用PHP内部资源进行资源管理,但更重要的是根据PHP许可证授权,这允许它与PHP发行版捆绑在一起。

这意味着如果您的项目是用PHP编写的,那么您可以在商业项目中使用和分发MySQLnd客户端库 - 事实上,无论如何都应该有很好的技术原因,因为它针对PHP进行了优化。

答案 2 :(得分:0)

一个非常好的选择是MariaDB客户端库,它是根据LGPL 2.0许可的。 见https://downloads.mariadb.org/client-native/