Contributing to Our GitHub#

This page is your one-stop shop for uncovering the many resources for open science that are on the TOPS GitHub! Read on to learn more about how to use our GitHub, how to engage with TOPS and participate in a Year of Open Science, and identify resources to help you, your research team, and your organization get started with open science.

Before contributing, please read our LICENSE and our Code of Conduct. A summary of the code of conduct is also below.

We Want Your Help!#

No, really, we do! Please come and participate in our community and help us transform to open science together!

Depending on your level of interaction with TOPS and the TOPS GitHub, visitors to the site can be described as:

  • A community member: anyone in the open science community who visits a TOPS site, utilizes TOPS online tools, or attends a TOPS event.

  • A participant: anyone who posts a comment or poses a question in the GitHub Discussion Space, reports a site bug or requests a new resource in GitHub Issues, or attends a TOPS event and utilizes any virtual chat features during that event.

  • A contributor: anyone who forks this GitHub repository and submits pull requests to make additions or changes to the posted content.

Everyone reading this page is a community member, and we hope everyone will post comments and join discussions as a participant. Contributors are welcome, particularly to help find and point to other open science resources.

All community members must abide by the code of conduct when engaging with TOPS, either online or in-person.

Code of Conduct#

The TOPS code of conduct can be found here. Responses to code of conduct violations on this GitHub are based on the level of impact, which is tied to where the violation took place–either a comment, discussion post, or in a pull request (PR) to the repository. Code of conduct violations for the GitHub will be addressed in the following manner:

  • First code of conduct violation

    • Participant: Comment removed + contacted by TOPS moderator

    • Contributor: PR not accepted and removed from GitHub + contacted by TOPS moderator

  • Second code of conduct violation

    • Participant: Comment removed + contacted by TOPS moderator + ban for 90 days from space where offense occurred

    • Contributor: PR not accepted and removed from GitHub + contacted by TOPS moderator + banned from PRs for 90 days

  • Third code of conduct violation

    • Participant: Comment removed + contacted by TOPS moderator + permanent ban from all TOPS spaces

    • Contributor: PR not accepted and removed from GitHub + contacted by TOPS moderator + permanent ban from GitHub and other TOPS digital communication

  • Commit of Malicious Code

    • Immediate and permanent ban from all TOPS spaces

  • Threat of violence against an individual or group

    • Immediate and permanent ban from all TOPS spaces

Ways to Contribute to the TOPS GitHub#

There are three, major ways to contribute to the TOPS GitHub.

  • Ask a question, provide an answer, share your thoughts and contribute to brainstorming through Discussions. The GitHub discussion area is intended for general Q&A, asking for community stories and experiences, and beginning conversations on new or existing open science topics.

    • To learn more about GitHub Discussions check out their documentation

  • Suggest a change, addition, or deletion to what is already on the GitHub using Issues. Issues can be about any TOPS plans, timelines, and content.

    • Before submitting a new issue, check to make sure a similar issue isn’t already open. If one is, contribute to that issue thread with your feedback.

    • When submitting a bug report, please try to provide as much detail as possible, i.e. a screenshot or gist that demonstrates the problem, the technology you are using, and any relevant links.

    • Issues labeled :sparkles:help wanted:sparkles: make it easy for you to find ways you can contribute today.

  • Become a contributor! Fork the repository and make commits to add resources and additional materials. Here are some ways you can contribute:

    • by reporting bugs

    • by suggesting new features

    • by translating content to a new language

    • by writing or editing documentation

    • by writing specifications

    • by writing code and documentation (no pull request is too small: fix typos, add code comments, clean up inconsistent whitespace)

    • by reviewing pull requests.

    • by closing issues

In the spirit of open source software, everyone is encouraged to help improve this project!

New to GitHub? Start here!#

You can sign up for GitHub here! TOPS has created a short video demonstrating how to make an easy pull request here.

For a more in-depth start, we suggest Getting Started with Git and GitHub: The Complete Beginner’s Guide and The Beginners Guide to Git and GitHub. We’ve summarized some of the most important points below.

Making a Change#

This section is attributed to NumFOCUS and Adrienne Friend.

Once you’ve identified something you’d like to help with you’re ready to make a change to the project repository!

  1. First, describe what you’re planning to do as a comment to the issue, (and this might mean making a new issue).

    This blog is a nice explanation of why putting this work in up front is so useful to everyone involved.

  2. Fork this repository to your profile.

    You can now do whatever you want with this copy of the project. You won’t mess up anyone else’s work so you’re super safe.

    Make sure to keep your fork up to date with the master repository.

  3. Make the changes you’ve discussed.

    Try to keep the changes focused rather than changing lots of things at once. If you feel tempted to branch out then please literally branch out: create separate branches for different updates to make the next step much easier!

  4. Submit a pull request.

    A member of the executive team will review your changes, have a bit of discussion and hopefully merge them in!

    N.B. you don’t have to be ready to merge to make a pull request! We encourage you to submit a pull request as early as you want to. They help us to keep track of progress and help you to get earlier feedback.

Development Model#

For accepting new contributions, TOPS uses the forking workflow. As the first step of your contribution, you’ll want to fork this repository, make a local clone of it, add your contribution, and then create a pull request back to the TOPS repository.

All documentation should be written using Markdown and Github Markdown-supported HTML.