This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
As an open source project contributions are more than welcome and are essential to keeping the project interesting and useful. Everyone is welcome, and there are many ways to contribute to the project beyond committing source code: consider answering questions on a forum, reporting bugs or helping to triage and reproduce issues.
GitHub provides the most accurate view of the contributions through its generated graphs feature. Select the "Graphs" tab and "Contributors" sub-graph.
Thank you!
For more information on this project's licensing, please see the
LICENSE
file in the root of the repo.
Fixes to existing issues or small incremental improvements can be submitted as a pull request.
If you're looking to make a larger contribution, refactor code, or add a major new feature, please first open an issue to start communicating about the change with the maintainers. This will help to make the process smooth and lead to the most efficient model.
Changes should be small, incremental, and up-to-date with the upstream. Large long-term branches can lead to merge conflicts and reduced collaboration.
-
Fork the repo on GitHub, cloning on your machine
-
Create a branch with your changes.
- Please keep the branch specific to your contribution
- Please use logical commits with helpful, concise commit messages
- Follow the coding style of the project
- Run follow any build or test scripts. Contribute new tests.
-
Create a Pull Request with your contribution.
This project requires that you have a signed Contributor License Agreement (CLA) with the copyright holder in order to have your contribution accepted.
The project may employ an automated pull request bot to review whether you have already signed a CLA or step you through the process. If it is not automated, you may need to sign the CLA on a separate site.
This project may have continuous integration scripts, unit tests, code quality and linting tools, etc. that should be used as part of the contribution process.
If you are an active maintainer on this project, please feel free to submit a pull request updating this document with any specifics.
There are many other ways to get involved with the community and to participate in this project:
- Use the product, submitting GitHub issues when a problem is found
- Help code review pull requests and participate in issue threads
- Submit a new feature request as an issue
- Help answer questions on forums such as Stack Overflow
- Tell others about the project on Twitter, your blog, etc.
Issues unrelated to security should be submitted through this project's Issues tab on GitHub.
Please follow the following guidance when possible:
- Search or browse the existing issues to make sure the issue has not already been reported
- Provide a detailed description of the issue including:
- What feature the issue appears in
- Under what circumstances the issue appears (your OS, environment and build info)
- What the desired behavior is
- What the impact of the issue is
- Any information that will be helpful to help reproduce the issue
We're excited to have a dialog and work together to make the project a success!
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at [email protected]. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.
We do not want the source code to be full of random attributions. Git handles attribution by storing the committer information from changes and GitHub helps surface this information in its contributor graphs.
The license and copyright protections for this project's direct contributions should appear at the top of every source file.
If you contribute a change that includes a new source file, please take the time to make sure that the header is consistent with the rest of the project.