【发布时间】:2010-04-30 15:16:19
【问题描述】:
我很好奇如果要部署到其他网站,是否所有 PHP 产品都必须开源。由于PHP代码是通过解释执行的,如果我有PHP产品要部署在别人的主机上,似乎没有理由阻止别人查看源代码。
那么,PHP 产品注定是开源的吧?
更准确地说,假设我制作了一个 PHP 博客系统。我想将此产品出售给一些博客托管公司。如果他们购买了我的源代码,我真的不能阻止他们查看吗?
【问题讨论】:
标签: php open-source
我很好奇如果要部署到其他网站,是否所有 PHP 产品都必须开源。由于PHP代码是通过解释执行的,如果我有PHP产品要部署在别人的主机上,似乎没有理由阻止别人查看源代码。
那么,PHP 产品注定是开源的吧?
更准确地说,假设我制作了一个 PHP 博客系统。我想将此产品出售给一些博客托管公司。如果他们购买了我的源代码,我真的不能阻止他们查看吗?
【问题讨论】:
标签: php open-source
Open source 是关于获取源代码的license,而不是关于查看源代码的能力 ...即使使用编译语言,也可以提取源代码代码 - 它不会自动使代码开源 - 但任何开源许可证甚至都可以将此二进制代码变成开源。
【讨论】:
是的,这是可能的。 Zend Guard 可以加密你的源代码。然后,服务器只需使用Zend Optimizer 即可执行您的应用程序
但我从未尝试过,所以我没有经验。
【讨论】:
将未编译或未混淆的代码放到服务器上并不符合“开源”的条件。要成为开源代码,必须在某些指导方针下以某种方式分发。简单地将代码放在服务器上并不能使其开源。
有许多编译语言项目是开源的。
【讨论】:
是的,它注定是“开源”的,因为任何有权访问服务器的人都可以查看它。
真正的“开源”项目已分发源代码。如果没有人可以访问服务器,那么他们无论如何都无法获得源代码。但是,如果您为一家公司编写应用程序,并将代码放在他们的服务器上,他们将可以访问源代码并能够检查/修改它。不过这应该不是问题,因为从技术上讲,他们拥有代码(如果他们付费的话)。
【讨论】:
我以前见过有人这样做:
exec(base64_decode(''));
虽然不是“完美”,但它可以隐藏好奇的观众。但是,我不建议您隐藏您的代码。如果你在开源产品中使用它,那么应用程序也应该是开源的。只需在上面贴上许可证即可。
【讨论】: