If the R-license is XX, should all the contents of this package be licensed in X?

I hope that the question posed above is clear.

Now my case: for my package I use several libraries (cans). Each library was licensed in one of the following: Apache v2, BSD, or LPGL.

Edit [some clarifications] I have my own java classes packaged in a jar. These import classes (dynamic linking) from the libraries mentioned here [End Edit]

Question 1: Is it possible to pack all these libraries in one package?
Question 1a: If so, under what license is Apache, BSD, LGPL or any other?
Question 1b: If so, would it be sufficient to put all the library names in the NOTICE and write under what license the library is licensed?

Question 2: Or do I need to create a separate package for each type of license and put libraries in it according to their type of license?

+6
licensing r packages
source share
4 answers

You cannot use one license for your package. Instead, put “License: LICENSE file” in DESCRIPTION and describe the individual licenses in this file.

+6
source share

R itself is licensed under the GPL. It contains other functionality released under different licenses, such as PCRE, which is licensed under BSD. R sources contain separate license files for different components, as well as copyright claims / statements.

Change [some clarification]. In and of itself, if you redistribute libraries as part of your package, you need to keep your license data and comply with the license under which they were distributed. Your package can have any license that you want, if it does not contradict the licenses of the libraries that you redistribute (unlikely, given the ones you quote). You clearly indicate which license your package is in in the DESCRIPTION file (as Hadley mentions in his answer), but you need to make sure that the LICENCE or COPYING included in the top level of the package source, so it’s clear what code is under which license, etc. d. [Editing the end]

The problem that you will encounter is that if we do not have some lawyers who are code-based, any recommendations should be accepted with a big pinch of salt. If you are worried about this, you should seek expert advice.

+2
source share

You are focused on packaging. Although package assembly can be seen as a compilation rather than a derivative work that allows you to redistribute under relaxed conditions, software that depends on them is probably derivative work, and copyright sets more stringent restrictions on its redistribution.

If you are talking about Apache 2 and LGPL 2+ or 3+ for libraries: all of these licenses are compatible with GPLv3. GPL3 + can be a common denominator that allows you to redistribute derivative work based on these libraries (your solution 1a).

However, if all you do is bind, LGPL and the Apache license have an exemption that allows you to distribute your software as if it were not derivative, and BSD allows you to license the derivative with very few conditions.

This allows you to go to option 1b. You must have a NOTICE file that describes which package contains the files that you distribute and which license each of them contains. Also send licenses in separate files for longer ones.

+2
source share

Assuming that the LGPL files are not only LGPL-2 [which is not compatible with GPL-3], but LGPL-2 (or any higher version), LGPL-2.1 or LGPL-3, then all these licenses should be GPL- 3, and you can release your R package with the general GPL-3 license.

I have packagess (optparse, argparse) on CRAN with redundant GPL (> = 2), which combines GPL code (> = 2) with code under the GPL, compatible with Python, which contains a mandatory license notice.

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

From the point of view that CRAN is happy, it turns out that the general GPL package that they do not like in the DESCRIPTION is that the license field says LICENSE or (GPL> = 2) + LICENSE, where LICENSE contains all the permissive copyrights that must be preserved. In particular, they forced me to delete such a LICENSE file. However, it was good for them that in the “DESCRIPTION” section in the “Author” section you give a detailed description of where you received all the software, under the GPL-3 license, and then under copyright "See file (inst /) COPYRIGHTS). In (inst /) COPYRIGHT, you can include all copyright notices that you must retain. I use the Debian package copyright format http://www.debian.org/doc/packaging-manuals/copyright -format / 1.0 / , but you do not need to have a look COPYRIGHT file in the source R for formatting ideas. "Writing R-expandable "specifically mentions inst / COPYRIGHTS, since the creators of the place proposal can place additional information, so it would be preferable to name this file rather than the NOTICE CRAN may complain about or the LICENSE CRAN complains about if it contains permissions for the general GPL project .

It would also be useful to keep all original copyright notices in any source files where they are contained. The softwarefreedom.org page has suggestions for this, if you also directly modify this source file using the enhanced GPL, but if you do not change the included source files, you can often leave them untouched.

+2
source share

All Articles