Contributing¶
PyHOPE is an open-source project and we are very happy to accept contributions from the community. Please feel free to open issues or submit patches (preferably as merge requests) any time. For planned larger contributions, it is often beneficial to get in contact with one of the principal developers first (see AUTHORS.md).
How To Collaborate¶
In order to get your contributions into the code base as smoothly as possible, please follow these contribution guidelines.
- Ensure you have a GitHub account
- Check existing issues to ensure one does not already exist
- Open an issue, clearly describing the issue including steps to reproduce
- Fork the repository on GitHub
- Create a feature branch, based on
main - For simplicity, prefix the branch name either with
bugfix.orfeature. - Make commits of logical units.
Write good commit messages.
Check for unnecessary whitespace with
git diff --checkbefore committing. - Include tests in
tutorialsto assure your feature works as expected and prevent breakages in the future - Run
pyhope --verifyto ensure all existing code works as expected - Use the available tools to format and check your contribution
- Submit a pull request to the PyHOPE repository
Taking code from other projects¶
We believe in the power of Open Source or Free Software to share and reuse code from other projects. However, Free Software is not public domain, and not every code could be reused in every other project.
Please contact the maintainers before integrating non-trivial amount of code from other projects, so we can ensure the compatibility of licences. Same holds true for additional dependencies, libraries etc.
PyHOPE and its contributions are licensed under the GPL-3.0 license (see LICENSE.md). As a contributor, you certify that all your contributions are in conformance with the Developer Certificate of Origin (Version 1.1), which is reproduced below.
Developer Certificate of Origin (Version 1.1)¶
The following text was taken from https://developercertificate.org:
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
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.