# Contributing To Open Source

A test repo for learning

Contributing to Open Source does not require coding skills. There are several ways in which you can contribute without knowing how to program.


## Answering

As a user, you will have various skills and knowledge gained from using the tools provided by the project.  You can
share that experience with people who are new to the project by answering questions on the mailing lists, forums, or
IRC. By answering those beginner questions, you help newbies get started, which is an important step in any project.
Failure to get the software working is a major reason why people choose something else.

## Documenting

While you are answering those questions, you learn what parts of the documentation are incorrect or misleading.  From there, it is a fairly easy step to update the existing documents to help the newbies.  This will in turn reduce the number of questions you have to answer.

If you are repeatedly answering the same question, you have found a place where the documentation can be improved.  Amending the documentation means you will answer that question less and have more time to do other things.

## Tickets

You can monitor new tickets and confirm bugs.  This is pretty simple.

You can write about what you are doing.  When you first install the software, write down everything you are doing. Of particular interest to others are the problems you encountered and how you solved them.  Put this into a blog post and other will find it useful when they encounter the same problem.

## Testing

As a experienced user, you can run beta or pre-release version of the software before the next release comes out. If you find a bug, it can be fixed before the release.  Bugs that are fixed before the release reduces the number of support questions.

## Some useful tips

If you are experiencing public key - access denial - issues when connecting to github using the console, please have a the following website: https://help.github.com/articles/generating-ssh-keys/

Once I have done a fork in GitHub, how do I update my local copy without using the terminal? (in terminal would be as simple as git pull).

It is simple, press the create pull request button and switch base so that instead of proposing updating your changes to origin you intend to download origin changes to your repo. Then you can accept and pull. It will create a commit in your local copy as a result of the merge. After that, you will be able to see the new changes also in your local copy.
