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