Non-standard license specification

Hello!

I am a government developer looking to publish r packages with the Journal of Open Source Software (JOSS).

My agency requires that we use either the public domain, CC0, or a similar license: in other words a license with no restrictions whatsoever (even MIT is too restrictive for our purposes because it has requirement that, "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.").

JOSS requires an Open Source Initiative (OSI)-approved license for publication. The public domain is not a license, and CC0 is not approved for reasons that I honestly don't understand. But that's the way it is.

I have found that there is a OSI-approved license that fulfills my requirements! The Zero-Clause BSD license (0BSD).

However, if I try to use the 0BSD license in the LICENSE field of the DESCRIPTION file in an R package and run devtools::check() I get the following warning:

checking DESCRIPTION meta-information ... WARNING Non-standard license specification:
BSD_0_clause + file LICENSE
Standardizable: FALSE

I've tried various different texts for the LICENSE field and confirmed that if I use the much more common 2-clause BSD license (BSD_2_clause + file LICENSE) I do not get the warning.

How can I use this valid license when building an R package and NOT get a warning upon running devtools::check()?

More importantly warnings generated by devtools::check() cause github actions R-CMD-CHECK to fail. I'm OK with a warning I understand when I run a local check, but the github actions need to pass. How can I use a valid but non-standard license in an R package and still pass the R-CMD-CHECK on github?

1 Like

Try setting the _R_CHECK_LICENSE_ environment variable to false.
Cf. R Internals

How about using the standard R license Unlimited? From the Writing R Extensions section on Licensing:

  • The string ‘Unlimited’, meaning that there are no restrictions on distribution or use other than those imposed by relevant laws (including copyright laws).

Then you could put the text of the 0BSD license in a file LICENSE to satisfy the JOSS requirement. So the DESCRIPTION field would be:

License: Unlimited | file LICENSE

Again from Writing R Extensions:

Multiple licences can be specified separated by ‘|’ (surrounded by spaces) in which case the user can choose any of the alternatives.

So I think this satisfies all your requirements: 1) no restrictions whatsoever because you are a government developer, 2) standard license string for R CMD check, and 3) OSI-approved license for JOSS.