2 What brings you here? I want to …
Contributors to rOpenSci come with a wide range of motivations, which can include wanting a tangible way to participate in open science. First-time contributions may come from people in different places on a continuum of experience: from those who consider themselves newcomers exploring the landscape and trying to see where they fit, all the way to more experienced folks who know exactly what they have to offer and what they would like to contribute.
Contributing to rOpenSci can help you build your track record of public contributions (such as code or documentation on GitHub), and may help improve your CV for job, fellowship, or award applications.
Participation in an open source project like rOpenSci is more likely to be a lifecycle than a linear path. Having a package pass peer review for the first time can feel like a huge milestone. You might write a blog post about the package, “give back” by participating as a reviewer or mentoring someone else in their first review, or answering questions about package maintenance. But as a person becomes more experienced, they may move on. The value someone might get out of participating here will change over time and that is perfectly ok.
…users pursuing their own “selfish” interests build collective value as an automatic byproduct.
Tim O’Reilly on The Architecture of Participation
Do you already know what value you want to get out of contributing? (It’s ok if you don’t know yet.) To help you recognize yourself, we’ve categorized what we think contributors to rOpenSci want into: Discover; Connect; Learn; Build; Help. For each category, we list examples of what those contributions might look like and we link to our resources to help you get started.
Choose your path. It’s the journey, not the destination.
2.1 Discover
Making data, tools, and best practices more discoverable is part of our mission. For many, using an rOpenSci package is their first encounter with our organization. It’s the most common gateway to further involvement through connections with other users, or sharing use cases, for example.
Scan the “I want to” statements below to find something that interests you. Click on any action under a statement to go to a description of the relevant rOpenSci resource with details on how to contribute.
I want to:
Discover packages I can use to facilitate my research and access open data
- Browse rOpenSci packages
- Explore use cases for rOpenSci packages
- Read blog posts or tech notes about specific rOpenSci packages, about creative use cases for multiple rOpenSci packages, or about open data accessible through our packages
- Browse task views to discover packages to use
- Subscribe to our Newsletter
- Follow rOpenSci on Mastodon
- Browse citations of rOpenSci packages to see what other researchers are using
- Explore the R-universe
Discover resources on best practices for software development
- Read the Dev Guide
- Read or ask questions in the “Best Practices” category in our forum or on Slack
- Attend a Community Call
- Watch recordings and read collaborative notes from past Community Calls
- Read blog posts or tech notes
Discover resources on community building
- Read blog posts or tech notes, particularly those tagged with “Welcome”, “unconf”, or “icebreaker”
- Read about our community and some of the communities built by our members
2.2 Connect
An implicit value in participating in rOpenSci is the connections people make with other scientists, R users, developers, or research software engineers who want to do their research in a more open and reproducible fashion. The rOpenSci community is a welcoming place to connect with like-minded people who share interests and values and a motivation to develop the related skills, techniques, and practices.
Hey! You there! You are welcome here
Shannon Ellis’ rOpenSci blog post
Scan the “I want to” statements below to find something that interests you. Click on any action under a statement to go to a description of the relevant rOpenSci resource with details on how to contribute.
I want to:
Belong to a supportive community
- Read about our community
- Meet the Humans of rOpenSci and learn about their roles, their research, career paths, and contributions
- Read our Code of Conduct to ensure you’re prepared to participate
- Attend a Community Call to get a feel for how we work and communicate with each other. See who else is interested in a topic, what questions they’re asking, ask your own questions in a collegial environment, share your expertise in a collaborative notes resource for the call
- Read blog posts or tech notes, particularly those tagged with “Welcome” to get a feel for how we value people in our community.
- Support fellow community members (e.g., by welcoming newcomers, giving credit, connecting members with people or resources)
- Ask or answer questions in the forum or on Slack
- Join a coworking session to interact with others and get work done.
Meet and work with other users and developers of open science packages
- Address an issue. Explore open issues in rOpenSci packages and consider submitting a fix.
- Volunteer to review a package and use your experience to help a developer
- Volunteer to maintain or co-maintain a package
- Try a 2-hour remote co-working session with someone in our Slack #co-working channel. Read about contributions required to join rOpenSci Slack
- Seek community feedback on your package ideas in the “Packages” category in our forum. Ideas for new packages, package updates, or package features.
- Join a coworking session to interact with other developers and get work done.
Gain exposure in the open science R community
- Share a use case for an rOpenSci package
- Address an issue. Explore open issues in rOpenSci packages and consider submitting a fix.
- Volunteer to review a package
- Submit your package for peer review after determining whether it‘s in scope for rOpenSci
- Write a blog post or tech note to share your experiences (see both the Blog and the Blog Guide)
- Ensure your package is easily citable
- Create your own R-universe
Grow my local or topic-specific community
- Read blog posts or tech notes, particularly those tagged with “Welcome”, “unconf”, or “icebreaker”
- Create a community R-universe
- Read about our community and some of our neighbors: rOpenSci Antarctic and Southern Ocean Research; R-Ladies; MiR Community; the Latin American R community; Comunidad de Desarrolladores de Software en Bioinformática, CDSB; Openscapes; The Carpentries.
2.3 Learn
rOpenSci provides avenues for new and more seasoned R users and developers to learn - from learning by reading and listening, to learning by doing. All in an atmosphere of trust, generosity, giving credit, and sharing gratitude. We focus here on using, developing, documenting code, and building community, as they specifically align with our mission. People looking for more general R learning may refer to RStudio Education and The Carpentries.
Scan the “I want to” statements below to find something that interests you. Click on any action under a statement to go to a description of the relevant rOpenSci resource with details on how to contribute.
I want to:
Be informed by reading and listening
- Follow rOpenSci on Mastodon
- Subscribe to our Newsletter
- Read blog posts or tech notes
- Read the R-universe discussion
- Attend a Community Call
- Watch recordings and read collaborative notes from past Community Calls
- Explore use cases shared by community members
- Follow discussions about statistical software peer review, best practices, and Q & A in the forum or on Slack
- Join a coworking session and listen to questions and answers
Improve the reproducibility of my research and apply best practices in my work
- Use an rOpenSci package if it does something you need instead of writing new code yourself
- Attend a Community Call or watch recordings and read collaborative notes from past Community Calls. Some past calls have covered these topics
- Read the Dev Guide and adopt some new best practices
- Read our book on Statistical Software Peer Review to familiarize yourself with standards being developed
- Read or ask questions in the “Best Practices” category in our forum or on Slack
- Submit your package for peer review after determining whether it’s in scope for rOpenSci
Improve my R and software development skills
- Find new packages to try: Browse rOpenSci packages, explore use cases, read blog posts or tech notes
- Volunteer to review a package
- Seek community feedback on your package ideas in the “Packages” category in our forum
- Review package documentation
- Address an issue. Explore open issues in rOpenSci packages and consider submitting a fix.
- Make a pull request to add/fix examples or clarify package documentation
- Write a vignette/article for a package
- Share a use case
- Write a post about using rOpenSci packages on your own blog
- After learning something new, write a blog post or tech note to share your experiences (see both the Blog and the Blog Guide)
- Ask or answer questions in the forum or on Slack
- Volunteer to maintain or co-maintain a package
- Submit your package for peer review after determining whether it’s in scope for rOpenSci
- Join a coworking session and ask questions of other developers
Learn how to review R code
- Read blog posts or tech notes written by reviewers (including some first-time reviewers) about their experiences
- Read the Dev Guide, especially the Reviewer Guide section
- Volunteer to review a package. Learn by doing!
Learn how to get my package on CRAN
- Read the Dev Guide, especially the CRAN Gotchas section
- Read or ask questions in the “Packages” category in our forum or on Slack
- Seek community feedback on your package ideas in the “Packages” category in our forum
- Submit your package for peer review after determining whether it’s in scope for rOpenSci. The review process is very useful for making sure your package is also suitable for CRAN.
Learn about career paths in R and open science
- Meet the Humans of rOpenSci and learn about their roles, their research, career paths, and contributions
- Read blog posts or tech notes, particularly those tagged with “Interviews”, which feature experienced rOpenSci community members
- Browse the Jobs category in our public forum or in Slack
2.4 Build
Perhaps the roles people associate most with contributing to rOpenSci involve building and influencing the research software landscape in R. This includes things like having a stake in package development and documentation, discussions on new projects like developing standards for statistical software peer review, or influencing the adoption of more open and reproducible research in your department, your institution, or your field.
Scan the “I want to” statements below to find something that interests you. Click on any action under a statement to go to a description of the relevant rOpenSci resource with details on how to contribute.
I want to:
Improve and promote open science in my field
- Volunteer to review a package
- Contribute to a task view. Make a pull request to add packages or details to an existing task view after discussing your approach with the maintainer
- Develop a package and submit it for peer review after determining whether it’s in scope for rOpenSci
- Recommend topics or speakers for Community Calls
- Help organize a Community Call
- Write a post about using rOpenSci packages on your own blog
- Cite rOpenSci packages in manuscripts and presentations
- Ensure your package is easily citable
- Explore the R-universe and share your findings with colleagues
- Create your own R-universe
- Read/Contribute to the R-universe discussion
- Report a bug in the R-universe
Influence package development
- Volunteer to review a package
- Report a bug in an rOpenSci package
- Make a feature request
- Add a package idea to the Wishlist in the rOpenSci forums
- Address an issue. Explore open issues in rOpenSci packages and consider submitting a fix.
- Make a pull request to fix a bug or add a feature
- Read/Contribute to the R-universe discussion
- Report a bug in the R-universe
Improve package documentation and examples
- Review documentation and help the author by letting them know what’s unclear or Make a pull request to add/fix examples or to add/clarify documentation
- Write a vignette/article for a package
- Share a use case or encourage your peers to do the same
Promote best practices for R development
- Engage with us on Mastodon. Amplify best practices from our social media to your networks
- Ask or answer questions in the the “Best Practices” category in our forum or on Slack
- Write a blog post or tech note about the development of your rOpenSci package or your implementation of best practices (see both the Blog and the Blog Guide)
- Recommend topics or speakers for Community Calls
- Help organize a Community Call
- Consider being a Community Host for a Coworking session
Promote software citations
- Cite rOpenSci packages in manuscripts and presentations and encourage your colleagues to do the same
- Ensure your package is easily citable
Get more visibility and more users for my rOpenSci package
- Publish a paper about your package
- Write a post about using rOpenSci packages on your own blog
- Write a post or tech note about your package for the rOpenSci blog (see both the Blog and the Blog Guide)
- Create your own R-universe
Get people to work on open issues in my rOpenSci package
- Label your issues to make them more discoverable
- Include future plans for your package in the README.
- Request a co-maintainer for your package. Bringing on an additional maintainer can be a way to manage the volume of work, work through issues, and increase package sustainability.
- Consider being a Community Host for a Coworking session and supporting a mini code-a-thon.
2.5 Help
One major motivation for contributing to rOpenSci is people’s desire to “give back” in appreciation of good software, good infrastructure, and a good community in which folks share their gratitude often and openly. The ways you can help are limitless. We encourage people to support others by sharing their experience or expertise. Don’t underestimate the value of sharing your first-time experience doing a thing; that is an immense help to others who don’t yet recognize the value of their own contributions.
Scan the “I want to” statements below to find something that interests you. Click on any action under a statement to go to a description of the relevant rOpenSci resource with details on how to contribute.
I want to:
Support rOpenSci or give back to open source
- Read about our mission
- Tell a friend about an rOpenSci package that may be useful for their work
- Cite rOpenSci packages in manuscripts and presentations and encourage your colleagues to cite software
- Ensure your package is easily citable
- Submit a use case for an rOpenSci package
- Address an issue. Explore open issues in rOpenSci packages and consider submitting a fix.
- Contribute to the R-universe discussion
- Report a bug in the R-universe
- Engage with us on Mastodon. Amplify best practices from our social media to your networks. Reply to a post to share your experience or expertise on a topic
- Weigh in on tough technical issues on software review threads
- Donate to rOpenSci
Help other community members
- Volunteer to review a package. We appreciate having experienced reviewers who are willing to be paired with a first-time reviewer
- Answer questions in the forum or on Slack
- Support fellow community members (e.g., by welcoming newcomers, giving credit, connecting members with people or resources)
- Join a coworking session and answer questions
Provide something I think the community is missing