Anyone!
Anything that will benefit the project and users of the project.
Examples include: New features, bug fixes, refactoring, documentation, tests, etc. ...
- Improvements to the project benefits all users of the project
- More contributions = more interest = even more contributions = even more interest
- Because you love coding
- It will add to the Contribution activity section in your GitHub personal account
- To demonstrate your awesome software development abilities
Anytime you see an opportunity to do so.
- Fork the repository on GitHub
- Create a topic branch from where you want to base your work (usually master).
- Make commits of logical units.
- Make sure your commit messages are in the proper format.
- Push your changes to a topic branch in your fork of the repository.
- Make sure the tests pass, and that your changes are accompanied by passing tests.
- Submit a pull request to the original repository.