15

虽然有很多这样的问题,但请多多包涵,因为我认为我的不同......

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

注意:

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

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

有没有更好的解决方案?

4

1 回答 1

5

为什么比较日期的 if 语句不能为您解决这个问题?

做到这一点的最佳方法可能是将数据包含到您的软件中,这些数据确实需要保持最新才能对最终用户有用,例如 TurboTax 中的税表。当然,该业务策略的可用性取决于您的应用程序和市场。

您已经说过代码是源代码可读的。你还能做什么?你可以有很多这样的 if 语句......但是 grep 或 perl 或其他 python 脚本也可以快速找到它们并很快修复它以再次工作。如果您的 5 美元产品有市场,那么恼火的客户可能会将日期禁用脚本分发给他的朋友或通过网络。

这就像一个行李挂锁。只对诚实的人有效……但也许这已经足够了。

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

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

规避访问控制 DMCA 第 103 条(17 USC Sec. 1201(a)(1))规定:任何人不得规避有效控制对受本标题保护的作品的访问的技术措施。该法案在第 1201(a)(3) 节中定义了它的含义: (3) 如本小节所述——</p>

(A) “规避技术措施”是指在未经版权所有者授权的情况下,对加扰的作品进行解扰、对加密的作品进行解密,或以其他方式避免、绕过、删除、停用或削弱技术措施;和

(B) 一项技术措施“有效控制对作品的访问”,如果该措施在其正常运行过程中,需要在版权所有者的授权下应用信息、过程或处理,以获得访问权到工作。因此,如果存在某种“有效控制对作品的访问的技术措施”,则规避该措施是非法的。但是,第 1201 节为此规则创建了几个例外,并且国会图书馆有权创建其他例外。

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

注意:自由软件先驱 Richard Stallman 有一个理论,即竞争往往会消除软件中的反功能,如付费墙、烦人的提醒等。

于 2011-06-10T14:25:41.253 回答