你对此有策略吗?如果我向客户出售网络系统并且根据法律协议,客户不允许将其出售给其他人,我怎么能确定他不会这样做呢?
我的第一个想法是必须在根目录中的某种键,并且该文件仅对该特定域有效.
其他想法?
更新1 我同意这主要是一个法律问题.但事实是:我有一个客户从我这里购买这个系统,然后卖给别人.他希望这个系统能够运作,这样他就可以轻松获利.打包Web服务器并将其出售的能力是规范的一部分.
更新2 另一个观点是这个.在这种情况下,很难证明有多少经销商的软件来自我的原始系统.
更新3 混淆不是我的选择,真是讨厌它.
有些人使用像Zend Guard这样的混淆器,但老实说,我认为针对这类问题的技术解决方案就像DRM用于音频和视频内容一样注定要失败.从根本上说,你给予他们的是工作,所以只是一个技术问题,让它以你不想要的方式工作.
你在这里的资源是(imho)合法而非技术.您与客户签订了一份合同,规定了他们能做什么和不能做什么.你有一份很好的律师合同草案.如果他们不遵守它,那么你几乎不得不把他们告上法庭.
不要将任何形式的混淆或复制保护视为任何形式的保证.
这对于脚本语言尤其是一个问题,因为(尽管如此),它们基本上都是明文分发方法.Java和.Net以及其他字节码编译语言有更多的保护,但它们也可以被反汇编成中间代码(但混淆在这里更有用).真正编译的语言(例如c,C++)具有最大程度的保护,因为将50兆字节的二进制文件反汇编成汇编程序代码通常没那么有用.
即便如此,也没有任何保证.如果您对此不满意,那么您需要仔细选择您的客户,承担可能违反合同的风险(以及可能迫使您追求的可能执行)或找到另一项工作.