TY - JOUR
T1 - Preparing an R package for open-source contributions
T2 - An experience report on the World Wildlife Fund's Forest Foresight
AU - Bakhshi, Amin
AU - Maruf, Hasrul
AU - van Apeldoorn, Maas
AU - Calle, Zillah
AU - van Duijvenbode, Jonas
AU - Wolff, Ismay
AU - Dajsuren, Yanja
AU - Krüger, Jacob
N1 - Publisher Copyright:
© 2025 The Authors
PY - 2026/1
Y1 - 2026/1
N2 - Deforestation (i.e., the removal or destruction of forests by humans), particularly illegal, is a major cause of ecological and environmental problems. To combat illegal deforestation, the World Wildlife Fund (WWF) has developed an open-source R package to predict deforestation around the world using machine learning. The package has been used by and customized to various countries, providing immense value for environmental protection. However, the package was implemented by domain experts without software engineering background, resulting in an unstructured development process, a monolithic codebase, and a lack of documentation on processes and code. Aiming to build an open-source community to improve and maintain the package, the WWF team decided to focus on enhancing the accessibility and attractiveness of the codebase for newcomers. Supporting this goal, we conducted an action-research-like project using Scrum to improve the code quality, tooling, testing, processes, and documentation while also establishing practices to sustain and build upon these improvements. In this article, we describe this project and share our insights into opening an R package to make it more accessible for external open-source contributors. Our insights include guidance on communicating design decisions to domain experts without a software engineering background and on how to train them in software engineering practices. Further insights highlight the specific challenges of working with R packages. Lastly, our work showcases the contributions that software engineering can make to support environmental protection and can guide future projects in this direction.
AB - Deforestation (i.e., the removal or destruction of forests by humans), particularly illegal, is a major cause of ecological and environmental problems. To combat illegal deforestation, the World Wildlife Fund (WWF) has developed an open-source R package to predict deforestation around the world using machine learning. The package has been used by and customized to various countries, providing immense value for environmental protection. However, the package was implemented by domain experts without software engineering background, resulting in an unstructured development process, a monolithic codebase, and a lack of documentation on processes and code. Aiming to build an open-source community to improve and maintain the package, the WWF team decided to focus on enhancing the accessibility and attractiveness of the codebase for newcomers. Supporting this goal, we conducted an action-research-like project using Scrum to improve the code quality, tooling, testing, processes, and documentation while also establishing practices to sustain and build upon these improvements. In this article, we describe this project and share our insights into opening an R package to make it more accessible for external open-source contributors. Our insights include guidance on communicating design decisions to domain experts without a software engineering background and on how to train them in software engineering practices. Further insights highlight the specific challenges of working with R packages. Lastly, our work showcases the contributions that software engineering can make to support environmental protection and can guide future projects in this direction.
KW - Community-driven contributions
KW - Open-source development
KW - Repository management
KW - Software evolution
UR - https://www.scopus.com/pages/publications/105014803728
U2 - 10.1016/j.jss.2025.112597
DO - 10.1016/j.jss.2025.112597
M3 - Article
SN - 0164-1212
VL - 231
JO - Journal of Systems and Software
JF - Journal of Systems and Software
M1 - 112597
ER -