Contributor license agreement
Contribute to Project
Thank you for your interest in contributing to Torproxy.
This guide helps make contributing to Torproxy simple and efficient for everyone.
If you are starting out contributing to Torproxy, there might be smaller scoped "starter issues" available: Current starter issues
If you are sure you found a bug and no issue exists yet, please feel free to create an issue following the issue template.
As your time is precious and not all features might be in the scope of what the Torproxy wants to achieve, please open up an issue first.
It would be helpful to answer some questions:
- Why do you need this feature?
- Why do you think it might be valuable for other users?
- How would you implement the feature?
Please help other users whenever you can.
Non technical or user centric support might be available from the community for more information read our support guidelines
Issue/Pull Request/Merge Request Closing Policy
Time is precious and sparse, please consider this and search through available issues first.
Treat every participant with courtesy, respect and add as much information when creating an issue or pull/merge request.
All issues and pull/merge requests should be in English and refrain from using any inappropriate language.
Any issues or pull/merge requests not following our code of conduct or any other guidelines provided may be closed without notice out of respect for our volunteers.
Inactive issues or pull/merge requests may be closed after a specific period. This enables us to focus and work on the current/primary items.
Pull Request/Merge Request Guidelines
Please keep the change in a single pull/merge request as small as possible.
If you want to contribute a large feature think very hard what the minimum viable change is.
The smaller a pull/merge request is the more likely it is it will be merged (quickly).
Afterwards follow-up requests for enhancements are appreciated.
Contribution Acceptance Criteria
- The change is as small as possible
- Includes proper tests and passes all tests
- Does not break any existing functionality
- Fixes one specific issue or implements one specific feature (do not combine things, send separate requests if needed)
- Contains functionality we think other users will benefit from too
- If the request adds any new libraries, they should have a compatible license.