[R] Standards for delivery of GPL software in CRAN packages

Berwin A Turlach Berwin.Turlach at gmail.com
Mon Jun 27 18:29:16 CEST 2011


G'day Gavin,

On Mon, 27 Jun 2011 16:36:57 +0100
Gavin Simpson <gavin.simpson at ucl.ac.uk> wrote:

[...]
> I don't recall the GPL mentioning anything requiring that the source
> code be "helpful". The authors have most certainly fulfilled their
> requirements under GPL, as has CRAN in distributing the package
> sources.
> 
> Or am I being obtuse and completely missing your point?

Maybe :)

While I agree with the first sentence cited, the GPL v2 says:

	The source code for a work means the preferred form of the work
	for making modifications to it.

and GPL v3:

	The "source code" for a work means the preferred form of the
	work for making modifications to it.

The OP perhaps suspects, though without offering any proof, that the
authors of the package might not keep all the code in a single file but
distributed over several files, perhaps with comments.  If they use a
script to remove all comments and collect all files into a single file
before creating the .tar.gz file, then there would be a question
whether the GPL is adhered too.  Though, in the example provided, there
would be no way to find out whether this is the case without contacting
the authors.

If memory serves correctly, it has definitely been suggested to me that
putting into the src/ directory files from a tangled literate
programming file without distributing this file too in the package
might be questionable under the GPL.  In this case, if requested, the
author of such a package would presumably have to provide the file that
contains the literate program from which the sources were tangled.

As another example, as one could gather from occasional comments on
r-devel (and r-help?), there must have been quite some discussions
among the R core members whether it is compatible with the GPL to have
a vignette in a package that depends on private style files (that are
not distributed) and cannot be processed by anybody but the package
author.  Of course, since "R CMD check" now builds vignettes, and a
package is only accepted on CRAN if it passes "R CMD check" on Kurt's
machine, this discussion about how the GPL applies is rather academic.

Cheers,

	Berwin



More information about the R-help mailing list