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-c...@r-project.org>
                                 12

ff(i2[i2[,"Priority"]=="recommended",])

            Brian Ripley<rip...@stats.ox.ac.uk>
                                               7
Deepayan Sarkar<deepayan.sar...@r-project.org>
                                               2
  Doug and Martin<matrix-auth...@r-project.org>
                                               1
              Luke Tierney<l...@stat.uiowa.edu>
                                               1
    Martin Maechler<maech...@stat.math.ethz.ch>
                                               1
                   R-core<r-c...@r-project.org>
                                               1
                   R-core<r-c...@r-project.org>
                                               1
           Simon Wood<simon.w...@r-project.org>
                                               1
        Terry Therneau<therneau.te...@mayo.edu>
                                               1

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to