Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A guide for anybody interested in contribution to my open source projects.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 Readme.md
Readme.md

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.

Creative Commons License

Reporting Bugs

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.).
  • Test against the latest version of the project (and if possible also the master branch) to see if the problem has already been fixed.

Once you have tried the above, create a GitHub issue notify me of your bug report.

Asking Questions

Depending on the nature and urgency of your question, pick one of the following channels for it:

  • Search the web for it, you've done that already, right?
  • Project Mailing List (if existing)
  • Project IRC Channel (if existing)
  • StackOverflow (I may not check there myself)
  • 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.

Contributing Code

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.

Once you have tried the above, create a GitHub pull request to notify me of your changes.

Be Nice

You are using stuff I made available to you for free, so try to be nice.

Something went wrong with that request. Please try again.