有一个R包,它定义了一些方便的函数,用于将文件从zip归档中提取到std::string中的C++中。我想在我自己的包中使用这些函数,但是我不能简单地链接到它们,因为标题不在原始包的inst/include目录中。
我的问题是基于我的理解,即C++级别的代码在包之外是不可用的,除非标头在inst/include中。
要使用代码,我的选项是:
inst/include目录,以便我可以从包中调用DESCRIPTION文件中的linkingTo。inst/include中可用,承认最初的作者,并将GPL-3的许可传递给自己(但不是我的实际包,它只是includes )。Clarification:我根本不容忍选项3和4,在我看来,这是作弊。这就是问题所在。阅读答案的人现在会发现,这样的事情被认为是作弊。但是他们是人们在做‘正确的事情’时要考虑的事情,比简单的Imports: package更难,这就是为什么我把它们包括在内。
发布于 2016-07-04 15:31:03
唯一可行的选择是备选方案1和2。
选项1可以工作,只要R维护人员愿意在GPL以外的许可下给您代码。当然,这意味着您将只针对该双授权代码进行链接,而不是针对所有R。
如果您愿意为您的代码和链接到该代码的所有代码使用GPL,则选项2有效。
选项3就是剽窃的定义,而不是一种选择。
选项4是可疑的,不道德的,也有点难以实现,因为你已经公开宣布了这个选项。
选项5不起作用,因为GPL也适用于单独的包,而且扩展到也适用于使用该包的所有代码。
https://stackoverflow.com/questions/38187986
复制相似问题