Skip to content

Latest commit

 

History

History
164 lines (113 loc) · 12 KB

CONTRIBUTING.md

File metadata and controls

164 lines (113 loc) · 12 KB

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 the 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 ✨help wanted✨ 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.

Contributing to Open Science 101 on GitHub

There are a few mechanisms that you can make use of to contribute to the OS 101 curriculum on GitHub. Those methods specifically being Issues, Pull Requests, and Discussions. When suggesting a change to the curriculum, it is always recommended to link to a specific part of the curriculum and add screenshots so we know exactly what needs to be looked at.

The below terms describe how we suggest using each mechanism for contributing to OS 101.

Issues: Submit encountered issues or suggest improvements. Links and images (screenshots) are highly recommended so we can identify the location in the curriculum that is being referred to.

Submit an Issue

Pull Requests: Much like issues, links and images can be provided for context, but a direct change to files on the GitHub repository is proposed to apply a fix. TOPS will merge the change, modify the change if corrections are needed, or reject the change if no action is necessary. To create a pull request, you will make use of a fork as previously described.

Submit a Pull Request

Discussions: Used to communicate with the community or TOPS, whether that is related to theory, application of concepts, curriculum feedback, sharing experiences, and more.

Start a Discussion

How TOPS Keeps OS101 Contributions Organized

To organize and add context to Issues, Pull Requests, and Discussions, this GitHub repository makes use of Labels. Categories are used specifically for Discussions to help further organize them.

The definitions below will allow you to identify useful details for a specific contribution or discussion:

Labels (Issues, Pull Requests, and Discussions)

Descriptive Labels - Gives more context as to the type of feedback being provided

  • OS101 Curriculum: General Suggestions
    • General feedback for the curriculum without needing to point to a specific part of the curriculum.
  • OS101 Curriculum: Content Suggestions
    • Suggestions for text found in the open science 101 curriculum. Use Lesson and Module labels.
  • OS101 Curriculum: Graphic Suggestions
    • Suggestions for graphics found in the open science 101 curriculum. Use Lesson and Module Labels.
  • OS101 Curriculum: Knowledge Checks
    • If feedback is with relation to a knowledge check, this label is useful for this.
  • OS101 Curriculum: Bug Report
    • Bug reports that are specific to openscience101.org.

Status Labels - Used to indicate whether changes still need to be implemented on either GitHub or openscience101.org

  • OS101 Status: Curriculum
    • Openscience101.org still needs changes implemented.
  • OS101 Status: GitHub
    • GitHub still needs changes implemented.
  • OS101 Status: No Change Needed
    • Changes are not needed on either GitHub or Openscience101.org.

Module Labels - Used to point to specific module content

  • Module: 1
  • Module: 2
  • Module: 3
  • Module: 4
  • Module: 5

Lesson Labels - Used to point to specific lesson content

  • Lesson: 1
  • Lesson: 2
  • Lesson: 3
  • Lesson: 4
  • Lesson: 5

Discussion Categories (Discussions Only)

OS101 Curriculum

  • OS101 General: General questions, feedback, and comments for the OS101 curriculum.
  • OS101 Concepts: Talk about concepts taught in OS101, theory, applications in your research, potential for OS101 concepts to help solve difficult problems, and much more.
  • Why OS101?: If you are curious about taking the curriculum but not quite sure if it is right for your career path, we encourage you to voice questions/concerns you may have.
  • OS101 Workshops: Engage in discussions with fellow researchers about a specific workshop session, or workshops in general.
  • OS101 Success Stories: What kind of success has the OS101 curriculum enabled in your research?