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