[Rd] Competing with one's own work

Duncan Murdoch murdoch.duncan at gmail.com
Sun Dec 5 16:12:03 CET 2010

On 03/12/2010 4:08 PM, Ben Bolker wrote:
> Ravi Varadhan<rvaradhan<at>  jhmi.edu>  writes:
>> "The decision about whether it belongs in a package or in base R is
>> about who should maintain the code."
>> Ok.  I understand it now.
>> Thanks,
>> Ravi.
>     A point that may not have been made (sorry if it was and I missed it):
> A better question might be how packages get added to the *recommended*
> package list (rather than how code gets added to "base R").

I haven't seen any other response to this, so I'll give an incomplete one.

Packages get added to the recommended list when the core is convinced 
they should be.  It doesn't happen often:  Matrix was the most recent 
addition in R 2.9.0; before that I think it was codetools in 2.5.0.

Being recommended means that the release schedule needs to be 
coordinated with R's releases, because there should be a code freeze 
when R is frozen, and the author needs to be responsive to bug reports. 
  (There can be releases outside of R releases; this is a difference 
from base packages, which are only released with R.)

If a package is recommended, then it needs to be rebuilt to run the R 
tests.  This means tests of base R functionality can depend on a 
recommended package; it also means every additional recommended package 
slows down the tests.  (And it's a real pain on those rare occasions 
when a bug in a recommended package causes a test to fail, because we 
can't necessarily fix the recommended package.)

So just because a package is good quality and contains useful or 
important code, it shouldn't necessarily become a recommended package. 
I don't think there are clear rules about when it should, just as there 
aren't for other R changes.

Duncan Murdoch

> Of the
> 16 recommended packages, 2 are maintained by R-core itself, 12 by various
> R-core members acting as individuals (I assume), and 2 by non-R-core
> people. It seems that if a contributed package sticks around long enough
> and proves itself sufficiently useful and of sufficiently high quality
> (and well enough maintained), that it could then be suggested as
> a recommended package.
> i1<- installed.packages()
> i2<- i1[!is.na(i1[,"Priority"]),]
> ff<- function(x) table(sapply(x[,"Package"],maintainer))
> ff(i2[i2[,"Priority"]=="base",])
> R Core Team<R-core at r-project.org>
>                                  12
> ff(i2[i2[,"Priority"]=="recommended",])
>             Brian Ripley<ripley at stats.ox.ac.uk>
>                                                7
> Deepayan Sarkar<deepayan.sarkar at r-project.org>
>                                                2
>   Doug and Martin<Matrix-authors at R-project.org>
>                                                1
>               Luke Tierney<luke at stat.uiowa.edu>
>                                                1
>     Martin Maechler<maechler at stat.math.ethz.ch>
>                                                1
>                    R-core<R-core at R-project.org>
>                                                1
>                    R-core<R-core at r-project.org>
>                                                1
>            Simon Wood<simon.wood at r-project.org>
>                                                1
>         Terry Therneau<therneau.terry at mayo.edu>
>                                                1
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

More information about the R-devel mailing list