blob: 16b6b51b9ed4418204c2ffe204dd90dad9e7bc95 [file] [log] [blame]
Laurens Van Houtven5a422982014-03-15 21:42:31 +01001Contributing
2============
Laurens Van Houtven290aba12014-03-14 15:20:18 +01003
4First of all, thank you for your interest in contributing to
Laurens Van Houtvendc06b702014-03-15 18:11:47 +01005pyOpenSSL!
Laurens Van Houtven290aba12014-03-14 15:20:18 +01006
Laurens Van Houtven5a422982014-03-15 21:42:31 +01007Filing bug reports
8------------------
Laurens Van Houtven290aba12014-03-14 15:20:18 +01009
10Bug reports are very welcome. Please file them on the Github issue
11tracker. Good bug reports come with extensive descriptions of the
12error and how to reproduce it. Reporters are strongly encouraged to
Laurens Van Houtven5a422982014-03-15 21:42:31 +010013include an `SSCCE <http://www.sscce.org/>`_.
Laurens Van Houtven290aba12014-03-14 15:20:18 +010014
Laurens Van Houtven5a422982014-03-15 21:42:31 +010015Patches
16-------
Laurens Van Houtven290aba12014-03-14 15:20:18 +010017
Laurens Van Houtvendc06b702014-03-15 18:11:47 +010018All patches to pyOpenSSL should be submitted in the form of pull
Laurens Van Houtven5a422982014-03-15 21:42:31 +010019requests to the main pyOpenSSL repository, ``pyca/pyopenssl``. These
Laurens Van Houtven290aba12014-03-14 15:20:18 +010020pull requests should satisfy the following properties:
21
22- Pull requests that involve code must follow the
Laurens Van Houtven5a422982014-03-15 21:42:31 +010023 `Twisted Coding Standard`_. For example, ``methodNamesLikeThis``,
Laurens Van Houtven290aba12014-03-14 15:20:18 +010024 three empty lines between module-level elements, and two empty lines
25 between class-level elements.
26- Pull requests that introduce code must test all new behavior they
27 introduce, as well as previously untested or poorly tested behavior
28 that they touch.
29- Pull requests are not allowed to break existing tests.
Laurens Van Houtven5a422982014-03-15 21:42:31 +010030- Pull requests that introduce features or fix bugs should note those
31 changes in the ``ChangeLog`` text file in the root of the repository.
Laurens Van Houtven290aba12014-03-14 15:20:18 +010032
33Finally, pull requests must be reviewed before merging. This process
Laurens Van Houtven5a422982014-03-15 21:42:31 +010034mirrors the `cryptography code review process`_. Everyone can perform
35reviews; this is a very valuable way to contribute, and is highly
36encouraged.
Laurens Van Houtven290aba12014-03-14 15:20:18 +010037
38All members of the pyca Github organization can merge pull requests,
39of course keeping in mind all the requirements detailed in this
40document as well as the pyca/cryptography merge requirements.
41
42The final responsibility for the reviewing of merged code lies with
Laurens Van Houtvendc06b702014-03-15 18:11:47 +010043the person merging it; since pyOpenSSL is obviously a sensitive
Laurens Van Houtven290aba12014-03-14 15:20:18 +010044project from a security perspective, so reviewers are strongly
45encouraged to take this review and merge process very seriously.
46
Laurens Van Houtven5a422982014-03-15 21:42:31 +010047.. _cryptography code review process: https://cryptography.io/en/latest/development/reviewing-patches/