All code contributions will be licensed under the [GNU Affero General Public License version 3 or greater](LICENSE.md). If you create any new files you **must** have the following copyright notice prepended to the file:
Have this text commented out at the beginning of every source file you create.
Code Style
----------
Generally just try to keep your coding consistent with the project's style, if you see things done in manner X try to do them like X. That being said, there are a few things that are important to remember:
1. This project uses tabs for indentation, please do not use spaces and most definitely do not use a mix of both.
2. When using loops and conditionals, if you're going to use brackets, please use broken brackets (ie. put brackets on their own line).
3. One instruction per line is ideal, sometimes it's not necessary, but if it's a simple conditional with a `return` statement or something please put the `return` on the next line.
4. Please document any additional interfaces you add to the library using [Doxygen style comments](http://www.stack.nl/~dimitri/doxygen/) so the API documentation can be automatically generated. If internal code is obscure or requires explanation then please do so as well, for the sake of yourself and all those that come after.
Fractured Patches
-----------------
Please make sure that any patches you give do only one thing. Do not mix bug fixes with features with enhancements or anything of the sort. Even if it's just bug fixes (as an example, could be anything else) please make sure that each patch only fixes one thing. Exceptions are fine if they are required (this will be judged based on circumstance).