Commit 327e3246 authored by Jo Cook's avatar Jo Cook

Add contribution guide

parent 3c52d3bd
# Portable GIS Contributors Guide
## Welcome!
Thanks for considering contributing to the development of Portable GIS. [I](https://gitlab.com/archaeogeek) really appreciate it!
Following these brief guidelines will ensure that I am able to respond to your problem or enhancement request quickly and efficiently. Since Portable GIS is a spare-time labour of love, this is really helpful.
Caveat: While I have been a dabbler in git-based version control for a number of years, this is all a learning process for me and I will probably get things wrong. Bear with me!
### How can you help?
Portable GIS is an open source project and I would love to receive contributions. You can help by submitting bugs if you find a problem, suggesting enhancements such as new tools or software I should include, or help with improving the documentation.
### What might I not accept?
I won't include software that is not open source, and I might choose not to include new open source packages if they have an adverse affect on the size of the installation, or if they don't add new functionality. If this is the case, I will explain my thought process to you at the time.
## The Rules
Every project needs rules to ensure that issues or enhancements are properly handled, and Portable GIS is no exception. Please read the short list below before contributing.
* **Don't** add enhancement issues to the protected (released) branch. These should be added to the next branch. I reserve the right to move them to an unspecified future branch if they will require considerable work.
* **Do** add bug reports to the released branch. If they are sufficiently urgent that a patched release should be created, I will accept the request. If they are non-urgent I reserve the right to move them to the next branch.
* When submitting issues, please provide the following information:
- The version of windows you are using and whether it's 32 or 64 bit
- The version of portable gis you are using (if this is not the latest, please consider downloading the latest to see if you can reproduce the issue there)
- Please provide **step-by-step** instructions on how I might reproduce your issue. Imagine that I have just put the USB stick containing Portable GIS into my computer and I am unfamiliar with it. What do I have to do to make the problem occur? See [Polite Technology](http://polite.technology/preview/#reporting-bugs) for more information on how to submit a good bug report.
* If you wish to fork Portable GIS and build your own version, that's fine, but please respect the terms of the license. This means calling your version something other than Portable GIS so there's no confusion, and releasing the code under the correct license terms.
## How exactly do I contribute?
This section is for people that are not familiar with submitting pull requests to a git-based repository. Firstly, see the GitLab [Getting Started Pages](https://gitlab.com/help/gitlab-basics/README.md) for how to set yourself up with an account. If you are familiar with GitHub, then the process is very similar but with slightly different terminology.
### Minor Issues
If you just want to report a problem or suggest an enhancement but don't have any code to contribute, then submit an issue [here](https://gitlab.com/archaeogeek/portable-gis/issues).
* Check that your issue has not already been reported or resolved (look through the closed issues).
* Tag your issue with the area that it refers to, and also the branch (see above on which branch you should use)
### More Major Issues
If you have some code to add, or some documentation to change, then you'll need to submit a merge request:
* [Fork the project](https://gitlab.com/help/gitlab-basics/fork-project.md)
* [Create a new branch](https://gitlab.com/help/gitlab-basics/create-branch.md)
* [Make your changes in the new branch and commit them to your fork of the repository](https://gitlab.com/help/gitlab-basics/start-using-git.md)
* Ensure your fork is [up to date with the latest changes](https://gitlab.com/help/gitlab-basics/start-using-git.md#go-to-the-master-branch-to-pull-the-latest-changes-from-there) from the main repository.
* Go to the Portable GIS repository and click the **Merge Requests** button.
* Follow [these instructions](https://gitlab.com/help/gitlab-basics/add-merge-request.md) to submit your request. When I get chance, I will review it and either approve it or reject (and tell you why).
* Note that if the code in the main repository has changed significantly since your fork was made, I might ask you to update or rebase your branch so it's easier to merge. See [here](https://git-scm.com/docs/git-rebase) for how to do that.
Pro-tip: When submitting a merge request, please keep it concise and preferrably single issue. Please don't submit a request that involves me reviewing every file in the repository as I will probably cry.
I might, at some point, introduce some testing for new requests but at present I will rely on manual tests.
## Community
If you just want to chat informally about something rather than submitting an issue, then feel free to contact me via my [about.me page](https://about.me/jocook) or (for a while at least) join the [google group](https://groups.google.com/forum/#!forum/portable-gis). Or you can DM or Tweet me [@portablegis](https://twitter.com/portablegis). I may ask you to submit an issue anyway but this is mainly so that your problem does not get forgotten!
# Thank You!
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment