blob: 1985677f4b54c64c993b1976b95caa2b97b94d90 [file] [log] [blame]
jljustenea4ee7a2012-04-11 23:19:46 +00001
2======================
3= Code Contributions =
4======================
5
6To make a contribution to a TianoCore project, follow these steps.
71. Create a change description in the format specified below to
8 use in the source control commit log.
92. Your commit message must include your "Signed-off-by" signature,
10 and "Contributed-under" message.
113. 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.
184. 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.
Jordan Justenfad213a2014-08-25 23:10:18 +0000225. 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.
jljustenea4ee7a2012-04-11 23:19:46 +000036
Jordan Justen26830e82014-10-31 22:05:50 +000037=====================================================
38= Change Description / Commit Message / Patch Email =
39=====================================================
jljustenea4ee7a2012-04-11 23:19:46 +000040
41Your change description should use the standard format for a
42commit message, and must include your "Signed-off-by" signature
43and the "Contributed-under" message.
44
45== Sample Change Description / Commit Message =
46
Jordan Justen26830e82014-10-31 22:05:50 +000047=== Start of sample patch email message ===
48
49From: Contributor Name <contributor@email.server>
50Subject: [PATCH] CodeModule: Brief-single-line-summary
51
52Full-commit-message
53
54Contributed-under: TianoCore Contribution Agreement 1.0
55Signed-off-by: Contributor Name <contributor@email.server>
56---
57
58An extra message for the patch email which will not be considered part
59of the commit message can be added here.
60
61Patch 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 ===
jljustenea4ee7a2012-04-11 23:19:46 +000073
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
jljustenea4ee7a2012-04-11 23:19:46 +000086========================================
87= TianoCore Contribution Agreement 1.0 =
88========================================
89
90INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
91INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE
92PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE
93TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE
94TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR
95REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE
96CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS
97OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
98BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
99AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
100AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
101USE THE CONTENT.
102
103Unless otherwise indicated, all Content made available on the TianoCore
104site is provided to you under the terms and conditions of the BSD
105License ("BSD"). A copy of the BSD License is available at
106http://opensource.org/licenses/bsd-license.php
107or when applicable, in the associated License.txt file.
108
109Certain other content may be made available under other licenses as
110indicated in or with such Content. (For example, in a License.txt file.)
111
112You accept and agree to the following terms and conditions for Your
113present and future Contributions submitted to TianoCore site. Except
114for the license granted to Intel hereunder, You reserve all right,
115title, 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