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