The majority of contributions will come from bug reports and feature requests. Please read the following guidelines so things can happen as quickly and smoothly as possible. Also, it's a good idea to [use the right tags](https://github.com/robhawkes/vizicities/wiki/Which-issue-tags-to-use-and-when/) when creating an issue.
In general, make sure that you [search for existing issues](https://github.com/robhawkes/vizicities/issues) and discussions __before__ posting something new. Dealing with unnecessary duplication takes valuable time away from working on the project. If in doubt, [post something in the ViziCities Google Group](https://groups.google.com/forum/#!forum/vizicities).
Got an idea for a new feature? Awesome! Double-checked to make sure it hasn't already been suggested? Even more awesome! Now you're ready to [submit a feature request](https://github.com/robhawkes/vizicities/issues/new). Make sure to provide as much detail as possible, focussing particularly on why this feature is needed (bonus points for example uses).
If your idea isn't fully fleshed out yet then hold off on the feature request and [start a new topic in the ViziCities Google Group](https://groups.google.com/forum/#!forum/vizicities) — we'll put our heads together.
Not happy with an existing feature, or think something could be tweaked? Check that it hasn't already been suggested and then [submit a change request](https://github.com/robhawkes/vizicities/issues/new).
## Submitting code to ViziCities
If you want to submit code to the project, perhaps on one of the new features, then you can do so [via a pull request](https://github.com/robhawkes/vizicities/pulls). We're pretty relaxed about the process for now, though we'll be implementing testing and procedure as the project matures.
Bear in mind the following to help things go smoothly and quickly:
* Pull requests that don't relate to [an existing issue](https://github.com/robhawkes/vizicities/issues) will be ignored or put to the back of the queue
* Submitted code should be clean (no mess) and roughly follow the coding conventions of the project
* Submitted code should not break an existing feature
__TL;DR: If you contribute to ViziCities then you accept that your work will become part of an MIT-licensed project and therefore may also be used on a for-profit basis. You should also have all rights to the work you contribute.__
By contributing your code to ViziCities you grant ViziCities (Robin Hawkes) a non-exclusive, irrevocable, worldwide, royalty-free, sublicenseable, transferable license under all of Your relevant intellectual property rights (including copyright, patent, and any other rights), to use, copy, prepare derivative works of, distribute and publicly perform and display the Contributions on any licensing terms, including without limitation: (a) open source licenses like the MIT license; and (b) binary, proprietary, or commercial licenses. Except for the licenses granted herein, You reserve all right, title, and interest in and to the Contribution.
You confirm that you are able to grant us these rights. You represent that You are legally entitled to grant the above license. If Your employer has rights to intellectual property that You create, You represent that You have received permission to make the Contributions on behalf of that employer, or that Your employer has waived such rights for the Contributions.
You represent that the Contributions are Your original works of authorship, and to Your knowledge, no other person claims, or has the right to claim, any right in any invention or patent related to the Contributions. You also represent that You are not legally obligated, whether by entering into an agreement or otherwise, in any way that conflicts with the terms of this license.
ViziCities (Robin Hawkes) acknowledges that, except as explicitly described in this Agreement, any Contribution which you provide is on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.