1337982SjkimHOW TO CONTRIBUTE TO OpenSSL 2337982Sjkim---------------------------- 3291707Sjkim 4306195Sjkim(Please visit https://www.openssl.org/community/getting-started.html for 5306195Sjkimother ideas about how to contribute.) 6291707Sjkim 7337982SjkimDevelopment is done on GitHub, https://github.com/openssl/openssl. 8291707Sjkim 9337982SjkimTo request new features or report bugs, please open an issue on GitHub 10291707Sjkim 11337982SjkimTo submit a patch, please open a pull request on GitHub. If you are thinking 12337982Sjkimof making a large contribution, open an issue for it before starting work, 13337982Sjkimto get comments from the community. Someone may be already working on 14337982Sjkimthe same thing or there may be reasons why that feature isn't implemented. 15291707Sjkim 16337982SjkimTo make it easier to review and accept your pull request, please follow these 17337982Sjkimguidelines: 18306195Sjkim 19337982Sjkim 1. Anything other than a trivial contribution requires a Contributor 20337982Sjkim License Agreement (CLA), giving us permission to use your code. See 21337982Sjkim https://www.openssl.org/policies/cla.html for details. If your 22337982Sjkim contribution is too small to require a CLA, put "CLA: trivial" on a 23337982Sjkim line by itself in your commit message body. 24337982Sjkim 25306195Sjkim 2. All source files should start with the following text (with 26306195Sjkim appropriate comment characters at the start of each line and the 27306195Sjkim year(s) updated): 28306195Sjkim 29306195Sjkim Copyright 20xx-20yy The OpenSSL Project Authors. All Rights Reserved. 30306195Sjkim 31306195Sjkim Licensed under the OpenSSL license (the "License"). You may not use 32306195Sjkim this file except in compliance with the License. You can obtain a copy 33306195Sjkim in the file LICENSE in the source distribution or at 34306195Sjkim https://www.openssl.org/source/license.html 35306195Sjkim 36312826Sjkim 3. Patches should be as current as possible; expect to have to rebase 37337982Sjkim often. We do not accept merge commits, you will have to remove them 38337982Sjkim (usually by rebasing) before it will be acceptable. 39306195Sjkim 40306195Sjkim 4. Patches should follow our coding style (see 41337982Sjkim https://www.openssl.org/policies/codingstyle.html) and compile 42337982Sjkim without warnings. Where gcc or clang is available you should use the 43306195Sjkim --strict-warnings Configure option. OpenSSL compiles on many varied 44337982Sjkim platforms: try to ensure you only use portable features. Clean builds 45337982Sjkim via Travis and AppVeyor are required, and they are started automatically 46337982Sjkim whenever a PR is created or updated. 47306195Sjkim 48312826Sjkim 5. When at all possible, patches should include tests. These can 49312826Sjkim either be added to an existing test, or completely new. Please see 50312826Sjkim test/README for information on the test framework. 51306195Sjkim 52312826Sjkim 6. New features or changed functionality must include 53337982Sjkim documentation. Please look at the "pod" files in doc for 54337982Sjkim examples of our style. 55