Contribute and support
======================

- Do not be afraid to contribute with small and apparently insignificant
  improvements like correction to typos. Every change counts.
- Read carefully the :doc:`license` of PyCryptodome. By submitting your code,
  you acknowledge that you accept to release it according to the `BSD 2-clause license`_.
- You must disclaim which parts of your code in your contribution were partially
  copied or derived from an existing source. Ensure that the original is licensed
  in a way compatible to the *BSD 2-clause license*.
- You can propose changes in any way you find most convenient.
  However, the preferred approach is to:

  * Clone the main repository on `GitHub`_.
  * Create a branch and modify the code.
  * Send a `pull request`_ upstream with a meaningful description.

- Provide tests (in ``Crypto.SelfTest``) along with code. If you fix a bug
  add a test that fails in the current version and passes with your change.
- If your change breaks backward compatibility, highlight it and include
  a justification.
- Ensure that your code complies to `PEP8`_ and `PEP257`_.
- If you add or modify a public interface, make sure the relevant type stubs
  remain up to date.
- Ensure that your code does not use constructs or includes modules not
  present in `Python 2.6`_.
- Add a short summary of the change to the file ``Changelog.rst``.
- Add your name to the list of contributors in the file ``AUTHORS.rst``.

The PyCryptodome mailing list is hosted on `Google Groups <https://groups.google.com/forum/#!forum/pycryptodome>`_.
You can mail any comment or question to *pycryptodome@googlegroups.com*.

Bug reports can be filed on the `GitHub tracker <https://github.com/Legrandin/pycryptodome/issues>`_.

.. _BSD 2-clause license: https://opensource.org/licenses/BSD-2-Clause
.. _GitHub: https://github.com/Legrandin/pycryptodome
.. _pull request: https://help.github.com/articles/about-pull-requests/
.. _PEP8: https://www.python.org/dev/peps/pep-0008/
.. _MIT license: https://opensource.org/licenses/MIT
.. _PEP257: https://legacy.python.org/dev/peps/pep-0257/
.. _Python 2.6: https://rgruet.free.fr/PQR26/PQR2.6.html
