2010-04-30 46 views
5

我很好奇所有的PHP产品是否必须开源才能部署到其他网站。由于PHP代码是通过解释执行的,如果我将PHP产品部署在其他主机上,似乎没有理由阻止他人查看源代码。是否有可能使密切的PHP产品?

所以,PHP产品注定是开源的,对不对?

更确切地说,假设我做一个PHP博客系统。我想将此产品销售给某个博客托管公司。如果他们购买它,我无法阻止他们查看我的源代码是真的吗?

回答

1

是的,这是可能的。 Zend Guard可以加密你的源代码。然后,服务器只需要使用Zend Optimizer能够执行应用程序

我从来没有尝试过的,所以我没有经验。

7

Open source是关于许可证获得源代码,而不是对能力以查看它...即使编译语言,可以提取源代码 - 这不会自动使代码开源 - 但任何开源许可证甚至可以将此二进制代码转换为开源代码。

2

把未编译的或非混淆代码到一个服务器不限定它作为“开源”。为了成为开源代码,必须在特定的指导下以某种方式分发代码。简单地将代码放在服务器上并不会使其成为开源代码。

编译语言中有许多项目是开源的。

0

是的,它注定要成为“开源”在这个意义上,任何人都可以访问的服务器将能够查看它。

真正的“开源”项目的源代码分发。如果没有人能够访问服务器,那么无论如何他们都无法获得源代码。但是,如果您为公司编写应用程序并将代码放在其服务器上,则他们将有权访问该源并能够检查/修改它。这不应该成为一个问题,尽管他们在技术上拥有代码(如果他们支付的话)。

+0

为什么这是一个坏主意? – rjh 2010-04-30 15:21:12

+0

编辑答案,看看http://www.codinghorror.com/blog/2005/05/obfuscating-code.html – 2010-04-30 15:24:50

+0

“......从技术上他们自己的代码(如果他们为此付出了代价)。”这是契约性的事情,绝对不一定是真的。以Windows为代价 - 你付钱了,但你当然没有权利去检查或修改它。在OP的问题中,这听起来更像是他正在销售获得授权的产品,他当然可以编写许可协议来禁止代码更改。 (这与合同工作相反,版权可能归属采购公司。) – josh3736 2010-04-30 19:50:18

0

我见过有人这样做之前:

exec(base64_decode('')); 

虽然不是“完美”,它可以从旁观者好奇隐藏。不过,我不会推荐隐藏你的代码。如果你在开源产品中使用它,应用程序也应该是开源的。只需打一个牌照就可以了。

相关问题