【问题标题】:Stealing methods and data from other R packages从其他 R 包中窃取方法和数据
【发布时间】:2015-05-29 18:09:21
【问题描述】:

我目前正在开发一个 R 包,它使用来自其他 R 包的不同数据集。结果我的包有大量的依赖,需要用户安装各种不相关的包才能让我的包正常工作。

我更愿意将这些数据集复制到我自己的包中,并在文档中给予适当的评价,但这有问题吗?

那么来自其他包的简单函数呢?例如,我需要来自fields 包的Matern 函数,并且将这个函数复制到我自己的包中似乎要简单得多,而不是依赖于一个充满不相关功能的整个包。

【问题讨论】:

  • 如果您导入您需要的部分,那么整个包将不会出现在搜索路径上。用户仍然需要安装它,但install.packages 会自动安装,所以它并不是真正的负担。
  • 您需要检查许可证。假设许可证允许,它归结为基于风险评估的业务决策。依赖性是动态的,它们可以变得更好,或者以使您的生活变得困难的方式发生变化。取决于依赖的稳定性和复杂性。

标签: r policy


【解决方案1】:

为什么不直接向这些软件包的作者/维护者征求他们对此事的许可或想法呢?他们可能知道我们其他人不知道的功能是如何实现的以及它们是多么容易复制。

两个不同的人问我是否可以在他们的包中包含我的包中的一个功能,他们解释了他们为什么想要以及他们在做什么,我同意让用户安装我的整个包只为 1 个功能将是矫枉过正并祝福他们(和原始源代码)在他们的包中包含这些功能(技术上由于许可证他们不需要我的许可)。现在,当我更新其中一个函数时,我还会将更新后的源代码发送给这 2 位作者,以便他们可以随时更新他们的副本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 2018-07-06
    • 2012-11-12
    • 2022-06-25
    相关资源
    最近更新 更多