# Development contributions

We like pull requests from everyone. By participating in this project, you
agree to follow the [code of conduct](https://github.com/theengs/gateway/blob/master/CODE_OF_CONDUCT.md).

* We use the [pre-commit](https://pre-commit.com) system to identify simple issues before submission to code review. Install it with `pip install pre-commit`.
* Fork the [development branch](https://github.com/theengs/gateway/tree/development), then clone the repository.
* Run `pre-commit install` to set up the Git hook scripts.
* Make your modification.
* Review your code, build it.
* Test it locally on your hardware configuration.
* Create a pull request.
* Verify the GitHub Actions CI results.
* Request for review.
* We may suggest some changes, improvements or alternatives.

The following things increase the chance that we accept your pull request:

* Comment your code.
* Ask eventually for design guidelines.
* Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).

## Developer Certificate Of Origin

```
    By making a contribution to this project, I certify that:

    (a) The contribution was created in whole or in part by me and I
        have the right to submit it under the open source license
        indicated in the file; or

    (b) The contribution is based upon previous work that, to the best
        of my knowledge, is covered under an appropriate open source
        license and I have the right under that license to submit that
        work with modifications, whether created in whole or in part
        by me, under the same open source license (unless I am
        permitted to submit under a different license), as indicated
        in the file; or

    (c) The contribution was provided directly to me by some other
        person who certified (a), (b) or (c) and I have not modified
        it.

    (d) I understand and agree that this project and the contribution
        are public and that a record of the contribution (including all
        personal information I submit with it, including my sign-off) is
        maintained indefinitely and may be redistributed consistent with
        this project or the open source license(s) involved.
```

<!-- vale Google.Passive = NO -->

This Developer Certificate of Origin (DCO) was adopted on February 26, 2022.

<!-- vale Google.Passive = YES -->

The text of this license is available under the [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/). It's based on the Linux [Developer Certificate of Origin](http://elinux.org/Developer_Certificate_Of_Origin).

To accept the DCO, put a x between [ ] on `[ ] I accept the Developer Certificate of Origin (DCO)` in the PR template when submitting it. The [ ] is an opt-in box, so you have to manually accept it.
