4

我在 MySQL 上使用 Python/Django。我目前正在使用GNU GPL 许可下的MySQLdb 。有没有类似 GPL 许可的具有“类似”功能的库?

澄清:

  • 我还不知道是否要分发我的源代码或为我的应用程序收费。我所知道的是,我不希望通过选择 MySQL 和 Python 来为我做出这些决定。
  • 我目前正在使用 Django 构建一个 Web 应用程序,我认为这个问题无关紧要,因为我没有“分发”任何东西,但我正在编写的 Python 代码可能可以作为桌面应用程序分发,这就是GPL 开始困扰我。

谢谢

4

4 回答 4

6

我相信 MySQLdb 在 GPL 或 Python 许可下是双重许可的。Python 许可证允许您分发没有源代码的二进制文件。源代码分发中的自述文件说:

License
-------
GPL or the original license based on Python 1.5.2's license.
于 2009-05-12T15:27:19.893 回答
4

您似乎误解了 GPL。(免责声明:我不是律师)

  • 您可以为您的应用程序收费,即使它是根据 GPL 许可的。GPL 允许你出售你的代码。
  • 即使您的代码在 GPL 下获得许可,您也不必分发任何东西。
  • 无论如何,如果不分发源代码,您就无法可靠地分发 python 代码。
  • mysqldb 是双重许可的。您可以选择 python 的许可证或 GPL 许可证。

编辑:为了澄清第 2 点,因为有些人感到困惑:您不必分发任何东西,但是如果您确实分发了某些东西,则必须分发它的源代码。

于 2009-05-12T15:30:00.247 回答
1

必须自己检查一下,这里有很多误导和错误的信息。

简短的版本:你不能。

MySQLdb1 - 或 python-mysqldb - 包在 GPL 下获得许可。

早期版本有一个关于可选使用 python 许可证的条款,但这从来都不是有效的。该项目包括一个 _mysql.c 文件,该文件具有专有 GPL2 或更高版本的版权声明和许可证。只要该文件存在,您就受到 GPL 的约束,即使文档中简要说明了其他内容。

mariadb 客户端库以 LGPL 形式提供,您可以链接到它而不是 mysql 客户端库 (GPL),但这无关紧要,只要项目本身是 GPL。

由于官方 MariaDB 文档/站点指向上述模块,看起来 MariaDB 的 LGPL 根本无法帮助 Python 用户。

如果有 Python 的备用 MariaDB/MySQL 客户端库,那将是另一回事......

于 2015-04-15T15:28:54.157 回答
0

很多......嗯......这里有误导性的答案。

如果 python-MySQLdb 与 Oracle 的客户端库(截至目前 (2014-02) 为 GPL)链接,那么 python-MySQLdb 以及使用它的应用程序将被 GPL 覆盖——这将与桌面应用程序相关分发案例。

python-MySQLdb 1.2.5 确实与 mariadb-native-client 1.0.0(即 LGPL)构建并链接。在这种情况下,使用 python-MySQLdb 的“基于 Python 1.5.2 许可证的原始许可证”可以启用桌面应用程序的仅二进制分发(在这种情况下,可能需要单独分发 mariadb-native-client 的源,如果它是动态链接的)。

于 2014-02-21T12:36:22.453 回答