summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.rst
blob: c43a1c74a28aec33dc1d8c70075884800839389c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Contributing
============

First of all, thank you for your interest in contributing to
pyOpenSSL!

Filing bug reports
------------------

Bug reports are very welcome. Please file them on the Github issue
tracker. Good bug reports come with extensive descriptions of the
error and how to reproduce it. Reporters are strongly encouraged to
include an `SSCCE <http://www.sscce.org/>`_.

Patches
-------

All patches to pyOpenSSL should be submitted in the form of pull
requests to the main pyOpenSSL repository, ``pyca/pyopenssl``. These
pull requests should satisfy the following properties:

- Pull requests that involve code must follow the
  `Twisted Coding Standard`_. For example, ``methodNamesLikeThis``,
  three empty lines between module-level elements, and two empty lines
  between class-level elements.
- Pull requests that introduce code must test all new behavior they
  introduce, as well as previously untested or poorly tested behavior
  that they touch.
- Pull requests are not allowed to break existing tests.
- Pull requests that introduce features or fix bugs should note those
  changes in the ``ChangeLog`` text file in the root of the
  repository. They should also document the changes, both in
  docstrings and in the documentation in the ``doc/`` directory.

Finally, pull requests must be reviewed before merging. This process
mirrors the `cryptography code review process`_. Everyone can perform
reviews; this is a very valuable way to contribute, and is highly
encouraged.

All members of the pyca Github organization can merge pull requests,
of course keeping in mind all the requirements detailed in this
document as well as the pyca/cryptography merge requirements.

The final responsibility for the reviewing of merged code lies with
the person merging it; since pyOpenSSL is obviously a sensitive
project from a security perspective, so reviewers are strongly
encouraged to take this review and merge process very seriously.

.. _cryptography code review process: https://cryptography.io/en/latest/development/reviewing-patches/