# Contributing to Mles As an open source project, Mles welcomes contribution from everyone. Here are the guidelines if you are thinking of helping. ## Contributions Contributions to Mles should be made in the form of GitHub pull requests. Each pull request will be reviewed by a core contributor (someone with permission to land patches) and either landed in the main tree or given feedback for changes that would be required. All contributions should follow this format, even those from core contributors. Should you wish to work on an issue, please claim it first by commenting on the GitHub issue that you want to work on it. This is to prevent duplicated efforts from contributors on the same issue. ## Pull Request Checklist - Branch from the master branch and, if needed, rebase to the current master branch before submitting your pull request. If it doesn't merge cleanly with master you may be asked to rebase your changes. - Commits should be as small as possible, while ensuring that each commit is correct independently (i.e., each commit should compile and pass tests). - Commits should update CHANGELOG.md according to the commit. - Please always add unit tests relevant to the fixed bug or new feature. As Mles is a networking protocol, not all testing can always be unit testing, thus additional testing is appreciated. ## Licensing Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Mles by you shall be licensed as MPL-2.0, without any additional terms or conditions. See [LICENSE](LICENSE) for more information. ## Conduct In all Mles-related forums, we follow the [Rust Code of Conduct](http://www.rust-lang.org/conduct.html). ## Communication In addition to GitHub, there is a Reddit [/r/mles](http://www.reddit.com/r/mles) channel available for general discussion.