  One of the most powerful features of R is its infrastructure for contributed
code. The built-in package manager and complementary repositories provide a
great system for development and exchange of code, and have played an important
role in the growth of the platform towards the de-facto standard in statistical
computing that it is today. However, the number of packages on CRAN and other
repositories has increased beyond what might have been foreseen, and is
revealing some limitations of the current design. One such problem is the
general lack of dependency versioning in the infrastructure. This paper
explores this problem in greater detail, and suggests approaches taken by other
open source communities that might work for R as well. Three use cases are
defined that exemplify the issue, and illustrate how improving this aspect of
package management could increase reliability while supporting further growth
of the R community.
