-
Notifications
You must be signed in to change notification settings - Fork 0
GSOD 2022 Proposal
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.
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.
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.
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:
- Adding a chapter on translations (add translations chapter r-devel/rdevguide#34).
- Including more information (or adding a new chapter) on tests for base R (More details needed about writing tests r-devel/rdevguide#28).
- Describing a git workflow for testing proposed patches (Describe GitHub workflow: create a patch from pull request to r-devel/r-svn r-devel/rdevguide#23).
- Adding novice-friendly instructions on installing R from source (add instructions on installing R-devel from source r-devel/rdevguide#33)- as a companion to the official documentation.
- 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.
- 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.
- 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.
The project will benefit from the mentoring and advice of a steering committee with expertise in R contribution, R development and technical writing:
- Michael Lawrence: R core developer.
- Thomas Lumley (@tslumley): R core developer.
- Heather Turner (@hturner): chair of the R Contribution Working Group and co-lead of the Digital Infrastructure Incubator project running the Collaboration Campfires.
- Carol Willing (@willingc): Python core developer; Project Jupyter core developer and Steering Council; Journal of Open Source Education editorial board.
- Bettina Grün (@bettinagruen): member of the R Foundation, JSS Editor-in-Chief and former editorial board member of the R Journal, can provide feedback on comprehensibility and readability as well as help with copy-editing.
- Toby Dylan Hocking @tdhock: R Project admin/mentor for Google Summer of Code, R contributor, Assistant Professor at Northern Arizona University.
- Mine Çetinkaya-Rundel (@mine-cetinkaya-rundel): Professor at Duke University and Developer Educator at RStudio, maintainer of the OpenIntro project.
- Ben Ubah: GSoD 2021 technical writer, GSoC mentor.
Most of the committee are able to offer their time without requiring a volunteer stipend.
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.
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 |
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 |
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.