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