如果 R 包的许可证 X 是,那么该包中的所有内容都必须在 X 下获得许可吗?

发布于 2024-10-04 19:09:27 字数 1455 浏览 1 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

救赎№ 2024-10-11 19:09:27

您不能对您的包使用单个许可证。相反,在您的 DESCRIPTION 中放置“许可证:文件许可证”并描述该文件中的各个许可证。

You can't use a single license for your package. Instead, in your DESCRIPTION put "License: file LICENSE" and describe the individual licenses in that file.

软的没边 2024-10-11 19:09:27

R 本身是根据 GPL 授权的。它包含根据不同许可证发布的其他功能,例如根据 BSD 许可的 PCRE。 R 源包含不同组件的单独许可文件以及版权声明/确认。

编辑 [一些说明] 因此,就其本身而言,如果您将库作为程序包的一部分重新分发,您需要保留其许可证详细信息并尊重分发它们所依据的许可证。您的软件包可以拥有您想要的任何许可证,只要它不与您重新分发的库的许可证冲突(鉴于您引用的库的许可证不太可能)。您在 DESCRIPTION 文件中明确说明您的软件包所使用的许可证(正如 Hadley 在他的回答中提到的那样),但您应该确保有 LICENCECOPYING< /code> 文件包含在包源的顶层,因此很清楚什么代码在什么许可证下等。
[编辑结束]

您将遇到的问题是,除非我们附近有一些律师是程序员,否则给出的任何建议都应该持保留态度。如果您担心这一点,您应该寻求专家的建议。

R itself is licensed under the GPL. It contains other functionality released under different licences, such a PCRE which is licensed under BSD. The R sources contain separate licence files for the different components as well as copyright statements/acknowledgements.

Edit [some clarification] So in and of itself, if you are redistributing libraries as part of your package you need to preserve their licence details and respect the licence under which they were distributed. Your package can have whatever licence you want as long as it is not in conflict with the licences of the libraries you are redistributing (unlikely given the ones you cite). You make clear what licence your package is under in the DESCRIPTION file (as Hadley mentions in his answer), but you should make sure a LICENCE, or COPYING file is included in the top level of the package source so it is clear what code is under what licence etc.
[End edit]

The problem you are going to have is that unless we have some lawyers hereabouts who are coders, any advice given should be taken with a big pinch of salt. If you are worried about this, you should seek expert advice.

梦里梦着梦中梦 2024-10-11 19:09:27

您专注于包装。虽然软件包的集合可以被视为编译而不是衍生作品,允许在宽松的条件下重新分发,但依赖于它们的软件很可能是衍生作品,并且版权对其重新分发施加了更严格的限制。

如果您谈论的是 Apache 2 和 LGPL 2+ 或 3+ 的库:所有这些许可证都是 GPLv3 兼容的。 GPL3+ 可能是一个公分母,允许您重新分发基于这些库的衍生作品(您的解决方案 1a)。

然而,如果您所做的只是链接,LGPL 和 Apache 许可证有一项豁免,可以让您重新分发您的软件,就好像它不是衍生品一样,而 BSD 则可以让您在很少的条件下许可衍生品。

这允许您选择选项 1b。您应该有一个通知文件,描述您分发的文件位于哪个包下,以及每个文件的许可证。对于较长的许可证,也以单独的文件形式发送。

You are focused on packaging. While a collection of packages can be considered a compilation and not a derivative work, allowing redistribution under relaxed conditions, the software that depends on them is likely a derivative work, and copyright places stronger restrictions on its redistribution.

If you are talking Apache 2 and LGPL 2+ or 3+ for the libraries: all of these licences are GPLv3-compatible. The GPL3+ could be a common denominator that allows you to redistribute a derivative work based on those libraries (your solution 1a).

However, if all you do is linking, the LGPL and the Apache licence have an exemption that lets you redistribute your software as if it wasn't a derivative, and the BSD lets you licence the derivative with very few conditions.

This allows you to go with option 1b. You should have a NOTICE file that describes under which package the files you distribute are, and what licence each of them is under. Ship the licences as well, in individual files for the longer ones.

狠疯拽 2024-10-11 19:09:27

假设 LGPL 文件不仅仅是 LGPL-2 [不兼容 GPL-3],而是 LGPL-2(或任何更高版本)、LGPL-2.1 或 LGPL-3,那么所有这些许可证都应该与 GPL-3 兼容,并且您可以使用整体 GPL-3 许可证发布您的 R 软件包。

我在 CRAN 上有一个整体 GPL (>=2) 许可证下的软件包(optparse、argparse),该许可证将 GPL (>=2) 代码与包含强制许可证声明的 GPL 兼容 Python 许可证下的代码结合起来。

这是 FSF 指导我将带有强制版权声明的 GPL 兼容代码与 GPL 代码合并的好资源:http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html

就让 CRAN 高兴而言,事实证明,如果整体软件包是 GPL 的,他们不喜欢在说明中许可证字段显示 LICENSE 或 (GPL >= 2) + LICENSE,其中 LICENSE 包含您需要保留的所有许可版权声明。特别是他们强迫我删除这样的许可证文件。然而,他们似乎没问题,在“作者”下的“描述”中,您对从何处获得所有软件进行了高级描述,在“许可证”下说“GPL-3”,然后在“版权”下说“请参阅文件(inst/)版权。在(inst/)中版权 您可以包含需要保留的所有版权声明。我使用 Debian 软件包版权格式 http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 但您也可以查看 COPYRIGHT 文件。用于格式化想法的 R 源。“Writing R Extensions”特别提到 inst/COPYRIGHTS 作为包作者可以放置附加信息的位置,因此最好将该文件称为该文件,而不是 CRAN 可能抱怨的 NOTICE 或 CRAN 抱怨的 LICENSE。如果它包含整个 GPL 项目的许可许可证,

那么在包含它们的任何源文件中保留所有原始版权声明也是一个好主意。如果您还使用 GPL 增强功能直接修改该源文件,则 softwarefreedom.org 页面提供了建议,但如果您不更改包含的源文件,则通常可以保持它们不变。

Assuming the LGPL files aren't just LGPL-2 [which is not GPL-3 compatible] but LGPL-2 (or any higher version), LGPL-2.1, or LGPL-3 then all those licenses should be GPL-3 compatible and you could release your R package with an overall GPL-3 license.

I have packages (optparse, argparse) on CRAN under an overall GPL (>=2) license that combines GPL (>=2) code with code under the GPL-compatible Python license which contains a mandatory license notice.

Here is a good resource that the FSF directed me to about incorporating gpl-compatible code with mandatory copyright notices with GPL code: http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html

In terms of making CRAN happy it turns out if the overall package is GPL'ed that they do not like in the DESCRIPTION that the license field says LICENSE or (GPL >= 2) + LICENSE where LICENSE contains all the permissive copyright notices you need to preserve. In particular they forced me to remove such a LICENSE file. However they seemed okay that in DESCRIPTION under Author you give a high-level description of where you got all the software from, under License say GPL-3 and then under Copyright say "See file (inst/)COPYRIGHTS. In (inst/)COPYRIGHTS you can include all the copyright notices you are required to preserve. I use the Debian Package Copyright Format http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ but you don't need to. You can also look at the COPYRIGHT file in the R source for formatting ideas. "Writing R Extensions" specifically mentions inst/COPYRIGHTS as a place package authors can place additional information so it might preferable for the file to be called that rather than NOTICE which CRAN might complain about or LICENSE which CRAN complains about if it contains permissive licenses for an overall GPL project.

It would also be a good idea to preserve all the original copyright notices in any source files where they are contained. The softwarefreedom.org page has suggestions for that if you are also directly modifying that source file with GPL'ed enhancements but if you aren't changing the included source files you can often leave them untouched.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文