Skip to content
Noam Ross edited this page Mar 2, 2023 · 23 revisions

NOTICE: The R Project is an accepted organization for GSoD 2022. We have selected the writers for our project and will make an announcement when the hiring is finalized. The below proposal is kept for reference.

Expand and Reorganize the R Development Guide - The R Project

About your organization

R is an integrated suite of software facilities for data manipulation, calculation, and graphical display. It includes

  • an effective data handling and storage facility,
  • a suite of operators for calculations on arrays, in particular matrices,
  • a large, coherent, integrated collection of intermediate tools for data analysis,
  • graphical facilities for data analysis and display either on-screen or on hardcopy, and
  • a well-developed, simple, and effective programming language, which includes conditionals, loops, user-defined recursive functions, and input and output facilities. R is available under the GNU General Public License (first major release in the year 2000). There are thousands of add-on packages available through the Comprehensive R Archive Network (CRAN), extending the core functionality of R to cover a wide range of tools for modern data science.

R is used by millions worldwide across academia, industry, government, and the non-profit sector. It is especially widely used in life, earth, and social science research; finance, healthcare, retail, manufacturing, and the public sector.

About your project

Your project’s problem

The R Development Guide (also called as R Dev Guide) is a guide to help onboard new contributors to the R project. The first draft of this guide was written in early 2021 as a project funded by the R Foundation. Since then it has been presented in various international forums including the useR! 2021 conference, the LatinR 2021 conference, the R Podcast, and several meetings of the R Contribution Working Group. At present, we are working on building community around the R Development Guide as a part of the Digital Infrastructure Incubator at the Code for Science & Society. As a part of this incubator, we are organizing Collaboration Campfires, which are informal online events for discussing and learning “how to contribute to the R project”, intended to open pathways for members of groups that are currently underrepresented in the R project. The topics for these events include: exploring R’s bug-tracking process, how to help review R bug reports, explore R’s process for localization (translation), and how to contribute to a translation team. The R Dev Guide is the main reference document for running these Collaboration Campfires.

All the initiatives, conference talks, and working group discussions, shared above, have generated and continue to generate a lot of feedback on the first draft of the R Dev Guide. We are now at a stage where we would want to incorporate the feedback received, and expand and reorganize the R Dev Guide.

Your project’s scope

The key objectives/deliverables of this project are:

  • Adding new chapters/sections on translations, contributing tests for base R, using a git workflow for proposed patches, and novice-friendly instructions on installing R from source.
  • Expanding the existing chapters with simple & beginner-friendly examples and reviewing the guide.

Other aspects and issues (detailed below) will be worked on once the key deliverables are met, if further time remains available.

The tasks of this project are split into the following categories:

Chapters to be added
General development workflow
Case studies
  • Including more examples in the existing chapters to serve as a reference for new/future contributors.
  • Including a case study chapter in the R Dev Guide that briefly explains the R development process.
Structural issues
  • Including a cover page, an introduction page, an acknowledgments page in the R Dev Guide (meeting requirements to get the guide listed on the bookdown.org home page).
  • Including a contributor’s page/bot/table for the repo/guide.
  • Creating a license and minting a DOI for the guide &/or repo. Publishing it on Zenodo.
  • Reviewing the R Dev Guide – to improve its readability and structure.
  • Identifying and improving sections of the R Dev Guide and the corresponding repository as they arise in the process.
General improvements
  • Incorporating the feedback received from the Collaboration Campfires into the R Dev Guide.
  • Adding schematic diagram(s) to the R Dev Guide to help understand the workflow of the R Development process as a whole and also for its intermediary steps.

We have two experienced technical writing candidates for this project. We propose to hire one writer to focus on issues related to the general development work flow (e.g. installing from source, testing patches) and one to focus on case studies, translations and structural issues. We plan to hire each writer to work for 180 hours over 6 months and also to hire a project manager to work 4-6hrs/month to direct the work and ensure the pieces fit together.

Steering committee

The project will benefit from the mentoring and advice of a steering committee with expertise in R contribution, R development and technical writing:

Most of the committee are able to offer their time without requiring a volunteer stipend.

How would we measure success?

The project will be successful if the R Development Guide includes the additional material and structural updates stated above. An upgraded version of the R Dev Guide should increase its readability and usability, so we hope to attract a wider readership. Therefore, we will consider the project a success if:

  • The key deliverables are met: the planned chapters are added and the existing chapters are improved with examples and general editing.
  • At least 75% of the open issues on the R Dev Guide GitHub repository are closed or at least become work-in-progress.
  • Monthly visitor counts for existing chapters increase by at least 10%.
  • Monthly visitor counts for new chapters are commensurate with existing chapters at a similar technical level.
  • The upgraded version of the R Dev Guide is listed on the home page of bookdown.org.
  • At least two community members that are not directly involved in the project contribute corrections/updates to the documentation, by submitting issues, making a pull request or making a commit to the git repository.

Timeline

The project itself will take approximately six months to complete. After the two technical writers are hired, we'll spend a couple of weeks on their orientation and then start focusing on creating the documentation.

Dates Action Items
April 14, 2022 - April 30, 2022 Orientation, setting up the machines with essential software, planning a schedule for regular progress sync meetings
May 1, 2022 - May 31, 2022 Including case studies and addressing the structural issues of the guide
June 1, 2022 - June 30, 2022 Complete the case studies and include additional chapters to the guide
July 1, 2022 - July 31, 2022 Complete writing the additional chapters and start the general development workflow
August 1, 2022 - August 31, 2022 Review the additional chapters and complete the general development workflow
September 1, 2022 - September 30, 2022 Review the general development workflow and also review the whole guide to to improve its readability and structure. Identify and improve sections of the guide and the corresponding repository
October 1, 2022 - October 31, 2022 Make general improvements to the guide by incorporating the feedback received from the Collaboration Campfires. Add schematic diagram(s) to the guide to help understand the workflow of the R Development process as a whole and also for its intermediary steps
November 1, 2022 - November 30, 2022 Prepare to present the updated version of the guide to the R Contribution Working Group monthly meeting for the month of November

Project Budget

Budget item Amount Running Total Notes/justifications
Technical writer 1: general development workflow 4500 4500 Experienced technical writer from lower-middle-income country
Technical writer 2: case studies and structural issues 4500 9000 Experienced technical writer from lower-middle-income country
Project manager: direct and review updates to the documentation 3000 12000 Experienced technical writer/contributor from high-income country
Volunteer stipends 1000 13000 Only 2 volunteer stipends required
Donations in lieu of stipend 1000 14000 Donations to R-Ladies and Minorities in R in lieu of volunteer stipends
Admin 840 14840 3% payment processing fees on incoming and outgoing payments

Additional information

Previous experience with technical writers or documentation: Michael Lawrence and Heather Turner, members of the Steering Committee, co-mentored the project funded by R Foundation that produced the initial version of the R Dev Guide. The project took place over 3 months, with the co-mentors (based in the UK and the US) meeting the technical writer (based in India) for 30 minutes each week to discuss the documentation plans and advise on content. The project benefited from the input of a wide group of volunteers belonging to the R Contribution Working Group. Co-mentors or volunteers reviewed pull requests to the documentation and provided additional support through the R-devel Slack workspace. We anticipate similar participation from the community in this project.

Previous participation in Season of Docs, Google Summer of Code, or others: The R project participated in Google Season of Docs 2021, creating a knowledgebase and information board for the useR! conference. These outputs are serving their intended purpose well, in supporting the organizers of useR! 2022 and providing information for potential organizers of useR! 2023. We have based the current proposal on our experience from that project. For example, we were able to successfully integrate the work of two writers working on separate aspects. The project manager and steering committee structure helped in this regard. We now have web analytics in place to help measure impact of web-based documentation. The R Project has also participated as a Google Summer of Code (GSoC) organization every year since 2008. We typically have around 20 student projects, with a low failure rate and many students remaining engaged with the community.