numam-dpdk/license
John McNamara 3745f64b4a license: add licenses for exception cases
The license/exceptions.txt file lists a small number of files
that have licenses that are exceptions to the three main
licenses defined in the Intellectual Property Policy of the
DPDK Charter.

The three exception licenses are MIT, ISC and BSD-2-Clause.
Each of these licenses states that the content of the license
message should be included in the code distribution. This
change adds the text of the MIT, ISC and BSD-2-Clause licenses
as defined on the SPDX website.

Cc: stable@dpdk.org

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2020-12-11 12:22:19 +01:00
..
bsd-2-clause.txt license: add licenses for exception cases 2020-12-11 12:22:19 +01:00
bsd-3-clause.txt license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
exceptions.txt license: remove dual prefix 2020-11-04 20:17:28 +01:00
gpl-2.0.txt license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
isc.txt license: add licenses for exception cases 2020-12-11 12:22:19 +01:00
lgpl-2.1.txt license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
mit.txt license: add licenses for exception cases 2020-12-11 12:22:19 +01:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00

The DPDK uses the Open Source BSD-3-Clause license for the core libraries and
drivers. The kernel components are naturally GPL-2.0 licensed.

Including big blocks of License headers in all files blows up the
source code with mostly redundant information.  An additional problem
is that even the same licenses are referred to by a number of
slightly varying text blocks (full, abbreviated, different
indentation, line wrapping and/or white space, with obsolete address
information, ...) which makes validation and automatic processing a nightmare.

To make this easier, DPDK uses a single line reference to Unique License
Identifiers in source files as defined by the Linux Foundation's SPDX project
(https://spdx.org/).

Adding license information in this fashion, rather than adding full license
text, can be more efficient for developers; decreases errors; and improves
automated detection of licenses. The current set of valid, predefined SPDX
identifiers is set forth on the SPDX License List at https://spdx.org/licenses/.

DPDK uses first line of the file to be SPDX tag. In case of *#!* scripts, SPDX
tag can be placed in 2nd line of the file.

For example, to label a file as subject to the BSD-3-Clause license,
the following text would be used:

SPDX-License-Identifier: BSD-3-Clause

To label a file as GPL-2.0 (e.g., for code that runs in the kernel), the
following text would be used:

SPDX-License-Identifier: GPL-2.0

To label a file as dual-licensed with BSD-3-Clause and GPL-2.0 (e.g., for code
that is shared between the kernel and userspace), the following text would be
used:

SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)

To label a file as dual-licensed with BSD-3-Clause and LGPL-2.1 (e.g., for code
that is shared between the kernel and userspace), the following text would be
used:

SPDX-License-Identifier: (BSD-3-Clause OR LGPL-2.1)

Any new file contributions in DPDK shall adhere to the above scheme.
It is also being recommended to replace the existing license text in the code
with SPDX-License-Identifiers.

Any exception to the DPDK IP policies shall be approved by DPDK Tech Board and
DPDK Governing Board. Steps for any exception approval:
1. Mention the appropriate license identifier form SPDX. If the license is not
   listed in SPDX Licenses. It is the submitters responsibiliity to get it
   first listed.
2. Get the required approval from the DPDK Technical Board. Technical Board may
   advise the author to check alternate means first. If no other alternative
   are found and the merit of the contributions are important for DPDK's
   mission, it may decide on such exception with two-thirds vote of the members.
3. Technical Board then approach Governing Board for such limited approval for
   the given contribution only.

Any approvals shall be documented in "Licenses/exceptions.txt" with record
dates.

DPDK project supported licenses are:

1. BSD 3-clause "New" or "Revised" License
	SPDX-License-Identifier: BSD-3-Clause
	URL: http://spdx.org/licenses/BSD-3-Clause#licenseText
	DPDK License text: licenses/bsd-3-clause.txt
2. GNU General Public License v2.0 only
	SPDX-License-Identifier: GPL-2.0
	URL: http://spdx.org/licenses/GPL-2.0.html#licenseText
	DPDK License text: licenses/gpl-2.0.txt
3. GNU Lesser General Public License v2.1
	SPDX-License-Identifieri: LGPL-2.1
	URL: http://spdx.org/licenses/LGPL-2.1.html#licenseText
	DPDK License text: licenses/lgpl-2.1.txt