虽然有很多这样的问题,请跟我说,因为我认为我的不同......
我有一个5美元的Python应用程序,我使用py2exe,py2app和Linux源代码分发。该应用程序具有一年的许可证,因此人们需要在一年后升级到更新的版本。我想添加一些简单的许可证保护来强制执行一年的限制。由于应用程序只有5美元,我不在乎它是否容易绕过。只是拥有一些东西会鼓励许多用户在一年后支付5美元升级而不是忽略许可。
请注意:
我的第一个想法是简单地记录安装日期(例如,使用wxConfig)并在一年后使用礼貌消息禁用软件以升级。
有没有更好的解决方案?
答案 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)有一个理论认为,竞争往往会消除像付费墙,恼人的提醒等软件的反特征。