-->

我将如何包装和销售Django应用程序?(How would I package and sell

2019-09-02 12:59发布

目前,我主持一个Django应用程序我开发我为我的客户,但我现在开始考虑将其出售给人民为他们举办自己。

我的问题是:我怎么能打包和销售Django应用程序,同时保护它的代码从盗版或盗窃? 分发一堆.py文件不听起来像一个好主意,因为我卖它也可能只是让它们的副本,并通过他们的人。

我认为这个问题的目的,这将是安全的假设,大家谁买这将运行相同(LAMP)的设置。

Answer 1:

不要试图混淆或加密的代码 - 它不会有任何效果。

我建议卖Django应用程序“作为服务” -任一主机为他们,或者卖给他们的代码和支持 。 写起来,禁止他们重新分配它的合同。

也就是说,如果你决心要混淆代码以某种方式 - 你可以完全分发Python应用程序为pyc文件(编译Python的字节码)..它Py2App是如何工作的。

它仍然会被重新分配, 但是这将是非常困难的编辑文件-这样你就可以添加一些基本的许可的东西,没有它由少数挫败#秒。

正如我所说,我不认为你会通过加密或混淆等反盗版成功..根据您的客户端,一个简单的合同,也许有些很基本的检查,还有很长的远远超出一些复杂的解密系统(而没有使用您的应用程序更好的体验,而不是希望不是更糟



Answer 2:

我会去了解它的方式是这样的:

  1. 加密所有的代码
  2. 写一个安装程序,联系人与机器的主机名和许可文件服务器并获取解密密钥,然后解密代码并将其编译成字节码蟒
  3. 添加,检查进口机器的主机名和许可文件和死,如果它不匹配模块(安装)

通过这种方式,用户只需要联系时,主机名的变化和上先安装服务器,但你得到的安全一小层。 您可以更改主机名到更复杂的东西,但真的没有必要 - 任何人想盗版,这将这样做,但像这样的简单机制将保持诚实的人诚实。



Answer 3:

你可以打包了整个事情了作为亚马逊机实例(AMI),然后让他们运行你的应用上亚马逊的EC2 。 有关该解决方案的好处是,亚马逊将照顾计费的为你 ,因为你要发布整个机器的图像,你可以肯定的是所有客户端都使用相同的LAMP堆栈。 AMI的是,但是你想它被配置加密机图像。

你可以有亚马逊法案,一次性费用,基于使用费,或者月租费的客户端。

当然,这种解决方案需要你的客户在亚马逊托管其应用程序,并支付相应的费用。



Answer 4:

“加密” Python源代码(或字节码,还是真的字节代码使用任何语言 - 不仅仅是Python)的就像那些小的JavaScript的东西有些人把网页上的尝试禁用右手鼠标按钮,宣告“现在你不能偷我的图片!”

变通办法是微不足道的,并不会停止决心的人。

如果你是要卖掉一块Python的软件真的严重,就需要采取行动严重。 支付律师起草许可/合同条款,让人们同意他们在购买的时间,然后才让他们有实际的软件。 这意味着你必须要让人们进入法庭,如果他们违反许可/合同条款,但你必须这样做有不管什么(例如,如果有人伤了你的“加密”,并开始分发软件),以及法律的话实际适当的形式已经写在纸上,用自己的签名,将远在长期内更好地为您的业务。

如果你真的那么偏执的人“窃取”你的软件,不过,只要坚持以托管模式,不给他们对服务器的访问。 成功的企业的大量都是基于这一模式。



Answer 5:

你永远可以从人谁真正想要保持它的源代码。 这是最好的来接受这个事实交手了,后来又保存自己的头痛。



Answer 6:

我可以坦白地说,作为一个朋友? 除非你的应用程序是真是太神奇了,你可能不会得到很多买家。 为什么要浪费在律师,混淆,许可和诸如此类的东西的时候? 您进账通过开放式采购你的代码...并保持其较好的声誉。

Django自带从光谱的开源端从牌(和混淆)。 诚然,MIT许可证比GPL多见; 他们仍然都是很远的像微软的EULA任何删除。 很多Djangophiles将不惜封闭源代码,只是因为这是微软做什么。

同时,人们会相信你的代码比较多,因为他们将能够阅读并确认它不包含任何恶意代码。 记住,“混淆”的意思是“隐藏”; 谁还会真正确切地知道你已经隐藏了什么?

诚然,有赚钱开源代码没有简单的方法。 但是你可以提供你的服务,甚至发布活动上Pledgie.com,对于那些谁是感谢您的所有伟大的工作。



Answer 7:

你可能要考虑的一件事是FogBugz的做什么。 简单地包括被编译为目标平台和包含的代码来验证许可证小二进制(可能是一个C程序)。

这样,您就可以保持诚实的人诚实地面对你的一部分最小的头痛。



文章来源: How would I package and sell a Django app?