edk2: Remove Contributions.txt and update Readme.md
authorMichael D Kinney <michael.d.kinney@intel.com>
Sat, 9 Mar 2019 23:17:39 +0000 (15:17 -0800)
committerMichael D Kinney <michael.d.kinney@intel.com>
Tue, 9 Apr 2019 17:58:34 +0000 (10:58 -0700)
* Remove the Contributions.txt file from the root of the edk2 repository
  that contained the TianoCore Contribution Agreement.

* Update Readme.md in the root of the edk2 repository to state that
  BSD+Patent is the preferred license for the EDK II project.

* Move the portions of Contributions.txt to Readme.md that describe
  how to contribute along with the commit message format.

* Add to Readme.md that Signed-off-by means that the contributor
  certifies compliance to the Developer's Certificate of Origin 1.1
  https://developercertificate.org

https://bugzilla.tianocore.org/show_bug.cgi?id=1373

This change is based on the following emails:

  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Contributions.txt [deleted file]
Readme.md

diff --git a/Contributions.txt b/Contributions.txt
deleted file mode 100644 (file)
index 14547eb..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-======================\r
-= Code Contributions =\r
-======================\r
-\r
-To make a contribution to a TianoCore project, follow these steps.\r
-1. Create a change description in the format specified below to\r
-   use in the source control commit log.\r
-2. Your commit message must include your "Signed-off-by" signature,\r
-   and "Contributed-under" message.\r
-3. Your "Contributed-under" message explicitly states that the\r
-   contribution is made under the terms of the specified\r
-   contribution agreement.  Your "Contributed-under" message\r
-   must include the name of contribution agreement and version.\r
-   For example: Contributed-under: TianoCore Contribution Agreement 1.1\r
-   The "TianoCore Contribution Agreement" is included below in\r
-   this document.\r
-4. Submit your code to the TianoCore project using the process\r
-   that the project documents on its web page.  If the process is\r
-   not documented, then submit the code on development email list\r
-   for the project.\r
-5. It is preferred that contributions are submitted using the same\r
-   copyright license as the base project. When that is not possible,\r
-   then contributions using the following licenses can be accepted:\r
-   * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause\r
-   * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause\r
-   * MIT: http://opensource.org/licenses/MIT\r
-   * Python-2.0: http://opensource.org/licenses/Python-2.0\r
-   * Zlib: http://opensource.org/licenses/Zlib\r
-\r
-   For documentation:\r
-   * FreeBSD Documentation License\r
-     https://www.freebsd.org/copyright/freebsd-doc-license.html\r
-\r
-   Contributions of code put into the public domain can also be\r
-   accepted.\r
-\r
-   Contributions using other licenses might be accepted, but further\r
-   review will be required.\r
-\r
-=====================================================\r
-= Change Description / Commit Message / Patch Email =\r
-=====================================================\r
-\r
-Your change description should use the standard format for a\r
-commit message, and must include your "Signed-off-by" signature\r
-and the "Contributed-under" message.\r
-\r
-== Sample Change Description / Commit Message =\r
-\r
-=== Start of sample patch email message ===\r
-\r
-From: Contributor Name <contributor@example.com>\r
-Subject: [Repository/Branch PATCH] Module: Brief-single-line-summary\r
-\r
-Full-commit-message\r
-\r
-Contributed-under: TianoCore Contribution Agreement 1.1\r
-Signed-off-by: Contributor Name <contributor@example.com>\r
----\r
-\r
-An extra message for the patch email which will not be considered part\r
-of the commit message can be added here.\r
-\r
-Patch content inline or attached\r
-\r
-=== End of sample patch email message ===\r
-\r
-=== Notes for sample patch email ===\r
-\r
-* The first line of commit message is taken from the email's subject\r
-  line following [Repository/Branch PATCH]. The remaining portion of the\r
-  commit message is the email's content until the '---' line.\r
-* git format-patch is one way to create this format\r
-\r
-=== Definitions for sample patch email ===\r
-\r
-* "Repository" is the identifier of the repository the patch applies.\r
-  This identifier should only be provided for repositories other than\r
-  'edk2'. For example 'edk2-BuildSpecification' or 'staging'.\r
-* "Branch" is the identifier of the branch the patch applies. This\r
-  identifier should only be provided for branches other than 'edk2/master'.\r
-  For example 'edk2/UDK2015', 'edk2-BuildSpecification/release/1.27', or\r
-  'staging/edk2-test'.\r
-* "Module" is a short identifier for the affected code or documentation. For\r
-  example 'MdePkg', 'MdeModulePkg/UsbBusDxe', 'Introduction', or\r
-  'EDK II INF File Format'.\r
-* "Brief-single-line-summary" is a short summary of the change.\r
-* The entire first line should be less than ~70 characters.\r
-* "Full-commit-message" a verbose multiple line comment describing\r
-  the change.  Each line should be less than ~70 characters.\r
-* "Contributed-under" explicitly states that the contribution is\r
-  made under the terms of the contribution agreement. This\r
-  agreement is included below in this document.\r
-* "Signed-off-by" is the contributor's signature identifying them\r
-  by their real/legal name and their email address.\r
-\r
-========================================\r
-= TianoCore Contribution Agreement 1.1 =\r
-========================================\r
-\r
-INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION\r
-("DOCUMENTATION"), INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE\r
-TIANOCORE OPEN SOURCE PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT\r
-IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND\r
-INTEL AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES\r
-INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR\r
-USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND\r
-CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR\r
-REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS\r
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE\r
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT\r
-USE THE CONTENT.\r
-\r
-Unless otherwise indicated, all Content (except Documentation) made available\r
-on the TianoCore site is provided to you under the terms and conditions of the\r
-BSD License ("BSD"). A copy of the BSD License is available at\r
-http://opensource.org/licenses/bsd-license.php\r
-or when applicable, in the associated License.txt file.\r
-\r
-Unless otherwise indicated, all Documentation made available on the\r
-TianoCore site is provided to you under the terms and conditions of the\r
-FreeBSD Documentation License ("FreeBSD"). A copy of the license is\r
-available at https://www.freebsd.org/copyright/freebsd-doc-license.html or,\r
-when applicable, in the associated License.txt file.\r
-\r
-Certain other content may be made available under other licenses as\r
-indicated in or with such Content (for example, in a License.txt file).\r
-\r
-You accept and agree to the following terms and conditions for Your\r
-present and future Contributions submitted to TianoCore site. Except\r
-for the license granted to Intel hereunder, You reserve all right,\r
-title, and interest in and to Your Contributions.\r
-\r
-== SECTION 1: Definitions ==\r
-* "You" or "Contributor" shall mean the copyright owner or legal\r
-  entity authorized by the copyright owner that is making a\r
-  Contribution hereunder. All other entities that control, are\r
-  controlled by, or are under common control with that entity are\r
-  considered to be a single Contributor. For the purposes of this\r
-  definition, "control" means (i) the power, direct or indirect, to\r
-  cause the direction or management of such entity, whether by\r
-  contract or otherwise, or (ii) ownership of fifty percent (50%)\r
-  or more of the outstanding shares, or (iii) beneficial ownership\r
-  of such entity.\r
-* "Contribution" shall mean any original work of authorship,\r
-  including any modifications or additions to an existing work,\r
-  that is intentionally submitted by You to the TianoCore site for\r
-  inclusion in, or documentation of, any of the Content. For the\r
-  purposes of this definition, "submitted" means any form of\r
-  electronic, verbal, or written communication sent to the\r
-  TianoCore site or its representatives, including but not limited\r
-  to communication on electronic mailing lists, source code\r
-  control systems, and issue tracking systems that are managed by,\r
-  or on behalf of, the TianoCore site for the purpose of\r
-  discussing and improving the Content, but excluding\r
-  communication that is conspicuously marked or otherwise\r
-  designated in writing by You as "Not a Contribution."\r
-\r
-== SECTION 2: License for Contributions ==\r
-* Contributor hereby agrees that redistribution and use of the\r
-  Contribution in source and binary forms, with or without\r
-  modification, are permitted provided that the following\r
-  conditions are met:\r
-** Redistributions of source code must retain the Contributor's\r
-   copyright notice, this list of conditions and the following\r
-   disclaimer.\r
-** Redistributions in binary form must reproduce the Contributor's\r
-   copyright notice, this list of conditions and the following\r
-   disclaimer in the documentation and/or other materials provided\r
-   with the distribution.\r
-* Disclaimer. None of the names of Contributor, Intel, or the names\r
-  of their respective contributors may be used to endorse or\r
-  promote products derived from this software without specific\r
-  prior written permission.\r
-* Contributor grants a license (with the right to sublicense) under\r
-  claims of Contributor's patents that Contributor can license that\r
-  are infringed by the Contribution (as delivered by Contributor) to\r
-  make, use, distribute, sell, offer for sale, and import the\r
-  Contribution and derivative works thereof solely to the minimum\r
-  extent necessary for licensee to exercise the granted copyright\r
-  license; this patent license applies solely to those portions of\r
-  the Contribution that are unmodified. No hardware per se is\r
-  licensed.\r
-* EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE\r
-  CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY\r
-  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
-  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\r
-  PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\r
-  CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
-  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r
-  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r
-  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
-  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
-  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE\r
-  CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\r
-  DAMAGE.\r
-\r
-== SECTION 3: Representations ==\r
-* You represent that You are legally entitled to grant the above\r
-  license. If your employer(s) has rights to intellectual property\r
-  that You create that includes Your Contributions, You represent\r
-  that You have received permission to make Contributions on behalf\r
-  of that employer, that Your employer has waived such rights for\r
-  Your Contributions.\r
-* You represent that each of Your Contributions is Your original\r
-  creation (see Section 4 for submissions on behalf of others).\r
-  You represent that Your Contribution submissions include complete\r
-  details of any third-party license or other restriction\r
-  (including, but not limited to, related patents and trademarks)\r
-  of which You are personally aware and which are associated with\r
-  any part of Your Contributions.\r
-\r
-== SECTION 4: Third Party Contributions ==\r
-* Should You wish to submit work that is not Your original creation,\r
-  You may submit it to TianoCore site separately from any\r
-  Contribution, identifying the complete details of its source\r
-  and of any license or other restriction (including, but not\r
-  limited to, related patents, trademarks, and license agreements)\r
-  of which You are personally aware, and conspicuously marking the\r
-  work as "Submitted on behalf of a third-party: [named here]".\r
-\r
-== SECTION 5: Miscellaneous ==\r
-* Applicable Laws. Any claims arising under or relating to this\r
-  Agreement shall be governed by the internal substantive laws of\r
-  the State of Delaware or federal courts located in Delaware,\r
-  without regard to principles of conflict of laws.\r
-* Language. This Agreement is in the English language only, which\r
-  language shall be controlling in all respects, and all versions\r
-  of this Agreement in any other language shall be for accommodation\r
-  only and shall not be binding. All communications and notices made\r
-  or given pursuant to this Agreement, and all documentation and\r
-  support to be provided, unless otherwise noted, shall be in the\r
-  English language.\r
-\r
index bf7c97c..177d519 100644 (file)
--- a/Readme.md
+++ b/Readme.md
@@ -3,17 +3,20 @@
 A modern, feature-rich, cross-platform firmware development environment\r
 for the UEFI and PI specifications from www.uefi.org.\r
 \r
-Contributions to the EDK II open source project are covered by the\r
-[TianoCore Contribution Agreement 1.1](Contributions.txt)\r
-\r
 The majority of the content in the EDK II open source project uses a\r
-[BSD 2-Clause License](License.txt).  The EDK II open source project contains\r
-the following components that are covered by additional licenses:\r
+[BSD-2-Clause Plus Patent License](License.txt).  The EDK II open source project\r
+contains the following components that are covered by additional licenses:\r
 * [AppPkg/Applications/Python/Python-2.7.2/Tools/pybench](AppPkg/Applications/Python/Python-2.7.2/Tools/pybench/LICENSE)\r
 * [AppPkg/Applications/Python/Python-2.7.2](AppPkg/Applications/Python/Python-2.7.2/LICENSE)\r
 * [AppPkg/Applications/Python/Python-2.7.10](AppPkg/Applications/Python/Python-2.7.10/LICENSE)\r
 * [BaseTools/Source/C/BrotliCompress](BaseTools/Source/C/BrotliCompress/LICENSE)\r
 * [MdeModulePkg/Library/BrotliCustomDecompressLib](MdeModulePkg/Library/BrotliCustomDecompressLib/LICENSE)\r
+* [BaseTools/Source/C/LzmaCompress](BaseTools/Source/C/LzmaCompress/LZMA-SDK-README.txt)\r
+* [MdeModulePkg/Library/LzmaCustomDecompressLib](MdeModulePkg/Library/LzmaCustomDecompressLib/LZMA-SDK-README.txt)\r
+* [IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/Sdk](IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LZMA-SDK-README.txt)\r
+* [BaseTools/Source/C/VfrCompile/Pccts](BaseTools/Source/C/VfrCompile/Pccts/RIGHTS)\r
+* [EdkCompatibilityPkg/Other/Maintained/Tools/Pccts](EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/README)\r
+* [MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma](MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/README)\r
 * [OvmfPkg](OvmfPkg/License.txt)\r
 * [CryptoPkg/Library/OpensslLib/openssl](CryptoPkg/Library/OpensslLib/openssl/LICENSE)\r
 \r
@@ -31,3 +34,115 @@ are listed in [Maintainers.txt](Maintainers.txt).
 * [UDK2017](https://github.com/tianocore/edk2/releases/tag/vUDK2017)\r
 * [UDK2018](https://github.com/tianocore/edk2/releases/tag/vUDK2018)\r
 * [edk2-stable201811](https://github.com/tianocore/edk2/releases/tag/edk2-stable201811)\r
+\r
+# Code Contributions\r
+To make a contribution to a TianoCore project, follow these steps.\r
+1. Create a change description in the format specified below to\r
+   use in the source control commit log.\r
+2. Your commit message must include your `Signed-off-by` signature\r
+3. Submit your code to the TianoCore project using the process\r
+   that the project documents on its web page.  If the process is\r
+   not documented, then submit the code on development email list\r
+   for the project.\r
+4. It is preferred that contributions are submitted using the same\r
+   copyright license as the base project. When that is not possible,\r
+   then contributions using the following licenses can be accepted:\r
+   * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause\r
+   * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause\r
+   * MIT: http://opensource.org/licenses/MIT\r
+   * Python-2.0: http://opensource.org/licenses/Python-2.0\r
+   * Zlib: http://opensource.org/licenses/Zlib\r
+\r
+   For documentation:\r
+   * FreeBSD Documentation License\r
+     https://www.freebsd.org/copyright/freebsd-doc-license.html\r
+\r
+   Contributions of code put into the public domain can also be\r
+   accepted.\r
+\r
+   Contributions using other licenses might be accepted, but further\r
+   review will be required.\r
+\r
+# Developer Certificate of Origin\r
+\r
+Your change description should use the standard format for a\r
+commit message, and must include your `Signed-off-by` signature.\r
+\r
+In order to keep track of who did what, all patches contributed must\r
+include a statement that to the best of the contributor's knowledge\r
+they have the right to contribute it under the specified license.\r
+\r
+The test for this is as specified in the [Developer's Certificate of\r
+Origin (DCO) 1.1](https://developercertificate.org/). The contributor\r
+certifies compliance by adding a line saying\r
+\r
+  Signed-off-by: Developer Name <developer@example.org>\r
+\r
+where `Developer Name` is the contributor's real name, and the email\r
+address is one the developer is reachable through at the time of\r
+contributing.\r
+\r
+```\r
+Developer's Certificate of Origin 1.1\r
+\r
+By making a contribution to this project, I certify that:\r
+\r
+(a) The contribution was created in whole or in part by me and I\r
+    have the right to submit it under the open source license\r
+    indicated in the file; or\r
+\r
+(b) The contribution is based upon previous work that, to the best\r
+    of my knowledge, is covered under an appropriate open source\r
+    license and I have the right under that license to submit that\r
+    work with modifications, whether created in whole or in part\r
+    by me, under the same open source license (unless I am\r
+    permitted to submit under a different license), as indicated\r
+    in the file; or\r
+\r
+(c) The contribution was provided directly to me by some other\r
+    person who certified (a), (b) or (c) and I have not modified\r
+    it.\r
+\r
+(d) I understand and agree that this project and the contribution\r
+    are public and that a record of the contribution (including all\r
+    personal information I submit with it, including my sign-off) is\r
+    maintained indefinitely and may be redistributed consistent with\r
+    this project or the open source license(s) involved.\r
+```\r
+\r
+# Sample Change Description / Commit Message\r
+\r
+```\r
+From: Contributor Name <contributor@example.com>\r
+Subject: [Repository/Branch PATCH] Pkg-Module: Brief-single-line-summary\r
+\r
+Full-commit-message\r
+\r
+Signed-off-by: Contributor Name <contributor@example.com>\r
+```\r
+\r
+## Notes for sample patch email\r
+\r
+* The first line of commit message is taken from the email's subject\r
+  line following `[Repository/Branch PATCH]`. The remaining portion of the\r
+  commit message is the email's content.\r
+* `git format-patch` is one way to create this format\r
+\r
+## Definitions for sample patch email\r
+\r
+* `Repository` is the identifier of the repository the patch applies.\r
+  This identifier should only be provided for repositories other than\r
+  `edk2`. For example `edk2-BuildSpecification` or `staging`.\r
+* `Branch` is the identifier of the branch the patch applies. This\r
+  identifier should only be provided for branches other than `edk2/master`.\r
+  For example `edk2/UDK2015`, `edk2-BuildSpecification/release/1.27`, or\r
+  `staging/edk2-test`.\r
+* `Module` is a short identifier for the affected code or documentation. For\r
+  example `MdePkg`, `MdeModulePkg/UsbBusDxe`, `Introduction`, or\r
+  `EDK II INF File Format`.\r
+* `Brief-single-line-summary` is a short summary of the change.\r
+* The entire first line should be less than ~70 characters.\r
+* `Full-commit-message` a verbose multiple line comment describing\r
+  the change.  Each line should be less than ~70 characters.\r
+* `Signed-off-by` is the contributor's signature identifying them\r
+  by their real/legal name and their email address.\r