1
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.
225. 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
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
47=== Start of sample patch email message ===
48
49From: Contributor Name <contributor@example.com>
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@example.com>
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 ===
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
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
219