为什么比较日期的 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 有一个理论,即竞争往往会消除软件中的反功能,如付费墙、烦人的提醒等。