| <!doctype html> |
| <html class="no-js" lang="en" dir="ltr"> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="x-ua-compatible" content="ie=edge"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Assembling LICENSE and NOTICE files - Apache Infrastructure Website</title> |
| <link href="/css/bootstrap.min.css" rel="stylesheet"> |
| <link href="/css/fontawesome.all.min.css" rel="stylesheet"> |
| <link href="/css/headerlink.css" rel="stylesheet"> |
| <script src="/highlight/highlight.min.js"></script> </head> |
| <body class="d-flex flex-column h-100"> |
| <main class="flex-shrink-0"> |
| <div> |
| |
| <!-- nav bar --> |
| <nav class="navbar navbar-expand-lg navbar-dark bg-dark" aria-label="Fifth navbar example"> |
| <div class="container-fluid"> |
| <a class="navbar-brand" href="/"><img src="/images/feather.png" style="height: 32px;"/> Apache Infrastructure</a> |
| <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation"> |
| <span class="navbar-toggler-icon"></span> |
| </button> |
| |
| <div class="collapse navbar-collapse" id="navbarADP"> |
| <ul class="navbar-nav me-auto mb-2 mb-lg-0"> |
| <li class="nav-item dropdown"> |
| <a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">About</a> |
| <ul class="dropdown-menu"> |
| <li><a class="dropdown-item" href="/team.html">About the team</a></li> |
| <li><a class="dropdown-item" href="/roundtable.html">The Infrastructure Roundtable</a></li> |
| <li><a class="dropdown-item" href="/blog/">The Infrastructure Blog</a></li> |
| </ul> |
| </li> |
| <li class="nav-item"> |
| <a class="nav-link" href="/policies.html">Policies</a> |
| </li> |
| <li class="nav-item dropdown"> |
| <a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">Services and Tools</a> |
| <ul class="dropdown-menu"> |
| <li><a class="dropdown-item" href="/services.html">Services and Tools</a></li> |
| <li><a class="dropdown-item" href="/machines.html">Machines and Fingerprints</a></li> |
| <li><a class="dropdown-item" href="https://blocky.apache.org/">Blocky</a></li> |
| <li><a class="dropdown-item" href="https://app.datadoghq.com/account/login?next=%2Finfrastructure">DataDog</a></li> |
| <li><a class="dropdown-item" href="https://whimsy.apache.org/roster/committer/" target="_blank">Committer Search</a></li> |
| </ul> |
| </li> |
| <li class="nav-item dropdown"> |
| <a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">Documentation</a> |
| <ul class="dropdown-menu"> |
| <li><a class="dropdown-item" href="/doc.html">Contribute</a></li> |
| <li><a class="dropdown-item" href="/infra-volunteer.html">Volunteer with Infra</a></li> |
| <li><a class="dropdown-item" href="/how-to-mirror.html">Become an ASF download mirror</a></li> |
| <li><a class="dropdown-item" href="/hosting-external-agent.html">Host a Jenkins or Buildbot agent</a></li> |
| |
| </ul> |
| </li> |
| <li class="nav-item"> |
| <a class="nav-link" href="/stats.html">Status</a> |
| </li> |
| <li class="nav-item"> |
| <a class="nav-link" href="/contact.html">Contact Us</a> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </nav> |
| |
| |
| <!-- page contents --> |
| <div id="contents"> |
| <div class="bg-white p-5 rounded"> |
| <div class="col-sm-8 mx-auto"> |
| <h1> |
| Assembling LICENSE and NOTICE files |
| </h1> |
| <p>This is a "how to" guide for Apache Committers assembling <code>LICENSE</code> and <code>NOTICE</code> files for their project's product.</p> |
| <h3>Overview</h3> |
| <p>The <code>LICENSE</code> file communicates the licensing of all content in an Apache product distribution. It always contains the text of the Apache License, and |
| sometimes more information.</p> |
| <p>The <code>NOTICE</code> file is described in <a href="https://www.apache.org/licenses/LICENSE-2.0.html#redistribution" target="_blank"> section 4.4</a> of the Apache License version |
| 2.0. It is required by <a href="https://www.apache.org/legal/src-headers.html#notice" target="_blank">ASF policy</a>.</p> |
| <p>The <a href="https://www.apache.org/legal" target="_blank">complete requirements</a> for <code>LICENSE</code> and <code>NOTICE</code> files are available.</p> |
| <ul> |
| <li><a href="#guiding">Guiding principle</a></li> |
| <li><a href="#source-tree-location">Location</a></li> |
| <li><a href="#step-by-step">Step-by-step instructions</a></li> |
| <li>Bundling<ul> |
| <li><a href="#permissive-deps">Bundling permissively-licensed dependencies</a></li> |
| <li><a href="#alv2-dep">Bundling an Apache 2-0 licensed dependency</a></li> |
| <li><a href="#bundle-asf-product">Bundling other ASF products</a></li> |
| <li><a href="#bundled-vs-non-bundled">Bundled vs. non-bundled dependencies</a></li> |
| <li><a href="#deps-of-deps">Dependencies of dependencies</a></li> |
| </ul> |
| </li> |
| <li><a href="#mod-notice">Modifications to NOTICE</a></li> |
| <li><a href="#binary">Binary distributions</a></li> |
| <li><a href="#example-notice">Example NOTICE file</a></li> |
| </ul> |
| <h3 id="guiding">Guiding principle<a class="headerlink" href="#guiding" title="Permanent link">¶</a></h3> |
| |
| <p>The <code>LICENSE</code> and <code>NOTICE</code> files must <strong>exactly represent</strong> the contents of the distribution they reside in. Only components and resources that are actually included in a distribution have any bearing on the content of that distribution's <code>NOTICE</code> and <code>LICENSE</code>.</p> |
| <h3 id="source-tree-location">Location<a class="headerlink" href="#source-tree-location" title="Permanent link">¶</a></h3> |
| |
| <p><code>LICENSE</code> and <code>NOTICE</code> files belong at the top level of the source tree. ASF prefers that the files have their bare names, but a PMC can opt to call them <code>LICENSE.txt</code> and <code>NOTICE.txt</code>.</p> |
| <h3 id="step-by-step">Step-by-step instructions<a class="headerlink" href="#step-by-step" title="Permanent link">¶</a></h3> |
| |
| <p>To assemble <code>LICENSE</code> and <code>NOTICE</code> files from scratch for products with complex requirements, follow these steps:</p> |
| <ul> |
| <li>Copy the full <a href="https://www.apache.org/licenses/LICENSE-2.0.txt" target="_blank">Apache 2.0 license</a> text into a <code>LICENSE</code> file.</li> |
| <li>Create a 'NOTICE' file specific to your product's details, and complying with the instructions below. An <a href="#example-notice">example <code>NOTICE</code> file</a> is at the bottom of this page.<ul> |
| <li>Add any <a href="#mod-notice">mandatory</a> legal notifications specific to the IP of your product.</li> |
| <li>For any <a href="#bundled-vs-non-bundled">bundled</a> dependency, consider whether <code>LICENSE</code> and/or <code>NOTICE</code> need to be modified. <strong>Do not</strong> modify <code>LICENSE</code> or <code>NOTICE</code> for non-bundled dependencies.</li> |
| </ul> |
| </li> |
| </ul> |
| <h3 id="permissive-deps">Bundling permissively-licensed dependencies<a class="headerlink" href="#permissive-deps" title="Permanent link">¶</a></h3> |
| |
| <p>Bundling a dependency which is issued under one of the following licenses is straightforward, assuming that license applies uniformly to all files within the dependency:</p> |
| <ul> |
| <li>BSD (without advertising clause)</li> |
| <li>MIT/X11</li> |
| </ul> |
| <p>In <code>LICENSE</code>, add a <a href="http://s.apache.org/Hqj" target="_blank">pointer</a> to the dependency's license within the distribution and a short note summarizing its licensing:</p> |
| <div class="highlight"><pre><span></span><code><span class="nv">This</span><span class="w"> </span><span class="nv">product</span><span class="w"> </span><span class="nv">bundles</span><span class="w"> </span><span class="nv">SuperWidget</span><span class="w"> </span><span class="mi">1</span>.<span class="mi">2</span>.<span class="mi">3</span>,<span class="w"> </span><span class="nv">which</span><span class="w"> </span><span class="nv">is</span><span class="w"> </span><span class="nv">available</span><span class="w"> </span><span class="nv">under</span><span class="w"> </span><span class="nv">a</span> |
| <span class="s2">"3-clause BSD"</span><span class="w"> </span><span class="nv">license</span>.<span class="w"> </span><span class="k">For</span><span class="w"> </span><span class="nv">details</span>,<span class="w"> </span><span class="nv">see</span><span class="w"> </span><span class="nv">deps</span><span class="o">/</span><span class="nv">superwidget</span><span class="o">/</span>. |
| </code></pre></div> |
| |
| <p>Under normal circumstances, there is no need to modify <code>NOTICE</code> to mention a bundled dependency.</p> |
| <p><strong>NOTE</strong>: It's also possible to include the text of the 3rd party license within your product's <code>LICENSE</code> file. This is best reserved for short licenses. It's important to specify the version of the dependency as licenses sometimes change as product versions change.</p> |
| <p>There are a number of other "permissive" licenses which the ASF Legal Affairs Committee has <a href="https://www.apache.org/legal/resolved.html#category-a" target="_blank"> approved</a> for use. Some of these may require additions to <code>NOTICE</code> -- if in doubt, <a href="https://www.apache.org/legal/resolved.html#asking-questions" target="_blank">ask for assistance</a>.</p> |
| <h3 id="alv2-dep">Bundling an Apache 2-0-licensed dependency<a class="headerlink" href="#alv2-dep" title="Permanent link">¶</a></h3> |
| |
| <p>Assuming that the bundled dependency itself contains no bundled sub-components under other licenses, so the ALv2 applies uniformly to all files, there is no need to modify <code>LICENSE</code>. However, for completeness it is useful to list the products and their versions, as is done for products under other licenses.</p> |
| <p>If the dependency supplies a <code>NOTICE</code> file, its contents must be analyzed and the relevant portions bubbled up into the top-level <code>NOTICE</code> file.</p> |
| <h3 id="bundle-asf-product">Bundling other ASF products<a class="headerlink" href="#bundle-asf-product" title="Permanent link">¶</a></h3> |
| |
| <p>It is not necessary to duplicate the line "This product includes software developed at the Apache Software Foundation...", though the ASF copyright line and any other portions of <code>NOTICE</code> must be considered for propagation.</p> |
| <h3 id="bundled-vs-non-bundled">Bundled vs. non-bundled dependencies<a class="headerlink" href="#bundled-vs-non-bundled" title="Permanent link">¶</a></h3> |
| |
| <p>You must customize <code>LICENSE</code> and <code>NOTICE</code> files according to the content of the specific distribution they reside within. Do not add to <code>LICENSE</code> and <code>NOTICE</code> dependencies which are not in the distribution. <strong>Only bundled bits matter.</strong></p> |
| <p>Example: If the only difference between <code>apache-foo-1.0.tgz</code> and <code>apache-foo-1.1.tgz</code> is that one bundles SuperWidget while the other forces users to download SuperWidget separately, <code>LICENSE</code> and <code>NOTICE</code> may need to be modified to account for the different bundled bits.</p> |
| <h3 id="deps-of-deps">Dependencies of dependencies<a class="headerlink" href="#deps-of-deps" title="Permanent link">¶</a></h3> |
| |
| <p>Dependencies of dependencies (including so-called "transitive dependencies") are no different from first-order dependencies for the purposes of assembling <code>LICENSE</code> and <code>NOTICE</code>: <code>LICENSE</code> and <code>NOTICE</code> need only be modified to accommodate them <strong>only if their bits are bundled</strong>.</p> |
| <h3 id="mod-notice">Modifications to NOTICE<a class="headerlink" href="#mod-notice" title="Permanent link">¶</a></h3> |
| |
| <p>The <code>NOTICE</code> file is reserved for a certain subset of legally required notifications which are not satisfied by either the text of <code>LICENSE</code> or the presence of licensing information embedded within the bundled dependency. Aside from Apache-licensed dependencies which supply <code>NOTICE</code> files of their own, it is uncommon for a dependency to require additions to <code>NOTICE</code>.</p> |
| <p>Copyright notifications which have been <a href="https://www.apache.org/legal/src-headers.html#headers" target="_blank">relocated</a>, rather than removed, from source files must be preserved in <code>NOTICE</code>. However, elements such as the copyright notifications embedded within BSD and MIT licenses <a href="https://issues.apache.org/jira/browse/LEGAL-59" target="_blank">do not need to be duplicated</a> in <code>NOTICE</code>. You can leave those notices in their original locations.</p> |
| <p>It is important to keep <code>NOTICE</code> as brief and simple as possible, as each addition places a burden on downstream consumers.</p> |
| <p><strong>Do not</strong> add anything to <code>NOTICE</code> which is not legally required.</p> |
| <h3 id="binary">Binary distributions<a class="headerlink" href="#binary" title="Permanent link">¶</a></h3> |
| |
| <p>What applies to canonical source distributions also applies to all redistributions, including binary redistributions:</p> |
| <p><strong>All redistributions must obey the licensing requirements of the contents.</strong></p> |
| <p>When assembling binary distributions, it is common to pull in and bundle additional dependencies which are not bundled with the source distribution. You must account for these additional dependencies in <code>LICENSE</code> and <code>NOTICE</code>. As a result, the <code>LICENSE</code> and <code>NOTICE</code> files for a binary distribution may differ from those in the source distribution it was built from.</p> |
| <p>In any case, the principle remains the same: <code>LICENSE</code> and <code>NOTICE</code> must <strong>exactly</strong> represent the contents of the distribution they reside in.</p> |
| <h3 id="example-notice">Example NOTICE file<a class="headerlink" href="#example-notice" title="Permanent link">¶</a></h3> |
| |
| <p>The following is the text of the <code>NOTICE</code> file for <a href="https://royale.apache.org/" target="_blank">Apache Royale</a>:</p> |
| <div class="highlight"><pre><span></span><code>Apache Royale |
| Copyright 2020 The Apache Software Foundation |
| |
| This product includes software developed at |
| The Apache Software Foundation (http://www.apache.org/). |
| |
| The Initial Developer of some parts of the framework, which are copied from, derived from, or |
| inspired by Adobe Flex (via Apache Flex), is Adobe Systems Incorporated (http://www.adobe.com/). |
| Copyright 2003 - 2012 Adobe Systems Incorporated. All Rights Reserved. |
| |
| The Initial Developer of the examples/mxroyale/tourdeflexmodules, |
| is Adobe Systems Incorporated (http://www.adobe.com/). |
| Copyright 2009 - 2013 Adobe Systems Incorporated. All Rights Reserved. |
| |
| The ping sound effect (ping.mp3) in |
| examples/mxroyale/tourdeflexmodules/src/mx/effects/assets |
| was created by CameronMusic. (http://www.freesound.org/people/cameronmusic/sounds/138420/) |
| </code></pre></div> |
| </div> |
| </div> |
| </div> |
| <!-- footer --> |
| <div class="row"> |
| <div class="large-12 medium-12 columns"> |
| <p style="font-style: italic; font-size: 0.8rem; text-align: center;"> |
| Copyright 2024, <a href="https://www.apache.org/">The Apache Software Foundation</a>, Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/> |
| Apache® and the Apache feather logo are trademarks of The Apache Software Foundation... |
| </p> |
| </div> |
| </div> |
| <script type="application/ecmascript" src="/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3"></script> </div> |
| </main> |
| <script>hljs.initHighlightingOnLoad();</script> |
| </body> |
| </html> |