5

我现在正在用 PHP 开发程序,并且我阅读了 GPL。我在其他地方读到过,如果我的程序甚至从 Oracle 远程连接到免费版的 MySQL 数据库,我的整个 PHP 应用程序都必须完全支持 GPL。

如果我不希望我的应用程序根据 GPL 获得许可,我唯一的选择是从 SUN 购买商业许可吗?

谁能帮助我提供以下信息来支持我的需求:

  • 我想通过 GPL 以外的方式在网上分发这个应用程序,这在使用非商业版的 Oracle MySQL 时是否可行?

  • 我必须连接到它并将数据保存在数据库中,例如使用 WordPress、Joomla 或 Drupal 等 CMS。

例如,如果我只有以下代码:

<?php
$con = mysql_connect("localhost","root","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

mysql_query("INSERT INTO X (A, B, C)
VALUES ('A', 'B','C')");


mysql_close($con);
?>

它必须符合 GPL 或 GPL 吗?如果是,我是否也发布了来源?如果是,是否允许使用 Zend 或 Ioncube 对其进行加密?使用任何加密工具对此类代码(仅当其适用于 GPL 时)进行合法加密?

4

1 回答 1

7

是的。和不。

即使你的程序,甚至远程接触 MYSQL 数据库,它也必须在 GPL 下。除非您将它与您之前购买的商业 mysql 库一起分发。

GPL 说如果你的程序使用 GPL 库,它必须是 GPL:

http://www.gnu.org/licenses/gpl-faq.en.html#IfLibraryIsGPL

如果一个库是在 GPL(而不是 LGPL)下发布的,这是否意味着任何使用它的软件都必须在 GPL 或 GPL 兼容许可证下?(#IfLibraryIsGPL) 是的,因为实际运行的软件包含该库。

看看“使用它”这个短语。只有使用它就足以完成这个要求。

另外查看 SUN 许可: http ://www.mysql.com/about/legal/licensing/oem/

Q3:作为商业 OEM、ISV 或 VAR,我应该何时购买 MySQL 软件的商业许可证?

答:OEM、ISV 和 VAR 想要在其商业应用程序中嵌入 MySQL 软件的商业二进制文件的好处,但不希望受 GPL 约束,也不希望发布其专有应用程序的源代码,应购买商业许可证来自甲骨文。购买商业许可证意味着 GPL 不适用,商业许可证包括分销商通常在商业分销协议中找到的保证。

Q4:Oracle 对 MySQL 软件的双重许可模式是什么?

Oracle 在 GPL 和商业许可下提供其 MySQL 数据库服务器和 MySQL 客户端库。因此,在 GPL 下使用或分发开源应用程序的开发人员可以使用 GPL 许可的 MySQL 软件,以及不想在 GPL 许可下将 MySQL 软件与他们自己的商业软件组合或分发的 OEM、ISV 和 VAR可以购买商业许可证。

以其他方式,该条款的意义是什么?

这与网络托管可以拥有一些许可证无关,不,网络托管不分发使用 mysql 的网络托管环境,因此它不适用。

还有谁知道我想在哪里安装程序,在本地主机上还是在共享网络上?

如果您不想在 GPL 下使用它,您必须从 SUN/Oracle mysql 购买商业许可证,并使用这些单独的库分发您的程序。

这里是 PHP。 如果你用 PHP 开发程序,那么答案是:

它不一定是 GPL。为什么 ?因为 PHP 在 FOSS 列表中 http://www.mysql.com/about/legal/licensing/foss-exception/

所以你的问题有2个答案:

1.YES - 如果它直接接触 mysql 2.No 如果它使用 PHP 作为层来做它。

所以对你来说,在这个特定的 PHP 案例中,它是 NO,你的 php 软件不必是 GPL。

于 2012-11-19T06:11:23.020 回答