Thanks for considering contributing to Onion.
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
Onion is an open source project and we love to receive contributions from our community — you! There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into onion.
If the bug has security implications, please consider 90 days responsible disclosure
Any security issues should be submitted directly to dmoreno@coralbits.com.
For other bugs open an Issue at the Issue tracker. Remember to always include:
- Version of onion (or master)
- Example source code that triggers the bug
- Steps to trigger the bug
- Current result of execution
- Expected result
Extra points if the test code can be automated and added to the test suite.
Add an issue with the feature request
tag. Include the following information:
- Feature description
- Example use case
- How important do you feel it is
- Impact you think may have on onion
If you need support for running your code, please write to the mailing list or open a stack overflow question.
Responsibilities
-
Ensure cross-platform compatibility for every change that's accepted on various GNU/Linux distributions and if possible on MacOS.
-
Ensure that code that goes into core meets all requirements in this checklist at the end of this document.
-
Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback.
-
Keep feature branches as small as possible, preferably one new feature per branch.
-
Be welcoming to newcomers and encourage diverse new contributors from all backgrounds.
Unsure where to begin contributing to Onion? You can start by looking through these beginner and help-wanted issues:
Beginner
issues - issues which should only require a few lines of code, and a test or two.Help wanted
issues - issues which should be a bit more involved than beginner issues.
Both issue lists are sorted by total number of comments. While not perfect, number of comments is a reasonable proxy for impact a given change will have.
To contribute code to onion follow these steps:
- If its a big change or may be interesting to other onion users/developers, create an issue describing what you want to achieve and state you are working on it.
- Create your own fork of the code from master
- Do the changes in your fork
- Ensure that it can be applied to master cleanly. Normally a
git fetch; git merge master
at your branch is enough. - Execute the
make indent
to ensure standard indentation of code. - Create the pull request
- Be attentive for questions or suggested changes on the pull request or in the issue.
Onion is distributed under GPL2 and Apache2 licenses.
If you submit code to onion you agree that this code has been developed by you, or have permission over it, and agree to license it under the same terms.
This document is based on https://github.com/nayafia/contributing-template/blob/master/CONTRIBUTING-template.md