Home | History | Annotate | Download | only in BaseTools
      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