1 2 ====================== 3 = Code Contributions = 4 ====================== 5 6 To make a contribution to a TianoCore project, follow these steps. 7 1. Create a change description in the format specified below to 8 use in the source control commit log. 9 2. Your commit message must include your "Signed-off-by" signature, 10 and "Contributed-under" message. 11 3. Your "Contributed-under" message explicitly states that the 12 contribution is made under the terms of the specified 13 contribution agreement. Your "Contributed-under" message 14 must include the name of contribution agreement and version. 15 For example: Contributed-under: TianoCore Contribution Agreement 1.0 16 The "TianoCore Contribution Agreement" is included below in 17 this document. 18 4. Submit your code to the TianoCore project using the process 19 that the project documents on its web page. If the process is 20 not documented, then submit the code on development email list 21 for the project. 22 5. It is preferred that contributions are submitted using the same 23 copyright license as the base project. When that is not possible, 24 then contributions using the following licenses can be accepted: 25 * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause 26 * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause 27 * MIT: http://opensource.org/licenses/MIT 28 * Python-2.0: http://opensource.org/licenses/Python-2.0 29 * Zlib: http://opensource.org/licenses/Zlib 30 31 Contributions of code put into the public domain can also be 32 accepted. 33 34 Contributions using other licenses might be accepted, but further 35 review will be required. 36 37 ===================================================== 38 = Change Description / Commit Message / Patch Email = 39 ===================================================== 40 41 Your change description should use the standard format for a 42 commit message, and must include your "Signed-off-by" signature 43 and the "Contributed-under" message. 44 45 == Sample Change Description / Commit Message = 46 47 === Start of sample patch email message === 48 49 From: Contributor Name <contributor (a] example.com> 50 Subject: [PATCH] CodeModule: Brief-single-line-summary 51 52 Full-commit-message 53 54 Contributed-under: TianoCore Contribution Agreement 1.0 55 Signed-off-by: Contributor Name <contributor (a] example.com> 56 --- 57 58 An extra message for the patch email which will not be considered part 59 of the commit message can be added here. 60 61 Patch content inline or attached 62 63 === End of sample patch email message === 64 65 === Notes for sample patch email === 66 67 * The first line of commit message is taken from the email's subject 68 line following [PATCH]. The remaining portion of the commit message 69 is the email's content until the '---' line. 70 * git format-patch is one way to create this format 71 72 === Definitions for sample patch email === 73 74 * "CodeModule" is a short idenfier for the affected code. For 75 example MdePkg, or MdeModulePkg UsbBusDxe. 76 * "Brief-single-line-summary" is a short summary of the change. 77 * The entire first line should be less than ~70 characters. 78 * "Full-commit-message" a verbose multiple line comment describing 79 the change. Each line should be less than ~70 characters. 80 * "Contributed-under" explicitely states that the contribution is 81 made under the terms of the contribtion agreement. This 82 agreement is included below in this document. 83 * "Signed-off-by" is the contributor's signature identifying them 84 by their real/legal name and their email address. 85 86 ======================================== 87 = TianoCore Contribution Agreement 1.0 = 88 ======================================== 89 90 INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION, 91 INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE 92 PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE 93 TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE 94 TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR 95 REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE 96 CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS 97 OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 98 BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS 99 AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 100 AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT 101 USE THE CONTENT. 102 103 Unless otherwise indicated, all Content made available on the TianoCore 104 site is provided to you under the terms and conditions of the BSD 105 License ("BSD"). A copy of the BSD License is available at 106 http://opensource.org/licenses/bsd-license.php 107 or when applicable, in the associated License.txt file. 108 109 Certain other content may be made available under other licenses as 110 indicated in or with such Content. (For example, in a License.txt file.) 111 112 You accept and agree to the following terms and conditions for Your 113 present and future Contributions submitted to TianoCore site. Except 114 for the license granted to Intel hereunder, You reserve all right, 115 title, and interest in and to Your Contributions. 116 117 == SECTION 1: Definitions == 118 * "You" or "Contributor" shall mean the copyright owner or legal 119 entity authorized by the copyright owner that is making a 120 Contribution hereunder. All other entities that control, are 121 controlled by, or are under common control with that entity are 122 considered to be a single Contributor. For the purposes of this 123 definition, "control" means (i) the power, direct or indirect, to 124 cause the direction or management of such entity, whether by 125 contract or otherwise, or (ii) ownership of fifty percent (50%) 126 or more of the outstanding shares, or (iii) beneficial ownership 127 of such entity. 128 * "Contribution" shall mean any original work of authorship, 129 including any modifications or additions to an existing work, 130 that is intentionally submitted by You to the TinaoCore site for 131 inclusion in, or documentation of, any of the Content. For the 132 purposes of this definition, "submitted" means any form of 133 electronic, verbal, or written communication sent to the 134 TianoCore site or its representatives, including but not limited 135 to communication on electronic mailing lists, source code 136 control systems, and issue tracking systems that are managed by, 137 or on behalf of, the TianoCore site for the purpose of 138 discussing and improving the Content, but excluding 139 communication that is conspicuously marked or otherwise 140 designated in writing by You as "Not a Contribution." 141 142 == SECTION 2: License for Contributions == 143 * Contributor hereby agrees that redistribution and use of the 144 Contribution in source and binary forms, with or without 145 modification, are permitted provided that the following 146 conditions are met: 147 ** Redistributions of source code must retain the Contributor's 148 copyright notice, this list of conditions and the following 149 disclaimer. 150 ** Redistributions in binary form must reproduce the Contributor's 151 copyright notice, this list of conditions and the following 152 disclaimer in the documentation and/or other materials provided 153 with the distribution. 154 * Disclaimer. None of the names of Contributor, Intel, or the names 155 of their respective contributors may be used to endorse or 156 promote products derived from this software without specific 157 prior written permission. 158 * Contributor grants a license (with the right to sublicense) under 159 claims of Contributor's patents that Contributor can license that 160 are infringed by the Contribution (as delivered by Contributor) to 161 make, use, distribute, sell, offer for sale, and import the 162 Contribution and derivative works thereof solely to the minimum 163 extent necessary for licensee to exercise the granted copyright 164 license; this patent license applies solely to those portions of 165 the Contribution that are unmodified. No hardware per se is 166 licensed. 167 * EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE 168 CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY 169 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 170 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 171 PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 172 CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 173 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 174 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 175 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 176 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 177 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 178 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE 179 CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 180 DAMAGE. 181 182 == SECTION 3: Representations == 183 * You represent that You are legally entitled to grant the above 184 license. If your employer(s) has rights to intellectual property 185 that You create that includes Your Contributions, You represent 186 that You have received permission to make Contributions on behalf 187 of that employer, that Your employer has waived such rights for 188 Your Contributions. 189 * You represent that each of Your Contributions is Your original 190 creation (see Section 4 for submissions on behalf of others). 191 You represent that Your Contribution submissions include complete 192 details of any third-party license or other restriction 193 (including, but not limited to, related patents and trademarks) 194 of which You are personally aware and which are associated with 195 any part of Your Contributions. 196 197 == SECTION 4: Third Party Contributions == 198 * Should You wish to submit work that is not Your original creation, 199 You may submit it to TianoCore site separately from any 200 Contribution, identifying the complete details of its source 201 and of any license or other restriction (including, but not 202 limited to, related patents, trademarks, and license agreements) 203 of which You are personally aware, and conspicuously marking the 204 work as "Submitted on behalf of a third-party: [named here]". 205 206 == SECTION 5: Miscellaneous == 207 * Applicable Laws. Any claims arising under or relating to this 208 Agreement shall be governed by the internal substantive laws of 209 the State of Delaware or federal courts located in Delaware, 210 without regard to principles of conflict of laws. 211 * Language. This Agreement is in the English language only, which 212 language shall be controlling in all respects, and all versions 213 of this Agreement in any other language shall be for accommodation 214 only and shall not be binding. All communications and notices made 215 or given pursuant to this Agreement, and all documentation and 216 support to be provided, unless otherwise noted, shall be in the 217 English language. 218 219