【问题标题】:Making a self destructive code in R在 R 中编写自毁代码
【发布时间】:2014-05-17 17:01:05
【问题描述】:

我正在用 R 制作一个包,并希望它成为试用版,为期 30 天。

我的问题是如何根据天数使代码自毁?

我玩了一段时间的时间和日期包我才知道​​,

Sys.Date() 可以给出今天的日期,所以我得到下面的东西

today=Sys.Date()
a=today
b=a+1
if(a==today)
{ 
   print(paste("today is  sunday"))
   if(b==today){
       print(paste("today  is  monday"))
    }             

我知道无论我做什么都是愚蠢的工作,我唯一的想法是将包的第一次使用固定为开始日,并且每天它会增加直到 30 天,当它达到限制时它会自动销毁使用

file.remove ()

也许我对自己的想法很清楚。

很抱歉这个新手问题。

【问题讨论】:

  • 代码会开源,这样不是没有意义吗?
  • 所以您打算将自己的软件包的使用限制为 30 天试用期?
  • 一旦他们安装了包,源代码是可见的。
  • R 及其包系统被设计为开源的。这是该语言成功的原因之一,并且使得 R 无法可靠地做到这一点。
  • 您将在此处获得与发布到 R-help 时相同的答案。不要同时发帖,这会浪费大家的时间。

标签: r datetime package gwidgets


【解决方案1】:

将此条件添加到许可证中。 (“30 天免费,之后您必须付费”。)并希望用户遵守此规定。

你真的无能为力了。

嗯,实际上你可以。例如,在您的代码第一次运行时,将当前日期保存到某个位置的文件中(例如,"~/.datetocheck")。然后每次运行你的代码时,检查这个文件是否存在,如果存在,比较日期。如果超过 30 天,请给出错误消息:

stop("Time is over! You have to pay!")

问题是没有什么能阻止用户简单地删除这个文件。

【讨论】:

  • 但是R 的主要支柱之一是它的所有代码都是开源的。如果您要尝试销售软件包,则很可能首先会被用户社区回避(而且很可能有人会编写您工具的更好版本并在 LGPL 下发布)。
猜你喜欢
  • 2017-02-12
  • 2011-06-16
  • 2018-10-09
  • 1970-01-01
  • 2015-08-05
  • 2014-08-01
  • 1970-01-01
  • 2015-12-22
  • 1970-01-01
相关资源
最近更新 更多