The Hyperledger Charter specifies how code and documentation for Hyperledger projects should be licensed. This document provides information about expectations for how the source code and documentation should specify copyright and license details.
Generally, copyright notices within source and documentation files fall out of date quickly. The contributor data is stored in gerrit or git and determining “copyright” requires an analysis that becomes quite complex after the initial commit. As such, for new files added to Hyperledger repositories, the following copyright text should be included:
Copyright contributors to Hyperledger <project>.
<project> should be replaced with the appropriate Hyperledger project – Burrow, Caliper, Cello, Composer, Explorer, Indy, Iroha, Fabric, Quilt, Sawtooth or Ursa.
IMPORTANT: Do not remove copyright notices that already exist within a file unless the copyright owner removes them.
Copyright on Third Party Publishing Platform
The above copyright policy above also carries forward to third party publishing platforms such as crates.io, pypi.org, and npmjs.org. Due to the limited amount of meta data associated with the published code available on these platforms, the copyright statement should state: "Copyright contributors to Hyperledger <project>". The existing copyright notices will remain in the source files. Some platforms instead have an "Authors" meta data field instead of copyright. In that case the authors should be listed as "Hyperledger <project> Contributors".
For new files added to Hyperledger repositories, SPDX short identifiers are the recommended way of representing the license via comments within the header of the file. For Hyperledger, if using SPDX short identifiers, the following must be used to meet the requirements of the Hyperledger Charter (see below for details).
IMPORTANT: The license of a file, regardless of how specified, should not be modified unless agreed to by all contributors to the file.
If you are seeking to add a file that already has a license notice which is different from Apache-2.0 or CC-BY-4.0, please raise this for discussion with email@example.com to obtain exception approval.
Examples of License Lines
// SPDX-License-Identifier: Apache-2.0
<//> # (SPDX-License-Identifier: CC-BY-4.0)
Note: this is a hack of the link definition feature in Markdown. Make sure that there is a blank line above and below the comments because some Markdown parsers have bugs.
# SPDX-License-Identifier: Apache-2.0