Blame CONTRIBUTING

Packit Service 084de1
HOW TO CONTRIBUTE TO OpenSSL
Packit Service 084de1
----------------------------
Packit Service 084de1
Packit Service 084de1
(Please visit https://www.openssl.org/community/getting-started.html for
Packit Service 084de1
other ideas about how to contribute.)
Packit Service 084de1
Packit Service 084de1
Development is done on GitHub, https://github.com/openssl/openssl.
Packit Service 084de1
Packit Service 084de1
To request new features or report bugs, please open an issue on GitHub
Packit Service 084de1
Packit Service 084de1
To submit a patch, please open a pull request on GitHub.  If you are thinking
Packit Service 084de1
of making a large contribution, open an issue for it before starting work,
Packit Service 084de1
to get comments from the community.  Someone may be already working on
Packit Service 084de1
the same thing or there may be reasons why that feature isn't implemented.
Packit Service 084de1
Packit Service 084de1
To make it easier to review and accept your pull request, please follow these
Packit Service 084de1
guidelines:
Packit Service 084de1
Packit Service 084de1
    1. Anything other than a trivial contribution requires a Contributor
Packit Service 084de1
    License Agreement (CLA), giving us permission to use your code. See
Packit Service 084de1
    https://www.openssl.org/policies/cla.html for details.  If your
Packit Service 084de1
    contribution is too small to require a CLA, put "CLA: trivial" on a
Packit Service 084de1
    line by itself in your commit message body.
Packit Service 084de1
Packit Service 084de1
    2.  All source files should start with the following text (with
Packit Service 084de1
    appropriate comment characters at the start of each line and the
Packit Service 084de1
    year(s) updated):
Packit Service 084de1
Packit Service 084de1
        Copyright 20xx-20yy The OpenSSL Project Authors. All Rights Reserved.
Packit Service 084de1
Packit Service 084de1
        Licensed under the OpenSSL license (the "License").  You may not use
Packit Service 084de1
        this file except in compliance with the License.  You can obtain a copy
Packit Service 084de1
        in the file LICENSE in the source distribution or at
Packit Service 084de1
        https://www.openssl.org/source/license.html
Packit Service 084de1
Packit Service 084de1
    3.  Patches should be as current as possible; expect to have to rebase
Packit Service 084de1
    often. We do not accept merge commits, you will have to remove them
Packit Service 084de1
    (usually by rebasing) before it will be acceptable.
Packit Service 084de1
Packit Service 084de1
    4.  Patches should follow our coding style (see
Packit Service 084de1
    https://www.openssl.org/policies/codingstyle.html) and compile
Packit Service 084de1
    without warnings. Where gcc or clang is available you should use the
Packit Service 084de1
    --strict-warnings Configure option.  OpenSSL compiles on many varied
Packit Service 084de1
    platforms: try to ensure you only use portable features.  Clean builds
Packit Service 084de1
    via Travis and AppVeyor are required, and they are started automatically
Packit Service 084de1
    whenever a PR is created or updated.
Packit Service 084de1
Packit Service 084de1
    5.  When at all possible, patches should include tests. These can
Packit Service 084de1
    either be added to an existing test, or completely new.  Please see
Packit Service 084de1
    test/README for information on the test framework.
Packit Service 084de1
Packit Service 084de1
    6.  New features or changed functionality must include
Packit Service 084de1
    documentation. Please look at the "pod" files in doc/man[1357] for
Packit Service 084de1
    examples of our style. Run "make doc-nits" to make sure that your
Packit Service 084de1
    documentation changes are clean.
Packit Service 084de1
Packit Service 084de1
    7.  For user visible changes (API changes, behaviour changes, ...),
Packit Service 084de1
    consider adding a note in CHANGES.  This could be a summarising
Packit Service 084de1
    description of the change, and could explain the grander details.
Packit Service 084de1
    Have a look through existing entries for inspiration.
Packit Service 084de1
    Please note that this is NOT simply a copy of git-log one-liners.
Packit Service 084de1
    Also note that security fixes get an entry in CHANGES.
Packit Service 084de1
    This file helps users get more in depth information of what comes
Packit Service 084de1
    with a specific release without having to sift through the higher
Packit Service 084de1
    noise ratio in git-log.
Packit Service 084de1
Packit Service 084de1
    8.  For larger or more important user visible changes, as well as
Packit Service 084de1
    security fixes, please add a line in NEWS.  On exception, it might be
Packit Service 084de1
    worth adding a multi-line entry (such as the entry that announces all
Packit Service 084de1
    the types that became opaque with OpenSSL 1.1.0).
Packit Service 084de1
    This file helps users get a very quick summary of what comes with a
Packit Service 084de1
    specific release, to see if an upgrade is worth the effort.