目前,我正在托管我为客户开发的Django应用程序,但现在我开始考虑将其出售给人们以供他们托管。
我的问题是:如何包装和出售Django应用程序,同时保护其代码不被盗用或盗窃?分发一堆.py文件听起来不是一个好主意,因为我出售给他们的人也可以复制它们并将其继续传递。
我认为出于这个问题的目的,可以安全地假设每个购买此产品的人都将运行相同的(LAMP)安装程序。
不要尝试混淆或加密代码-它永远不会起作用。
我建议“以服务形式”出售Django应用程序-为他们托管它,或者向他们出售代码 和支持 。撰写合同,禁止他们重新分发。
就是说,如果您决定以某种方式混淆代码-您可以将整个Python应用程序完全分发为.pyc(Python编译的字节码)。.Py2App就是这样工作的。
它仍然可以重新分发, 但是 编辑文件将非常困难-因此您可以添加一些基本的许可内容,而不会被挫败几#秒钟。
#
就像我说的那样,我认为您不会通过加密或混淆等手段成功地进行反盗版。根据客户的不同,简单的合同以及一些真正的基本检查可能会比复杂的解密系统走得更远(而没有使用您的应用程序的体验 更好 ,而不是 希望不是更糟 )