Open Source Contribution Guide
This is a guide for people interested in contributing to my open source projects. It is based on popular work flows in the community, and my personal opinions.
This guide was created by Felix Geisendörfer and is licensed under the CC BY-SA 3.0 license. You are encouraged to fork this repository and make adjustments according to your own preferences. Pull requests will also be considered.
If you report a bug, please try to:
- Perform a web / github search to avoid creating a duplicate ticket.
- Include enough information to reproduce the problem.
- Mention the exact version of the project causing you problems, as well as any related software and versions (such as operating system, browser, etc.).
Depending on the project, try the following channels, preferably in the mentioned order:
- Project Mailing List (if existing)
- Project IRC Channel (if existing)
- GitHub Issues
Do not email me directly, unless you want to inquiry about commercial support or have a very good reason. I do not have enough time to provide personal support for free.
If you want to contribute code, please try to:
- Follow the same coding style as used in the project. Pay attention to the usage of tabs, spaces, newlines and brackets. Try to copy the aesthetics the best you can.
- Add an automated test that verifies your change. Look at the existing test suite to get an idea for the kind of tests I like. If you do not provide a test, explain why.
- Write good commit messages, explain what your patch does, and why it is needed.
- Keep it simple: Any patch that changes a lot of code or is difficult to understand should be discussed before you put in the effort. See the "Asking Questions" section for that.
- Create a github pull request to notify me of your changes.
You are using stuff I made available to you for free, so try to be nice.