Movatterモバイル変換


[0]ホーム

URL:


Assembling LICENSE and NOTICE files

This is a "how to" guide for Apache Committers assemblingLICENSE andNOTICE files for their project's product.

Overview

TheLICENSE file communicates the licensing of all content in an Apache product distribution. It always contains the text of the Apache License, andsometimes more information.

TheNOTICE file is described in section 4.4 of the Apache License version2.0. It is required byASF policy.

Thecomplete requirements forLICENSE andNOTICE files are available.

Guiding principle

TheLICENSE andNOTICE files mustexactly represent 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'sNOTICE andLICENSE.

Location

LICENSE andNOTICE 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 themLICENSE.txt andNOTICE.txt.

Step-by-step instructions

To assembleLICENSE andNOTICE files from scratch for products with complex requirements, follow these steps:

  • Copy the fullApache 2.0 license text into aLICENSE file.
  • Create a 'NOTICE' file specific to your product's details, and complying with the instructions below. AnexampleNOTICE file is at the bottom of this page.
    • Add anymandatory legal notifications specific to the IP of your product.
    • For anybundled dependency, consider whetherLICENSE and/orNOTICE need to be modified.Do not modifyLICENSE orNOTICE for non-bundled dependencies.

Bundling permissively-licensed dependencies

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:

  • BSD (without advertising clause)
  • MIT/X11

InLICENSE, add apointer to the dependency's license within the distribution and a short note summarizing its licensing:

This product bundles SuperWidget 1.2.3, which is available under a"3-clause BSD" license. For details, see deps/superwidget/.

Under normal circumstances, there is no need to modifyNOTICE to mention a bundled dependency.

NOTE: It's also possible to include the text of the 3rd party license within your product'sLICENSE 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.

There are a number of other "permissive" licenses which the ASF Legal Affairs Committee has approved for use. Some of these may require additions toNOTICE -- if in doubt,ask for assistance.

Bundling an Apache 2-0-licensed dependency

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 modifyLICENSE. However, for completeness it is useful to list the products and their versions, as is done for products under other licenses.

If the dependency supplies aNOTICE file, its contents must be analyzed and the relevant portions bubbled up into the top-levelNOTICE file.

Bundling other ASF products

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 ofNOTICE must be considered for propagation.

Bundled vs. non-bundled dependencies

You must customizeLICENSE andNOTICE files according to the content of the specific distribution they reside within. Do not add toLICENSE andNOTICE dependencies which are not in the distribution.Only bundled bits matter.

Example: If the only difference betweenapache-foo-1.0.tgz andapache-foo-1.1.tgz is that one bundles SuperWidget while the other forces users to download SuperWidget separately,LICENSE andNOTICE may need to be modified to account for the different bundled bits.

Dependencies of dependencies

Dependencies of dependencies (including so-called "transitive dependencies") are no different from first-order dependencies for the purposes of assemblingLICENSE andNOTICE:LICENSE andNOTICE need only be modified to accommodate themonly if their bits are bundled.

Modifications to NOTICE

TheNOTICE file is reserved for a certain subset of legally required notifications which are not satisfied by either the text ofLICENSE or the presence of licensing information embedded within the bundled dependency. Aside from Apache-licensed dependencies which supplyNOTICE files of their own, it is uncommon for a dependency to require additions toNOTICE.

Copyright notifications which have beenrelocated, rather than removed, from source files must be preserved inNOTICE. However, elements such as the copyright notifications embedded within BSD and MIT licensesdo not need to be duplicated inNOTICE. You can leave those notices in their original locations.

It is important to keepNOTICE as brief and simple as possible, as each addition places a burden on downstream consumers.

Do not add anything toNOTICE which is not legally required.

Binary distributions

What applies to canonical source distributions also applies to all redistributions, including binary redistributions:

All redistributions must obey the licensing requirements of the contents.

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 inLICENSE andNOTICE. As a result, theLICENSE andNOTICE files for a binary distribution may differ from those in the source distribution it was built from.

In any case, the principle remains the same:LICENSE andNOTICE mustexactly represent the contents of the distribution they reside in.

Example NOTICE file

The following is the text of theNOTICE file forApache Royale:

Apache RoyaleCopyright 2020 The Apache Software FoundationThis product includes software developed atThe Apache Software Foundation (http://www.apache.org/).The Initial Developer of some parts of the framework, which are copied from, derived from, orinspired 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/assetswas created by CameronMusic. (http://www.freesound.org/people/cameronmusic/sounds/138420/)

Copyright 2025,The Apache Software Foundation, Licensed under theApache License, Version 2.0.
Apache® and the Apache feather logo are trademarks of The Apache Software Foundation.


[8]ページ先頭

©2009-2025 Movatter.jp