[R-pkg-devel] CRAN modifications of packages

Max Kuhn mxkuhn @end|ng |rom gm@||@com
Sun May 5 17:46:07 CEST 2019


Some other examples:

https://github.com/cran/archetypes/commit/c4b904b4b83392724ab1bb68dad2046150aba448#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/bartMachine/commit/aa807bf660925220891c5c2edeba08bde4a23481#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/bfp/commit/4e28e0919b7f7f26ccd793441d2409aba06e4541#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/biomod2/commit/8b5fbf1e5e71d9bbe2408184577d309a5eddc2b1#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/copula/commit/ac3b475d61c7ed806da2edf3f09e20f2e3b713da#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/cubature/commit/5132c784a9178bf0a0c5424848fc805be7fa8822#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/Delaporte/commit/f4c10667f1b21f7dd7286263010b5d91f920cf99#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/DiagrammeR/commit/3b753926be91aaaa35349b8422b8dcd303437c2b#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/diffobj/commit/d86edd6a581c8de695d9d70f2621e7cac8febf45#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/e1071/commit/bb30e53080210817e41e8f45397c9b064de9280d#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/ElemStatLearn/commit/4ab2e88d5b0b90cdaaa3b20d8113bc203a01f7ea#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/emplik/commit/344f321e5cd2c16878948de01191cd7cb678027a#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/etm/commit/025e60458b3618dc86da72b9c97448eaec94fc37#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/expoRkit/commit/93b6dca431ae439c473670791754a18f52fea816#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/fclust/commit/504393d27fea13b46fde04ea9444905a2538476b#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/fields/commit/9d9323471169a1a557415452432b8ca00d579329#diff-35ba4a2677442e210c23a00a5601aba3

https://github.com/cran/flexclust/commit/b455b290dde0917bb04ee73387e24d46546e0ecb#diff-35ba4a2677442e210c23a00a5601aba3

On Fri, May 3, 2019 at 11:55 AM Max Kuhn <mxkuhn using gmail.com> wrote:
>
> I've noticed a trend in the last year of a CRAN maintainer making  modifications to packages without notification to the package authors or  the community. Some times these have been made during a submission [1] and,  in other cases, for existing packages [2]. In the latter case, we intuit  that there are some cases where the maintainers have not responded to  communications about required changes to existing versions.
>
> In some cases, the changes are minor (see rngtools example linked below)  but also come with a strict R version dependency on the *current* version.  This causes a considerable number of problems for these packages and their  reverse dependencies. Since the reasons for the changes are not public, it is unclear why they could not have been considerably less invasive.   The process of making these changes is in direct opposition to the CRAN  policies, such as
>
> > If for some reason the submission has to be made by someone else (for  example, a co-author) this needs to be explained, and the designated  maintainer will need to confirm the submission.
>
> > If an update will change the package’s API and hence affect packages  depending on it, it is expected that you will contact the maintainers of  affected packages and suggest changes, and give them time (at least 2  weeks, ideally more) to prepare updates before submitting your updated  package.
>
> It is understandable that the CRAN maintainers require package maintainers  to check reverse dependencies. There doesn't appear to be a good reason  that CRAN maintainers do not follow these rules.
>
> In the case where a package maintainer has not properly responded to a  substantive issue, it is unclear what should happen. This does put CRAN in  a bad position, but one would hope that minimally invasive changes be made  and that the impact on the reverse dependencies be measured and processed  like a normal CRAN submission.  In particular, the effect of making quadprog >= 3.6.0 has been significant due to failures to install  reverse dependencies.
>
> Perhaps some minimal changes to the process could be:
>
> 1. There should be some sort of visible status (analogous to ORPHANED)  that clearly indicates this has happened, so users can better understand  the context of the change. An update to any NEWS file would also be  appropriate.
>
> 2. CRAN should, at least temporarily, be listed as an author.
>
> 3. Reverse dependency authors who are affected are notified a priori.
>
> Has anyone else experienced similar situations and how did you deal with  the consequences of the changes?
>
> Examples
>
> [1] https://github.com/gdkrmr/dimRed/issues/27#issuecomment-437458488
>
> [2]
>
> https://github.com/cran/rngtools/commit/c9c036b18e0bf6f20afcab15a2b38083aaf62da7
>
> and
>
> https://github.com/cran/quadprog/commit/a559f064e20f803ab3ffde413e7686d9c6299083



More information about the R-package-devel mailing list