You are here
Contributors to R
R’s great power, utility and high level of excellence comes from the thousands of volunteer contributors spread around the globe. The real “heavy lifters” are the members of the R core group who make changes to the language, fix bugs, test the code, maintain the CRAN infrastructure and keep the wheels running on all of the various platforms that are supported. After them come the legions of committed R users who answer questions on the various R mailing lists, contribute and maintain packages, keep the Task Views up to date, write books and documentation, blog, maintain R related websites, organize R conferences and user groups. And last, but not least, are the ordinary, everyday R users: writing some R code for work, analyzing data for the fun of it, showing a friend how to get started with R. In a small, but cumulatively important way, anyone who spends some time “speaking” R contributes to the language.
Why contribute to R?
Even if one only considers the obviously serious contributors to R; the developers of the language and R core group members, the package authors and maintainers and those who monitor the R help pages and answer the questions of strangers on a daily basis it is clear that the contributors to R number in the thousands. Why do so many people make the often substantial and time-consuming effort? Although the number of answers are probably as numerous as the number contributors there are three reasons that are frequently cited: people contribute because it allows them to achieve something that is important to them, people contribute because of the satisfaction that comes with developing something that is useful to others, and finally people contribute for sense of fulfillment that comes with achieving something that is aesthetically pleasing. And, not often cited, but probably very important, people contribute because of the credibility they gain from difficult problem solving.
The large number of daily contributions to R is indicative of vitality of the R community and the momentum driving the growth of the R language.
How to contribute to R
Although most people motivated to contribute to R will be driven by some personal need, here are some suggestions for making your contribution:
- Use the language. Like any other language natural language or computer programming language, R will grow through use.
- Teach others to use R.
- Answer questions on the R mailing lists and stackoverflow.
- Develop a new R package.
- Add to the list of contributed documentation on CRAN.
- Make an attempt to organize the many R packages according to your own world view and expertise and organize and maintain a new Task View.
- Blog or find some other means to explain useful R applications.
- Start a new R user group or help and existing user group grow.
Why write a new R package?
There are probably three main reasons for writing an R package. These are:
- To extend the language. On several occasions members of the R core group have signaled that best way to provide some new capability for R is to write an R package that requires either no modification to the core language or something that would be relatively easy for one of the R core members to implement.
- To organize functions, existing and new, in a manner that facilitates some particular analysis
- To document and maintain code for your own use and perhaps for others too
How to build a new R package
There are several guides to package building available. Here are three of the best:
- The CRAN guide to writing extensions
- A tutorial by Friedrich Lesich
- RStudio’s guide to package building
Profiles of R Contributors
For inspiration, here are a few profiles of R contributors from the Revolutions Blog archive.