[Rd] [RFC] A case for freezing CRAN

Jeroen Ooms jeroen.ooms at stat.ucla.edu
Wed Mar 19 20:09:46 CET 2014

On Wed, Mar 19, 2014 at 7:00 AM, Kasper Daniel Hansen
<kasperdanielhansen at gmail.com> wrote:
> Our experience in Bioconductor is that this is a pretty hard problem.
> What the OP presumably wants is some guarantee that all packages on CRAN work well together.

Obviously we can not guarantee that all packages on CRAN work
together. But what we can do is prevent problems that are introduced
by version ambiguity. If author develops and tests a script/package
with dependency Rcpp 0.10.6, the best chance of making that script or
package work for other users is using Rcpp 0.10.6.

This especially holds if there is a big time difference between the
author creating the pkg/script and someone using it. In practice most
Sweave/knitr scripts used for generating papers and articles can not
be reproduced after a while because the dependency packages have
changed in the mean time. These problem can largely be mitigated with
a release cycle.

I am not arguing that anyone should put manual effort into testing
that packages work together. On the contrary: a system that separates
development from released branches prevents you from having to
continuously test all reverse dependencies for every package update.

My argument is simply that many problems introduced by version
ambiguity can be prevented if we can unite the entire R community
around using a single version of each CRAN package for every specific
release of R. Similar to how linux distributions use a single version
of each software package in a particular release of the distribution.

More information about the R-devel mailing list