Python应用程序的简单许可保护

时间:2011-06-10 13:58:43

标签: python licensing py2exe py2app

虽然有很多这样的问题,请跟我说,因为我认为我的不同......

我有一个5美元的Python应用程序,我使用py2exe,py2app和Linux源代码分发。该应用程序具有一年的许可证,因此人们需要在一年后升级到更新的版本。我想添加一些简单的许可证保护来强制执行一年的限制。由于应用程序只有5美元,我不在乎它是否容易绕过。只是拥有一些东西会鼓励许多用户在一年后支付5美元升级而不是忽略许可。

请注意:

  • 我希望源代码易于阅读,不要混淆
  • 我不想编译代码或SaaS
  • 我会考虑某种许可证密钥系统,如果它非常简单但不想要任何复杂的

我的第一个想法是简单地记录安装日期(例如,使用wxConfig)并在一年后使用礼貌消息禁用软件以升级。

有没有更好的解决方案?

1 个答案:

答案 0 :(得分:3)

为什么没有if语句比较日期并不能解决这个问题?

执行此操作的最佳方法可能是将数据包含在您的软件中,这些数据确实需要保持最新,以便对最终用户有用,例如TurboTax中的税表。当然,该业务战略的可用性取决于您的应用和市场。

你说代码是源可读的。你还能做什么呢?你可以拥有很多这些if语句...但grep或perl或其他python脚本也可以快速找到所有这些并重新安装它以便很快恢复工作。如果您的5美元产品有市场,那么烦恼的客户可能会将日期禁用脚本分发给他的好友或网络。

这就像行李挂锁。只适用于诚实的人......但也许这就足够了。

您可以在源代码中的关键if语句旁边放置DMCA通知。 if语句是在许可日期之后阻止使用的措施。问一个好律师。你的旅费可能会改变。

维基百科在“反规避”下的DMCA上有这个:

  

规避访问控制   第103节(17 U.S.C Sec.1201(a)(1))   DMCA声明:任何人都不得   规避技术措施   有效地控制对a的访问   受此标题保护的工作。该   法案定义了章节中的含义   1201(a)(3):( 3)用于此   款 -

     (一)“规避技术   措施“意味着解密一个   争抢工作,解密   加密工作,或以其他方式避免,   绕过,移除,停用或损坏   技术措施,没有   版权所有者的权威;和

     (B)技术措施   “有效地控制对a的访问   工作“如果措施,在平常   它的运作过程,需要   信息的应用,或   过程或治疗,用   版权所有者的权威   获得工作的机会。因此,如果   有一些“技术措施   有效地控制对a的访问   工作“,规避是违法的   那个措施。但是,第1201节   为此创建了几个例外   规则,国会图书馆   有权创造额外的   异常。

如果您在使用公钥签名的GPG签名字符串中有日期...那么恕我直言,您可以声称此过期信息字符串...拥有版权所有者的权限。你也可以检查是否有篡改公钥,但是你必须这样做是不明显的,因为规避它是违法的......

注意:自由软件先驱理查德·斯托曼(Richard Stallman)有一个理论认为,竞争往往会消除像付费墙,恼人的提醒等软件的反特征。