MYSQL和GPL推荐?

时间:2012-11-18 16:14:45

标签: mysql licensing gpl sun

我现在正在用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下适用时)?

1 个答案:

答案 0 :(得分:6)

是。没有。

即使你的程序,甚至远程接触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/

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

  

答:原始设备制造商,独立软件供应商和增值经销商希望将MySQL软件的商业二进制文件嵌入其商业应用程序中,但不希望受到GPL的约束,并且不希望发布其专有应用程序的源代码,应购买Oracle的商业许可。购买商业许可证意味着GPL不适用,商业许可证包括分销商通常在商业分销协议中找到的保证。

问题4:Oracle的MySQL软件双重许可模式是什么?

  

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

这条款以其他方式有什么意义?

并不是说网络托管可以拥有一些许可证,不,网络托管不会分发使用mysql的网络托管环境,因此它不适用。

谁知道我想在localhost或共享网站上安装程序?

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

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

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

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

1.YES - 如果它直接触及mysql 2.如果它使用PHP作为图层来执行它。

所以对你来说,在这个特殊的PHP情况下,它是NO,你的php软件不一定是GPL。