As an open source project, PrestaShop strives thanks to its community, and especially from volonteer developers who are willing to give some of their time to help resolve issues in the code.
If you are a software developer, you can help the development of PrestaShop by fixing problems that have been reported by you or another person in the Forge.
If you find an issue, report it on the Forge: read the "How to use the Forge to contribute to PrestaShop" chapter to learn more, at http://doc.prestashop.com/display/PS15/How+to+use+the+Forge+to+contribute+to+PrestaShop.
If you want to help fixing a bug by writing a patch, there are a few steps to follow. In short, your submission should be made as a pull request on GitHub (https://github.com/PrestaShop/PrestaShop/pulls).
If you have never used Git or Github, read the following instructions.
In order to make changes to PrestaShop's code, you first need to create a fork of PrestaShop within Github.
This means you must first create an account on Github, and then:
Now you can go to your own version of PrestaShop from your Github account, and make changes there before you submit them to the PrestaShop developers.
A recent change to the way Github works has made it possible to edit files directly online. Here is how:
You can also easily create a new file directly on Github:
Make sure that you are always making changes to the latest version of the original repository. This means that the "Branch" button above the list of file should read "branch: development", and not "branch: master".
The development branch is the one where all current works are pushed to.
Until now, all you have done is work locally – or at least, in your own repository in Github. If you keep it that way, the PrestaShop developers will never know that you did anything here. You must send your work to them.
This means installing a tool to retrieve the PrestaShop code from Github, edit it at will on your machine, and send your changes back on PrestaShop's Github. You can find instructions on the Github website (more here), but the best way to go is to learn more about Git and Github: