Contributing to the R Project

Heather Turner

August 13, 2024

The R Project

Why should you care?

🌟

  • R is special
    • Statistical methods
    • Full data pipeline
    • User-friendly
    • Community

🧰

  • You use it!
    • Tidyverse, Shiny, …
    • Time and money invested in skills and code

  • R needs your help!
    • \(>\) 600 bugs
    • Demographic cliff
    • Lack of diversity

Why do I care?

What does it take to contribute?



Skill

Time

Money

Contributing to the codebase

Not Just R Code!


The codebase of R includes

  • Text (Messages, Warnings, Errors)
  • Documentation (Rd, texinfo)
  • Code (R, C, Fortran, bash)

Translating Text via Weblate

https://youtu.be/ABdyZW8yGS4

Contributing to Documentation via GitHub

https://contributor.r-project.org/rdevguide/FixBug.html#using-a-git-mirror

Contributing to Code with the R Dev Container

https://contributor.r-project.org/r-dev-env/tutorials/contribution_workflow/

Support for R Contributors: contributor.r-project.org

R Contributors Slack

R Development Guide

Tutorials

Office hours

R Dev Days

Contributing experience/expertise

Testing R before release

Help by testing:

  • Your own programs and workflows

  • Your special ways of installing or setting up R

  • Things that interact with external libraries

  • Interactive R packages

https://blog.r-project.org/2021/04/28/r-can-use-your-help-testing-r-before-release

Reporting bugs

Reporting any bugs you discover helps maintain R to a high standard

  • Bugs and wishlist items are posted on R’s Bugzilla

  • Include a minimal reproducible example (reprex) using base R packages and data

https://contributor.r-project.org/rdevguide/ReportingBugs.html

Reviewing bug reports

Reviewing bug reports can help them progress to being closed

  • Reproducing the bug (on different R versions, platforms, …)
  • Simplifying the reprex
  • Analysing the root cause
  • Discussing whether/how to fix

https://blog.r-project.org/2019/10/09/r-can-use-your-help-reviewing-bug-reports

Contributing to a working group

Contributing financially

As an organization

  • R Consortium membership
    • Platinum: $100k, Silver: $25k, Small business/non-profit: $10k
    • Funds key infrastructure projects and community events
  • R Foundation membership
    • Patron: €€€, Benefactor: €500, Institution: €250
    • Funds support for R Core, CRAN, R Journal, useR!, R Dev Days

As an individual

  • R Foundation
    • Individual membership: €25 or one-off donation
  • R Project Open Collective
    • Backer: $5/month or one-off donation
    • Funds small projects: R Development Guide, useR! Infoboard

Summary

  • Low barrier
    • Message translation
    • Documentation fixes
    • Testing R
    • Reporting bugs
    • Individual donation
  • Medium barrier
    • Code fixes
    • Reviewing bugs
    • Working group
  • High barrier
    • Institution-level donation

https://hturner.github.io/positconf2024