Contributing#

Notice a bug? Have a feature idea? Interested in contributing an algorithm?

There are many ways to contribute to SOCKS, and we welcome and encourage collaborators to point out issues, post ideas, and (preferably) submit pull requests.

SOCKS is currently under active (alpha) development, meaning we are still in the early stages of ironing out the way things work and developing the underlying framework of SOCKS. We have a lot of great inspiration from existing libraries such as OpenAI gym, scikit-learn, scipy, and more, but are still working on finding better ways to interact with the algorithms in SOCKS.

Get Involved#

  1. Number one is to submit pull requests. We pull requests.

  2. Submit feedback using the GitHub issues page, and tag your suggestions or feedback so that we know whether you’re asking a question, posting about a bug, or would like to propose the next big idea.

  3. Discussion. We’d love to hear how you are using SOCKS, or how you plan to use it in your own research or projects. Check out the discussions page to get in touch.

  4. Documentation. We have made an effort to fully document SOCKS, but know there is always room for improvement. If you notice the documentation is lacking, or even if you notice a typo, we encourage you to reach out and submit an issue or a PR to help fix it.

How to Pull Request #

Want to contribute code? Thank you!

Not sure how to submit a pull request (PR)? Read on.

Important

Before you begin, make sure that the code you want to change or the issue you want to fix has not already been addressed by looking at the develop branch of the repo. develop contains all of the updated changes to the codebase that will eventually be turned into the next version of SOCKS.

Pull requests are the main way of contributing to open-source projects on GitHub. Below you will find a short tutorial on how to edit the code.

  1. Fork the repository. On the GitHub repo, use the Fork button near the top of the page. This will create a copy of the repo on your GitHub account.

  2. Clone the fork to your system. An easy way to do this is using

    git clone https://github.com/youraccount/socks
    cd socks
    
  3. Make a new branch off of develop. This will ensure that you are using the latest code.

    git checkout develop
    git checkout -b your_branch_name
    
  4. Make changes and commit. Make as many changes and commits as you like! We review all code changes when you submit the PR and squash the commits when it is merged.

  5. Push the changes to your forked repo.

  6. On GitHub, click the Pull request button (above the list of files).

Attention

Make sure that you select the develop branch in the base repository to merge into.

Be sure to check out the guides on GitHub for more information.

Contributor Covenant#

We try our best to adhere to the Contributor_Covenant, meaning, in short:

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

We aim to make SOCKS a positive environment for all.

However, while we encourage users to submit bug reports, questions, feature requests, and PRs, we do not consider issues that are “homework” questions or “help solve my specific problem” type issues–we simply don’t have time. These issues will be marked as off-topic or wontfix.