# Contributing to Hash to curve Hash to curve is Apache 2.0 licensed and accepts contributions via [GitHub](https://github.com/mikelodder7/cfrg-hash-to-curve) pull requests. # Ways to contribute to Hash2Curve - Bugs or issues: Report problems or defects found to the [Michael Lodder](mailto: redmike7@gmail.com) - Features and enhancements: Provide expanded capabilities or optimizations - Documentation: Improve existing documentation or create new information - Tests for events and results: - Functional: Does the code work as expected? - Performance: Are there performance bottlenecks or issues? - Usability: Can the API be improved? - Security: Are there security concerns about the implementation in terms of constant time or edge cases? - Localization: Can the library handle arbitrary inputs besides ASCII characters like all UTF-8? Can the code run properly on various OS configurations with different locales? - Recovery: Does the code handle invalid inputs or operations and fail gracefully or crash or segfault? # The Commit Process When contributing code, please follow these guidelines: - Fork the repository and make your changes in a feature branch - Include unit and integration tests for any new features and updates to existing tests - Ensure that the unit and integration tests run successfully. - Check that the lint tests pass ## Important Use `git rebase origin/master` to limit creating merge commits. The easiest method for this is 1. `git fetch origin/master` 1. `git rebase origin/master` Substitute `origin` with the necessary git remote. ## Signed-off-by Each commit must include a "Signed-off-by" line in the commit message (`git commit -s`). This sign-off indicates that you agree the commit satisfies the [Developer Certificate of Origin](https://developercertificate.org). ## Commit Email Address Your commit email address must match your GitHub or GitLab email address. For more information, see https://help.github.com/articles/setting-your-commit-email-address-in-git/.