October 17, 2022 From rOpenSci (https://ropensci.org/blog/2022/10/17/maintain-or-co-maintain-an-ropensci-package/). Except where otherwise noted, content on this site is licensed under the CC-BY license.
The rOpenSci suite of packages is mainly composed of packages contributed by the community through peer-review, but also includes some packages maintained by staff. Over time, the commitments and availability of the original developers of a package can change. This leads to some maintainers stepping down from their maintainer role, or other maintainers looking to lower their workload through more teamwork and therefore looking for co-maintainers.
We’re so grateful for all our community maintainers and want to make sure that they feel good about the work they do and not burdened by the responsibility. This is why we started conducting annual maintainer surveys, to ensure that maintainers feel supported and feel free to say when they need help, or are ready to move on. Following our recent annual maintainer survey, we have projects looking for both new maintainers and co-maintainers. Therefore, we say thank you! to our maintainers looking to move on, and in this blog post we will explain why you might want to help, and we’ll list the packages currently up for adoption or collaboration.
Maintaining or co-maintaining a package can have some specific advantages, on top of the big motivator “keep a cool package alive”. Maintenance work allows you to gain and practice software development skills (writing R functions, using GitHub interface, unit testing and continuous integration, technical writing in the documentation…). Furthermore, it becomes a public record of these awesome skills you have developed and will contribute to your online developer portfolio.
Being an author of an rOpenSci package means you have access to rOpenSci infrastructure (such as pkgdown docs building for all packages) as well as community support and camaraderie (through our forum, and our semi-open slack where there are other package maintainers, including rOpenSci staff). We’re grateful for all contributors that help us provide a healthy suite of packages!
Co-maintaining can allow for more team work and more division of labour, so if that appeals to you, you could also look for co-maintainers.
How much time, what skills in particular? Sadly the answers is “it depends”. In the list of packages in this post, some require a large overhaul (for instance essurvey whose data source underwent many changes) while others are more stable (for instance robotstxt). Other criteria that might increase the workload are: popularity (many users' requests), code health (maybe a dependency could or should be swapped for a more modern or better maintained one), whether the package is on CRAN or you’d want it to be, etc. Have a look at the repository to assess its needs and its toolset before volunteering, and don’t hesitate to ask questions (in the volunteering issue, in a new issue if there is no volunteering issue).
Until you no longer want to. 😉
Ideally, it’d be great for you to be reasonably confident you can spend some of your time on the package for at least one year.
As a maintainer, if you want to step down, please reach out to
[email protected] – no need to wait for the next annual survey and suffer in silence.
Although general technical skills will make you a good contributor to many packages, it is crucial to have specific interest in what a package does or the toolset it uses. You might have that interest because you use that package at work or because its scope falls under your topics of interest, for instance. Being very interested in a package will make you more motivated, furthermore the user community will likely be a community of your peers.
Last but not least, if you use the package you maintain at work, you might be able to tackle maintenance during your normal working hours, which might be more sustainable than carving time for it on the side.
To volunteer, comment in the corresponding volunteering issue. Thank you!
To volunteer, comment in the corresponding issue or email the maintainer. Thank you!
taxlist, Handling Taxonomic Lists. Handling taxonomic lists through objects of class ‘taxlist’. This package provides functions to import species lists from ‘Turboveg’ and the possibility to create backups from resulting R-objects. Issue with details.
tidync, A Tidy Approach to ‘NetCDF’ Data Exploration and Extraction. Tidy tools for ‘NetCDF’ data sources. Explore the contents of a ‘NetCDF’ source (file or URL) presented as variables organized by grid with a database-like interface. Issue with details.
googleLanguageR, Call Google’s ‘Natural Language’ API, ‘Cloud Translation’ API, ‘Cloud Speech’ API and ‘Cloud Text-to-Speech’ API. Call ‘Google Cloud’ machine learning APIs for text and speech tasks. Call the ‘Cloud Translation’ API for detection and translation of text, the ‘Natural Language’ API to analyse text for sentiment, entities or syntax, the ‘Cloud Speech’ API to transcribe sound files to text and the ‘Cloud Text-to-Speech’ API> to turn text into sound files. Issue with details.
nlrx, Setup, Run and Analyze ‘NetLogo’ Model Simulations from ‘R’ via ‘XML’. Setup, run and analyze ‘NetLogo’ model simulations in ‘R’. ‘nlrx’ experiments use a similar structure as ‘NetLogos’ Behavior Space experiments. However, ‘nlrx’ offers more flexibility and additional tools for running and analyzing complex simulation designs and sensitivity analyses. By nesting model calls in future environments, large simulation design with many runs can be executed in parallel. This also enables simulating ‘NetLogo’ experiments on remote high performance computing machines. Repository.
refsplitr, author name disambiguation, author georeferencing, and mapping of coauthorship networks with ‘Web of Science’ data. Tools to parse and organize reference records downloaded from the ‘Web of Science’ citation database into an R-friendly format, disambiguate the names of authors, geocode their locations, and generate/visualize coauthorship networks. Issue with details.
tidyqpcr, Quantitative PCR Analysis with the Tidyverse. For reproducible quantitative PCR (qPCR) analysis building on packages from the ’tidyverse’, notably ’dplyr’ and ’ggplot2’. It normalizes (by ddCq), summarizes, and plots pre-calculated Cq data, and plots raw amplification and melt curves from Roche Lightcycler (tm) machines. It does NOT (yet) calculate Cq data from amplification curves. Repository. Issue with details.
dbparser, ‘DrugBank’ Database XML Parser. This tool is for parsing the ‘DrugBank’ XML database. The parsed data are then returned in a proper ‘R’ dataframe with the ability to save them in a given database. Issue with details.
MODIStsp, Find, Download and Process MODIS Land ProductsData. Allows automating the creation of time series of rasters derived from MODIS satellite land products data. It performs several typical preprocessing steps such as download, mosaicking, reprojecting and resizing data acquired on a specified time period. Repository. Issue with details.
assertr, Assertive Programming for R Analysis Pipelines. Provides functionality to assert conditions that have to be met so that errors in data used in analysis pipelines can fail quickly. Similar to ‘stopifnot()’ but more powerful, friendly, and easier for use in pipelines. Repository. Issue with details.
In this post we explained that there is a cycle to package maintenance, why maintainers may step down, and why one would want to step up! Hopefully we’ve inspired some soon-to-be maintainers, who’ve taken a look at our list of rOpenSci packages for which new maintainers or co-maintainers are needed. Not sure you’re ready to tackle these packages, but think you might be interested in the future? Help requests including calls for maintainers and co-maintainers are always listed on our help wanted page. If you are interested in rOpenSci mission but not in the idea of maintaining a package, have a look at our contributing guide for other ways you can contribute to rOpenSci and benefit from being part of the rOpenSci community!