[R-pkg-devel] Help for understanding CRAN rejection

Ivan Krylov |kry|ov @end|ng |rom d|@root@org
Tue Jul 9 12:45:05 CEST 2024


(I am adding the mailing list back in Cc: because package licensing is
a complicated topic.)

В Tue, 9 Jul 2024 09:25:14 +0000
Matei Teleman <matei.teleman using unil.ch> пишет:

> I’ve added “ … SuperCell uses
> [velocyto.R](https://github.com/velocyto-team/velocyto.R) for RNA
> velocity. ” in the Description field. Is that enough or I need also
> to directly give the command line to install the package from GitHub ?

It looks like a link should be fine. Here are a few examples of CRAN
packages that have a non-CRAN/Bioconductor package in Suggests: without
setting up Additional_repositories:

https://CRAN.R-project.org/package=babelmixr2
https://CRAN.R-project.org/package=bandsfdp
https://cran.r-project.org/package=GCD

I'm sorry that I didn't note any of the following in my initial reply,
but what worries me about CC BY-NC-ND specifically is that out of 117
CRAN packages with a Creative Commons license and 18 of those that use
the non-FOSS "NonCommercial" clause, none use the "NoDerivatives"
clause. Your users would probably appreciate being able to install
binary builds of your package from CRAN. Does `R CMD INSTALL --build`
count as creating a derivative work, or is it "merely changing the
format"? Then again, CC BY-NC-ND _is_ mentioned in the list of CRAN
licenses, so it could work.

I found a rejected copy of your package in the archive subdirectory on
the CRAN FTP server and a GitHub repository [*] that seems to be
slightly outdated compared to the archived package. (It's best to link
to up-to-date package sources when seeking help with code.) I'm getting
an additional NOTE:

>> Imports includes 21 non-default packages.
>> Importing from so many packages makes the package vulnerable to any
>> of them becoming unavailable.  Move as many as possible to Suggests
>> and use conditionally.

Is there a way to make some of the currently required dependencies into
conditional dependencies? R CMD check --as-cran sets the limit to 20,
so moving just one package from Imports to Suggests will silence this
particular NOTE.

I see that most of your package size comes from the data subdirectory.
CRAN policy says: "Packages should be of the minimum necessary size.
<...> Neither data nor documentation should exceed 5MB. <...> Where a
large amount of data is required (even after compression),
consideration should be given to a separate data-only package which can
be updated only rarely (since older versions of packages are archived
in perpetuity)."
Is there a way to reduce the size of the data? It's ideal if there's
only enough data to demonstrate how an algorithm works in the
\examples{} section of your documentation and to exercise as much of
your code as feasible in your tests.

Finally, were there any recommendations in the rejection e-mail from
CRAN? Sometimes NOTEs are unavoidable, but we should strive to minimise
them anyway.

-- 
Best regards,
Ivan

[*] https://github.com/GfellerLab/SuperCell



More information about the R-package-devel mailing list