Licensing a new package that uses code from another source

licensing
package
r
Tags: #<Tag:0x00007f57f8ad3638> #<Tag:0x00007f57f8ad3408> #<Tag:0x00007f57f8ad3200>

#1

Hoping for some wisdom and guidance about licensing an R package I created (note that I’ve also asked on r-package-devel, and stackoverflow, but haven’t gotten any useful feedback).

My package, knitrProgressBar, rips out the dplyr::progress_estimated internal function into essentially it’s own
package (to avoid some dependencies and do some custom things with it), and then adds some code for decision logic.

I would like to properly license my package (using the MIT license), and give proper attribution so that others don’t have issues using it (and it can be released via CRAN).

dplyr is licensed under MIT, with RStudio as the copyright holder, and
various individuals listed as authors under Authors at R.

I understand I would list myself as the “creator” in the Authors at R field for knitrProgressBar, but I’m not sure who should be listed as authors and copyright holders, and how this information needs to be incorporated into the LICENSE file.

Guidance would be very much appreciated.


#2

The DESCRIPTION for readxl is a good example of naming copyright holders of included code, though it’s GPL-3 rather than MIT. One of my own packages refactors some readxl code, so I have commented it and named the authors of those fragments.

Authors@R: c(
    person("Duncan", "Garmonsway", email = "nacnudus@gmail.com", role = c("aut", "cre")),
    person("Hadley", "Wickham", role = c("ctb"), comment = "Author of included readxl fragments"),
    person("Jenny", "Bryan", role = c("ctb"), comment = "Author of included readxl fragments"),
    person("RStudio", role = "cph", comment = "Copyright holder of included readxl fragments"),
    person("Marcin", "Kalicinski", role = c("ctb", "cph"), comment = "Author of included RapidXML code")
    )

#3

Thank you! This is exactly what I was looking for! :tada:


#4

Oh, and @nacnudus, if you like StackOverflow credit, I had previously posted this question at StackOverflow.