| 
									
										
										
										
											2018-04-08 01:09:15 +08:00
										 |  |  | HOW TO CONTRIBUTE TO OpenSSL | 
					
						
							|  |  |  | ---------------------------- | 
					
						
							| 
									
										
										
										
											2015-11-01 21:38:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-04 00:12:08 +08:00
										 |  |  | (Please visit https://www.openssl.org/community/getting-started.html for | 
					
						
							| 
									
										
										
										
											2016-05-12 04:46:44 +08:00
										 |  |  | other ideas about how to contribute.) | 
					
						
							| 
									
										
										
										
											2015-11-01 21:38:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-08 01:09:15 +08:00
										 |  |  | Development is done on GitHub, https://github.com/openssl/openssl. | 
					
						
							| 
									
										
										
										
											2015-11-01 21:38:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-08 01:09:15 +08:00
										 |  |  | To request new features or report bugs, please open an issue on GitHub | 
					
						
							| 
									
										
										
										
											2015-11-01 21:38:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-08 01:09:15 +08:00
										 |  |  | To submit a patch, please open a pull request on GitHub.  If you are thinking | 
					
						
							|  |  |  | of making a large contribution, open an issue for it before starting work, | 
					
						
							|  |  |  | to get comments from the community.  Someone may be already working on | 
					
						
							|  |  |  | the same thing or there may be reasons why that feature isn't implemented. | 
					
						
							| 
									
										
										
										
											2016-05-12 04:46:44 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-08 01:09:15 +08:00
										 |  |  | To make it easier to review and accept your pull request, please follow these | 
					
						
							|  |  |  | guidelines: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     1. Anything other than a trivial contribution requires a Contributor | 
					
						
							|  |  |  |     License Agreement (CLA), giving us permission to use your code. See | 
					
						
							|  |  |  |     https://www.openssl.org/policies/cla.html for details.  If your | 
					
						
							|  |  |  |     contribution is too small to require a CLA, put "CLA: trivial" on a | 
					
						
							|  |  |  |     line by itself in your commit message body. | 
					
						
							| 
									
										
										
										
											2016-05-12 04:46:44 +08: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-13 03:49:06 +08:00
										 |  |  |     3.  Patches should be as current as possible; expect to have to rebase | 
					
						
							| 
									
										
										
										
											2018-04-08 01:09:15 +08:00
										 |  |  |     often. We do not accept merge commits, you will have to remove them | 
					
						
							|  |  |  |     (usually by rebasing) before it will be acceptable. | 
					
						
							| 
									
										
										
										
											2016-05-12 04:46:44 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-04 00:12:08 +08:00
										 |  |  |     4.  Patches should follow our coding style (see | 
					
						
							| 
									
										
										
										
											2018-04-08 01:09:15 +08:00
										 |  |  |     https://www.openssl.org/policies/codingstyle.html) and compile | 
					
						
							|  |  |  |     without warnings. Where gcc or clang is available you should use the | 
					
						
							| 
									
										
										
										
											2016-06-04 00:12:08 +08:00
										 |  |  |     --strict-warnings Configure option.  OpenSSL compiles on many varied | 
					
						
							| 
									
										
										
										
											2018-04-08 01:09:15 +08:00
										 |  |  |     platforms: try to ensure you only use portable features.  Clean builds | 
					
						
							|  |  |  |     via Travis and AppVeyor are required, and they are started automatically | 
					
						
							|  |  |  |     whenever a PR is created or updated. | 
					
						
							| 
									
										
										
										
											2016-05-12 04:46:44 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-13 03:49:06 +08: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-04 00:12:08 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-13 03:49:06 +08:00
										 |  |  |     6.  New features or changed functionality must include | 
					
						
							| 
									
										
										
										
											2018-04-08 01:09:15 +08:00
										 |  |  |     documentation. Please look at the "pod" files in doc for | 
					
						
							|  |  |  |     examples of our style. |