Laurens Van Houtven | 5a42298 | 2014-03-15 21:42:31 +0100 | [diff] [blame] | 1 | Contributing |
| 2 | ============ |
Laurens Van Houtven | 290aba1 | 2014-03-14 15:20:18 +0100 | [diff] [blame] | 3 | |
| 4 | First of all, thank you for your interest in contributing to |
Laurens Van Houtven | dc06b70 | 2014-03-15 18:11:47 +0100 | [diff] [blame] | 5 | pyOpenSSL! |
Laurens Van Houtven | 290aba1 | 2014-03-14 15:20:18 +0100 | [diff] [blame] | 6 | |
Laurens Van Houtven | 5a42298 | 2014-03-15 21:42:31 +0100 | [diff] [blame] | 7 | Filing bug reports |
| 8 | ------------------ |
Laurens Van Houtven | 290aba1 | 2014-03-14 15:20:18 +0100 | [diff] [blame] | 9 | |
| 10 | Bug reports are very welcome. Please file them on the Github issue |
| 11 | tracker. Good bug reports come with extensive descriptions of the |
| 12 | error and how to reproduce it. Reporters are strongly encouraged to |
Laurens Van Houtven | 5a42298 | 2014-03-15 21:42:31 +0100 | [diff] [blame] | 13 | include an `SSCCE <http://www.sscce.org/>`_. |
Laurens Van Houtven | 290aba1 | 2014-03-14 15:20:18 +0100 | [diff] [blame] | 14 | |
Laurens Van Houtven | 5a42298 | 2014-03-15 21:42:31 +0100 | [diff] [blame] | 15 | Patches |
| 16 | ------- |
Laurens Van Houtven | 290aba1 | 2014-03-14 15:20:18 +0100 | [diff] [blame] | 17 | |
Laurens Van Houtven | dc06b70 | 2014-03-15 18:11:47 +0100 | [diff] [blame] | 18 | All patches to pyOpenSSL should be submitted in the form of pull |
Laurens Van Houtven | 5a42298 | 2014-03-15 21:42:31 +0100 | [diff] [blame] | 19 | requests to the main pyOpenSSL repository, ``pyca/pyopenssl``. These |
Laurens Van Houtven | 290aba1 | 2014-03-14 15:20:18 +0100 | [diff] [blame] | 20 | pull requests should satisfy the following properties: |
| 21 | |
Laurens Van Houtven | 757807e | 2014-03-15 21:49:03 +0100 | [diff] [blame^] | 22 | - Code should mostly follow `PEP 8`_, especially in the "do what code |
| 23 | around you does" sense. One notable way pyOpenSSL code differs, for |
| 24 | example, is that there should be three empty lines between |
| 25 | module-level elements, and two empty lines between class-level |
| 26 | elements. Methods and functions are named in ``snake_case``. Follow |
| 27 | OpenSSL naming for callables whenever possible is preferred. |
Laurens Van Houtven | 290aba1 | 2014-03-14 15:20:18 +0100 | [diff] [blame] | 28 | - Pull requests that introduce code must test all new behavior they |
| 29 | introduce, as well as previously untested or poorly tested behavior |
| 30 | that they touch. |
| 31 | - Pull requests are not allowed to break existing tests. |
Laurens Van Houtven | 5a42298 | 2014-03-15 21:42:31 +0100 | [diff] [blame] | 32 | - Pull requests that introduce features or fix bugs should note those |
Laurens Van Houtven | df531cc | 2014-03-15 21:48:53 +0100 | [diff] [blame] | 33 | changes in the ``ChangeLog`` text file in the root of the |
| 34 | repository. They should also document the changes, both in |
| 35 | docstrings and in the documentation in the ``doc/`` directory. |
Laurens Van Houtven | 290aba1 | 2014-03-14 15:20:18 +0100 | [diff] [blame] | 36 | |
| 37 | Finally, pull requests must be reviewed before merging. This process |
Laurens Van Houtven | 5a42298 | 2014-03-15 21:42:31 +0100 | [diff] [blame] | 38 | mirrors the `cryptography code review process`_. Everyone can perform |
| 39 | reviews; this is a very valuable way to contribute, and is highly |
| 40 | encouraged. |
Laurens Van Houtven | 290aba1 | 2014-03-14 15:20:18 +0100 | [diff] [blame] | 41 | |
| 42 | All members of the pyca Github organization can merge pull requests, |
| 43 | of course keeping in mind all the requirements detailed in this |
| 44 | document as well as the pyca/cryptography merge requirements. |
| 45 | |
| 46 | The final responsibility for the reviewing of merged code lies with |
Laurens Van Houtven | dc06b70 | 2014-03-15 18:11:47 +0100 | [diff] [blame] | 47 | the person merging it; since pyOpenSSL is obviously a sensitive |
Laurens Van Houtven | 290aba1 | 2014-03-14 15:20:18 +0100 | [diff] [blame] | 48 | project from a security perspective, so reviewers are strongly |
| 49 | encouraged to take this review and merge process very seriously. |
| 50 | |
Laurens Van Houtven | 757807e | 2014-03-15 21:49:03 +0100 | [diff] [blame^] | 51 | .. _PEP 8: http://legacy.python.org/dev/peps/pep-0008/ |
Laurens Van Houtven | 5a42298 | 2014-03-15 21:42:31 +0100 | [diff] [blame] | 52 | .. _cryptography code review process: https://cryptography.io/en/latest/development/reviewing-patches/ |