Moderators
A moderator is a volunteer gatekeeper who manages contributions and discussions from contributors and users. Moderators are vital to the health and success of R-multiverse: they help the R community understand how to use R-multiverse, they ensure new package contributions are reviewed in a timely manner, they maintain the integrity of the R-multiverse package ecosystem. If you would like to help improve R-multiverse, please consider becoming a moderator. This page explains the how to become a moderator and the scope of the moderator role.
Joining
This section describes the process to become a moderator.
Prerequisites
Moderators must be:
- Proficient in R package development.
- Proficient in the English language.
- Able to manage content on GitHub such as repositories, pull requests, issues, and discussions.
- Prepared to facilitate the process to contribute packages to R-multiverse.
- Prepared to facilitate discussions and answer questions on the
r-multiverse/help
issue and discussion forums. - Familiar with all R-multiverse policies.
- Prepared to assist with the enforcement of R-multiverse policies (see the “Policy Enforcement” section below).
Selection
Administrators are responsible for selecting moderators. Beyond the prerequisites above, administrators choose moderators based on trust. A moderator should have a positive, strong, visible, verifiable presence in the R community. If you would like to be a moderator, please help R-multiverse stakeholders understand who you are and what you work on. There are countless ways to grow your public reputation, and each individual moderator has their own unique type of impact.
Here is just a small list of examples:
- Contribute packages to well-known repositories (or R-multiverse).
- Contribute or review for rOpenSci.
- Organize or speak at an R-focused conference. Examples include but are not limited to the list at r-project.org, posit::conf, LatinR, and R/Pharma.
- Organize a chapter of R-Ladies.
- Curate R Weekly.
- Contribute to an R Consortium ISC working group.
- Contribute to a professional organization such as an ASA group or openstatsware.
- Organize an R user group. (Meetup and Jumping Rivers list examples.)
- Publish R-focused articles in journals such as the R Journal, the Journal of Statistical Software, or the Journal of Open Source Software.
Volunteering
If you would like to volunteer as a moderator, please fill out the email template below and send it to administrators@r-multiverse.org
with the subject line “Joining as Moderator”. Each occurrence of ___
in the template below is a placeholder for a response from you. All the other text can remain exactly as shown below, with no modification.
To the R-multiverse Administrators:
I would like to join R-multiverse as a moderator. Please find my responses below.
* Full name: ___
* Pronouns (examples: they/them, she/her, he/him): ___
* Professional affiliation, if applicable: ___
* GitHub user name: ___
* Links to R packages I have authored or contributed to, if any: ___
* Links that point to my online presence (for example, personal websites, social media profile pages, project websites, Shiny apps, presentations, and/or software reviews (e.g. for rOpenSci or the Journal of Open Source Software)): ___
* Other ways, if any, that I am involved in the R community: ___
* Number of years, if any, that I have developed or contributed to R packages: ___
* Number of years, if any, that I have been involved in the R community: ___
* Areas of professional subject matter expertise (or example: statistics, databases, ecology, genomics, clinical trials, etc.): ___
* Number of hours per month I will commit to reviewing contributed packages (any number is okay): ___
* Number of hours per month I will commit to moderating issues and discussions at https://github.com/r-multiverse/help: ___
Onboarding
If you are selected as a moderator and you agree to join, please work with an administrator to complete the onboarding process:
- Please open a new issue of type “Moderator onboarding” at https://github.com/r-multiverse/help/issues to track the onboarding process.
- Please submit a pull request the website repository to add yourself to the moderator section on the team page. Please include your full name, a description, your GitHub profile photo if available, and your professional affiliation if applicable. An administrator will review and merge the pull request.
- Next, an administrator will add you to the R-multiverse moderator GitHub team. This GitHub team has maintainer access to https://github.com/r-multiverse/contributions, triage access to https://github.com/r-multiverse/help and https://github.com/r-multiverse/topics, and read access to https://github.com/r-multiverse/moderation.
Offboarding
If you no longer wish to serve as a moderator, please inform an administrator by posting a new issue of type “Moderator offboarding” at https://github.com/r-multiverse/help. The administrator will then remove you from the R-multiverse moderator GitHub team and submit a pull request to transfer you from the moderator section to the alumni section on the team page of the website.
Scope
This section explains the privileges and responsibilities of moderators. All these privileges and responsibilities are also shared with the administrators. If you have a question, please post a discussion to https://github.com/r-multiverse/help/discussions or confidentially reach out to one of the current administrators.
Reviewing Contributions
Moderators review R package contributions to R-multiverse. The contribution process is described on the website and is governed by the official R-multiverse review policy.
The role of a moderator is to read contributions at https://github.com/r-multiverse/contributions/pulls, merge the pull requests that comply with R-multiverse official policies, and either close the pull request (without merging) or ask for changes in non-compliant cases.
As a moderator, you may optionally restrict your review to packages in your area of expertise. Simply search contributions for relevant keywords, including R-multiverse topics.
Maintaining Contributions
Moderators stay involved and engaged even after contributed packages are accepted. For example, a community member may report name conflicts between R-multiverse and CRAN. In that case, a moderator should contact the maintainers of the respective packages and work together toward a solution which is agreeable to the maintainers and which ensures the compatibility between R-multiverse and CRAN where possible. If you have trouble, please ask an administrator for help.
Removing Contributions
It may become necessary to remove packages from R-multiverse, either because of policy violations or at the request of the maintainers. To remove a package, edit the text in its contribution listing file: replace the URL/JSON with free-form text that explains why the package was removed. For example:
This package was removed from R-multiverse because the latest release had "LICENSE: TBD" in the DESCRIPTION file, which is not a valid FOSS license. R-multiverse requires a valid FOSS license to ensure the copyrights of the authors are protected (see https://r-multiverse.org/aup.html#intellectual-property and https://r-multiverse.org/aup.html#enforcement-and-reporting-violations).
The Community repository will then automatically detect the unstructured text and remove the package. Unless the package name itself violates R-multiverse policies, please do not delete the contribution listing file. 1
In an emergency that requires the immediate removal of a package, please also manually delete the Community packages.json
file and Staging packages.json
file.
Topics
We encourage moderators to contribute R-multiverse topics about their fields of expertise. To do so, submit a pull request to https://github.com/r-multiverse/topics to add a text file describing the subject matter (example here).2 A bot periodically rebuilds the website based on these text files. Seasoned contributors will see your topic listed here and add keywords to their contributions accordingly.
Discussions
Moderators help answer questions on the r-multiverse/help
issue and discussion forums. Questions may ask about specific packages, package reviews, the workings of R-multiverse, etc. A moderator may close an issue or discussion thread if it originally came from a contributor or user and the original issue is resolved. Moderators should not close issues or discussions created by administrators, including official proposals to modify R-multiverse policies.
Enforcement
Administrators take primary responsibility for enforcing all R-multiverse policies. Moderators are delegated the following limited-scope privileges and responsibilities to assist administrators with enforcement.
Blocking users
Attackers and may attempt to spam or sabotage R-multiverse infrastructure. Examples include but are not limited to:
- Contributing malware with a clear intent to cause harm.
- Posting repetitive comments, unsolicited advertisements, or inappropriate material at https://github.com/r-multiverse/help or https://github.com/r-multiverse/contributions/pulls.
- Overwhelming https://github.com/r-multiverse/contributions/pulls with spam pull requests.
Please quickly add malicious GitHub users to the blocked users list at https://github.com/organizations/r-multiverse/settings/blocked_users. This will impede ongoing attacks by blocking the users from the R-multiverse GitHub organization.
Removing packages from Community
Moderators are responsible for removing R packages from https://github.com/r-multiverse/contributions which contain malware, invalid licenses3, or otherwise violate acceptable use. To remove a package, please follow the instructions from the “Removing Contributions” section above.
Repairing other damage
After blocking a malicious user, please delete any comments or contributed package listings which cause harm or constitute spam.
Reporting to R-multiverse
Please report all known policy violations to the issue tracker in the private repository at https://github.com/r-multiverse/moderation. An administrator will respond and work with you on a resolution. After resolving the issue, the administrator will publicly notify all R-multiverse stakeholders in a new issue thread at https://github.com/r-multiverse/help. The public thread will not disclose the identities of any victims of the incident or any moderators involved in its resolution.
Reporting to GitHub/GitLab
A violation of R-multiverse policies may also violate GitHub policies or GitLab policies: for example, a malicious user or a package with malware. If that is the case, please immediately report the user and/or package using GitHub’s “Report abuse or spam” webform or GitLab’s “Report abuse” procedure.
Reporting to the R Consortium Advisory Database
If a package contains malware or exploitable vulnerabilities, please report the affected package versions to the R Consortium Advisory Database.
Out of scope
Moderators should not attempt to directly confront malicious users/contributors, resolve code of conduct violations, or engage with legal matters relating to policy violations. Administrator directly handle these and similar cases. Please post to https://github.com/r-multiverse/moderation/issues to notify an administrator.
Contact
If you have questions, please post a discussion thread. To communicate confidentially among the administrators and other moderators, please post a new issue, discussion, or comment to the private repository at https://github.com/r-multiverse/moderation. If you need to communicate confidentially with only the administrators, please email administrators@r-multiverse.org
.
Footnotes
In this case, the contribution listing file serves as a placeholder in case a contributor wants to reuse the same name for a different package.↩︎
Through triage access, R-multiverse moderators are authorized to merge these pull requests. Please only edit the plain files without file extensions. All the HTML files are automatically generated.↩︎
nonstandard_licenses.json
is a continuously updating list of packages with non-standard licenses.↩︎