[R-pkg-devel] Properly referencing copied code

@@j5xsj9 m@iii@g oii @iiiy@@ddy@io @@j5xsj9 m@iii@g oii @iiiy@@ddy@io
Thu Jul 11 22:58:53 CEST 2024


I'm trying to submit a package to CRAN that uses external C libs but properly crediting copyright holders and authors is the main issue holding up the submission and I've repeatedly failed to satisfy the requirements. I am having a lot of trouble understanding what/who I need to be listing in my DESCRIPTION file and how they should be listed.

1. How does linking to external libs differ from providing the source of a library and linking against that? Do I need to provide references to lapack and blas if they aren't shipped with the package? What about math (lm)?

2. What roles to supply to authors of external software? After my last submission, I got the note:
> Has copyright holders of included software in a [ctb] role only

From the CRAN Repository Policy file:
>Where code is copied (or derived) from the work of others (including from R itself), care must be taken that any copyright/license statements are preserved and authorship is not misrepresented.
>Preferably, an ‘Authors using R’ field would be used with ‘ctb’ roles for the authors of such code. Alternatively, the ‘Author’ field should list these authors as contributors.
>
>Where copyrights are held by an entity other than the package authors, this should preferably be indicated via ‘cph’ roles in the ‘Authors using R’ field, or using a ‘Copyright’ field (if necessary referring to an inst/COPYRIGHTS file).

My interpretation of the CRAN policy is that the role 'cph' should be used only for "entities other than the package authors" and therefore authors should only get 'ctb'. Do I need to differentiate between authors with explicit copyrights `c('ctb', 'cph')` vs those who are authors but are not listed as copyright holders `c('ctb')` in the third party source? Or just give everyone both?

3. One of my dependencies has a lot of copyright holders throughout the source. Most of these are for individual functions and cmake files that are not directly used by my package. What is the best way to handle this? Add as much of the unused parts of the third party package to the .Rbuildignore file as possible to filter out the unused parts? (Many copyrights are from parts of the package that are independent on the parts I used so for example ignore an unused vendor package seems reasonable but what about hand picking the main source files that are actually compiled to avoid copyrights?) Or list all of the authors/copyrights in the my DESCRIPTION file?

4. Is there a better place to put all these authors? The author list has already gotten large and I still have many more to add. I've seen use of an `AUTHOR-list.md` in packages but I don't see this mentioned in official documentation. In the previous quotation from CRAN's policy document, it mentions the possible use of a `inst/COPYRIGHTS` file that is referenced in the DESCRIPTION. Is there an equivalent for authors? Is it preferred to just put everything in DESCRIPTION instead?

- DRC
	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list