我正在写一个R包,我想使用另一个包中的一个函数(plotKML
)。这个外部包有很多依赖项,我不希望我的用户需要下载等。如果我在NAMESPACE文件中使用importFrom(plotKML, readGPX)
,它会将所有plotKML
加载到命名空间并下载所有我不想要的依赖。
所以问题是:是否适合复制我需要的一个函数的代码(确保包含该函数中的所有依赖项)?如果是这样,什么是适合归属/文档 - 我是否从原始文档中复制文档?
在this post中对这个问题进行了很好的讨论,Brian Diggs的答案非常有用。但他最后说:“对于你的例子,你可能最好将memisc :: describe的代码复制到你的软件包中,尽管这种方法有其自身的问题和警告”所以我对问题的存在有些不确定性。从归因的角度来看它是否合适。
答案 0 :(得分:3)
有关相应归因的问题可能最好通过直接联系软件包作者来解决。如上面的评论所述,该软件包似乎使用GPL-3,这意味着您可以在软件包中包含该功能,但您的软件包也必须获得GPL-3许可。 (和往常一样,这里可能没有人是律师,所以你可以检查......)
复制所需功能的主要缺点是,您负责维护它。这也可能意味着要保持它与 plotKML 中的原始版本保持同步。根据包装,周围的代码以及更新的频率,这可能相当简单,也可能很糟糕。