= How to contribute to Verilator Thanks for using Verilator! We welcome your contributions in whatever form. This contributing document contains some suggestions that may make contributions flow more efficiently. ==== Did you find a bug? * Please **Ensure the bug was not already reported** by searching https://verilator.org/issues[Verilator Issues]. * If you're unable to find an open issue addressing the problem, https://verilator.org/issues/new[open a new Verilator issue]. ** Be sure to include a **code sample** or an **executable test case** demonstrating the bug and expected behavior that is not occurring. ** The ideal example works against other simulators, and is in the test_regress/t test format, as described in link:internals.adoc[docs/internals]. ==== Did you write a patch that fixes a bug? * Please https://verilator.org/issues/new[Open a new issue]. * You may attach a patch to the issue, or (preferred) may request a GitHub pull request. ** Verilator uses Travis CI to provide continuous integration. You may want to setup Travis CI on your GitHub branch to ensure your changes keep the tests passing. See link:internals.adoc[docs/internals]. * Your source-code contributions must be certified as open source, under the https://developercertificate.org/[Developer Certificate of Origin]. On your first contribution, you must either: ** Have your patch include the addition of your name to link:CONTRIBUTORS[docs/CONTRIBUTORS] (preferred). ** Use "git -s" as part of your commit. This adds a "signed-of-by" attribute which will certify your contribution as described in the https://github.com/wking/signed-off-by/blob/master/Documentation/SubmittingPatches[Signed-of-By convention]. ** Email, or post in an issue a statement that you certify your contributions. ** In any of these cases your name will be added to link:CONTRIBUTORS[docs/CONTRIBUTORS] and you are agreeing all future contributions are also certified. ** We occasionally accept contributions where people do not want their name published. Please email us; you must still privately certify your contribution. * Your test contributions are generally considered released into the Creative Commons Public Domain (CC0), unless you request otherwise or put a GNU/Artistic license on your file. * Most important is we get your patch. If you'd like to clean up indentation and related issues ahead of our feedback, that is appreciated; please see the coding conventions in link:internals.adoc[docs/internals]. ==== Do you have questions? * Please see FAQ section and rest of the https://verilator.org/verilator_doc.html[Verilator manual], or https://verilator.org/verilator_doc.pdf[Verilator manual (PDF)]. * Ask any question in the https://verilator.org/forum[Verilator forum]. ==== Code of Conduct * Our contributors and participants pledge to make participation in our project and our community a positive experience for everyone. We follow the https://www.contributor-covenant.org/version/1/4/code-of-conduct.html[Contributor Covenant version 1.4]. Thanks!