A few years ago, I wrote an R package that wrapped some of the text mining and supervised learning packages on CRAN with APIs to simplify the process of document classification. I have applied a few small patches since then, but the package held up surprisingly well over the years without maintenance.
On New Year’s Day 2014, I began receiving emails from users that the package was no longer installable via CRAN. According to CRAN, the package had been “archived on 2014-01-01 as import conflicts were not corrected.” I downloaded the latest version of R and ran
R CMD CHECK – sure enough, R 3.0 had added more stringent checks and the package was not passing. I applied the necessary patches and submitted the package to CRAN for approval. Within a few hours of submitting the patch, I received the following response from one of the CRAN maintainers:
“You were asked to correct this in 2013, failed to even reply, and it has been archived. Please explain your inaction and lack of the most basic manners.”
I checked my university email, which I had not looked at since taking leave more than a year ago, and noticed an automated email sent to 22 maintainers to fix import issues that were now being enforced in R 3.0. Perhaps I overlooked the email, but I would not have replied to an automated message, especially one that clearly reads:
“Do NOT reply to this email to submit an update!”
I eventually got in touch with a CRAN maintainer who approved my patch without hesitation, but the experience brought to mind a few lessons:
- Don’t alienate volunteers — everyone in the R community is a volunteer, and it doesn’t benefit the community when you’re unnecessarily rude.
- Understand volunteers have other commitments — while the core R team is doing an excellent job building a statistical computing platform, not everyone can make the same commitment to an open-source project.
- Open-source has limited resources — every contribution helps.
- Be patient — not everyone can operate on the same level, and new members will need to be brought up to speed on best practices.
With that in mind, I recently submitted a tiny syntax correction to GraphLab and promptly got this message from the repository owner:
“Just merged your request. We are always excited getting fresh reinforcement to our open source project! Especially nowadays that amount of contribution is significantly rising.”
That’s open source done right.
Photo: Sergey Galyonkin/Flickr