MySQL支持Python,不支持GPL类许可证

时间:2009-05-12 15:20:10

标签: python mysql open-source gpl

我在MySQL上使用Python / Django。我目前正在使用GNU GPL许可下的MySQLdb。是否有一个具有“类似”功能的库不属于类似GPL的许可证?

澄清:

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

由于

4 个答案:

答案 0 :(得分:6)

我相信MySQLdb是根据GPL或Python许可证进行双重许可的。 Python许可证允许您在没有源的情况下分发二进制文件源代码发布中的README说:

License
-------
GPL or the original license based on Python 1.5.2's license.

答案 1 :(得分:4)

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

  • 您可以为您的申请收取费用,即使它是根据GPL许可的。 GPL允许您销售代码。
  • 即使您的代码是根据GPL许可的,您也不必分发任何内容。
  • 无论如何都不能在不分发源的情况下可靠地分发python代码。
  • Mysqldb是双重许可的。您可以选择python许可证或GPL许可证。
编辑:澄清第2点,因为有些人感到困惑:你不必分发任何东西,但是如果你确实散布了东西,你必须分发它的源代码。

答案 2 :(得分:1)

不得不亲自检查一下,这里有很多误导和错误的信息。

简短版:你不能。

MySQLdb1 - 或python-mysqldb - 软件包是根据GPL许可的。

早期版本有一个关于python许可证的可选用法的条款,但这从未有效。该项目包括一个_mysql.c文件,该文件具有版权声明和许可证,该版权声明仅为GPL2或更新版本。只要该文件存在,您就受到GPL的约束,即使文档没有简要说明。

mariadb客户端库可以作为LGPL使用,你可以链接到它而不是mysql客户端库(GPL),但只要它自己的项目是GPL就无关紧要。

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

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

答案 3 :(得分:0)

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

如果python-MySQLdb链接到Oracle的客户端库(现在是GPL)(2014-02),那么python-MySQLdb以及使用它的应用程序将被GPL覆盖 - 这与桌面应用程序分发案例。

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