2016-09-26 20:30:42 +00:00
|
|
|
HOW TO CONTRIBUTE PATCHES TO OpenSSL
|
2016-04-26 19:50:28 +00:00
|
|
|
------------------------------------
|
2015-10-17 11:10:55 +00:00
|
|
|
|
2016-06-02 10:03:10 +00:00
|
|
|
(Please visit https://www.openssl.org/community/getting-started.html for
|
2016-04-26 19:50:28 +00:00
|
|
|
other ideas about how to contribute.)
|
2015-10-17 11:10:55 +00:00
|
|
|
|
2016-04-26 19:50:28 +00:00
|
|
|
Development is coordinated on the openssl-dev mailing list (see the
|
2016-06-02 10:03:10 +00:00
|
|
|
above link or https://mta.openssl.org for information on subscribing).
|
2015-10-17 11:10:55 +00:00
|
|
|
If you are unsure as to whether a feature will be useful for the general
|
2016-04-26 19:50:28 +00:00
|
|
|
OpenSSL community you might want to discuss it on the openssl-dev mailing
|
|
|
|
list first. Someone may be already working on the same thing or there
|
|
|
|
may be a good reason as to why that feature isn't implemented.
|
2015-10-17 11:10:55 +00:00
|
|
|
|
2016-10-12 19:49:06 +00:00
|
|
|
To submit a patch, make a pull request on GitHub. If you think the patch
|
|
|
|
could use feedback from the community, please start a thread on openssl-dev
|
|
|
|
to discuss it.
|
2016-01-25 22:12:57 +00:00
|
|
|
|
2016-10-12 19:49:06 +00:00
|
|
|
Having addressed the following items before the PR will help make the
|
|
|
|
acceptance and review process faster:
|
2016-04-26 19:50:28 +00:00
|
|
|
|
|
|
|
1. Anything other than trivial contributions will require a contributor
|
|
|
|
licensing agreement, giving us permission to use your code. See
|
2016-06-02 10:03:10 +00:00
|
|
|
https://www.openssl.org/policies/cla.html for details.
|
2016-04-26 19:50:28 +00:00
|
|
|
|
|
|
|
2. All source files should start with the following text (with
|
|
|
|
appropriate comment characters at the start of each line and the
|
|
|
|
year(s) updated):
|
|
|
|
|
|
|
|
Copyright 20xx-20yy The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
|
|
|
|
Licensed under the OpenSSL license (the "License"). You may not use
|
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
https://www.openssl.org/source/license.html
|
|
|
|
|
2016-10-12 19:49:06 +00:00
|
|
|
3. Patches should be as current as possible; expect to have to rebase
|
|
|
|
often. We do not accept merge commits; You will be asked to remove
|
|
|
|
them before a patch is considered acceptable.
|
2016-04-26 19:50:28 +00:00
|
|
|
|
2016-06-02 10:03:10 +00:00
|
|
|
4. Patches should follow our coding style (see
|
2016-04-26 19:50:28 +00:00
|
|
|
https://www.openssl.org/policies/codingstyle.html) and compile without
|
2016-06-19 17:39:01 +00:00
|
|
|
warnings. Where gcc or clang is available you should use the
|
2016-06-02 10:03:10 +00:00
|
|
|
--strict-warnings Configure option. OpenSSL compiles on many varied
|
|
|
|
platforms: try to ensure you only use portable features.
|
2016-10-12 19:49:06 +00:00
|
|
|
Clean builds via Travis and AppVeyor are expected, and done whenever
|
|
|
|
a PR is created or updated.
|
2016-04-26 19:50:28 +00:00
|
|
|
|
2016-10-12 19:49:06 +00:00
|
|
|
5. When at all possible, patches should include tests. These can
|
|
|
|
either be added to an existing test, or completely new. Please see
|
|
|
|
test/README for information on the test framework.
|
2016-06-03 09:51:13 +00:00
|
|
|
|
2016-10-12 19:49:06 +00:00
|
|
|
6. New features or changed functionality must include
|
|
|
|
documentation. Please look at the "pod" files in doc/apps, doc/crypto
|
|
|
|
and doc/ssl for examples of our style.
|