Using the software is a great way to contribute. Asking questions on the Julia Slack channel, Discourse, or on the GitHub repository is a great way to improve the documentation, identify bugs, request enhancements (e.g., feature requests), and let others know about the software. For example, users could bringing a new model/estimator or algorithm to my attention which could potentially be implemented.
Contributors are those who either contribute or review pull requests. A pull request, is a proposed change to the code base.
The process usually follows:
- Start an issue (e.g., bug report, enhancement, question, proposal).
- Discussion occurs in the issue and a determination is reached (e.g., a call for a pull request).
- Someone forks the project, does the modification to the code, and submits a pull request.
- The pull request is reviewed and any potential issues addressed before being merged if accepted.
-
A good pull request will include test coverage and documentation as relevant.
-
Make sure that the pull request is based on the current master (rebase as needed).
-
Any change to the code base should successfully pass the test suite.
-
The code style should follow that currently being used at the base branch of the project.