====== Contributing to OOFEM - Practical workflow ====== For people without write permissions to the GitHub oofem repository, the preferred way is to create a pull requests to propose and collaborate on changes in repository. The changes are proposed in a separate branch. You can read more about [[https://help.github.com/articles/creating-a-pull-request/|Creating a pull requests on GitHub help pages]]. Typically, one have to create a fork, or copy, of the repository. Forks let you make changes to a project without affecting the original repository. You can fetch updates from or submit changes to the original repository using pull requests. * Read more about [[https://help.github.com/articles/working-with-forks/|working with forks on GitHub help]] * [[https://help.github.com/articles/creating-a-pull-request-from-a-fork/|How to Create a pull request from a fork]] If you have write access to the repository, you can also create branch directly within oofem repository. This should be reserved only to agreed, long-term, project-wide branches. For day-to-day and personal development, the forks are recommended. * [[https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/|How to Create and delete branches within your repository]] After you have created a pull request, you can ask a specific person to review the changes you've proposed. In OOFEM, these people ('lieutenants') are in charge of a specific subsystem of the project and they merge in all changes related to that subsystem and push them to the reference (blessed) repository that everyone can clone from again. **Before contributing, please make sure you have followed [[coding-conventions|oofem coding conventions]].**