Name Date Size #Lines LOC

..--

READMEH A D19-Oct-20223.3 KiB7759

bsd-2-clause.txtH A D02-Dec-20201.2 KiB2117

bsd-3-clause.txtH A D19-Dec-20171.4 KiB105

exceptions.txtH A D19-Oct-20221 KiB2117

gpl-2.0.txtH A D19-Dec-201717.7 KiB340281

isc.txtH A D02-Dec-2020683 1210

lgpl-2.1.txtH A D19-Dec-201725.9 KiB503418

mit.txtH A D02-Dec-20201 KiB1916

README

1The DPDK uses the Open Source BSD-3-Clause license for the core libraries and
2drivers. The kernel components are naturally GPL-2.0 licensed.
3
4Including big blocks of License headers in all files blows up the
5source code with mostly redundant information.  An additional problem
6is that even the same licenses are referred to by a number of
7slightly varying text blocks (full, abbreviated, different
8indentation, line wrapping and/or white space, with obsolete address
9information, ...) which makes validation and automatic processing a nightmare.
10
11To make this easier, DPDK uses a single line reference to Unique License
12Identifiers in source files as defined by the Linux Foundation's SPDX project
13(https://spdx.org/).
14
15Adding license information in this fashion, rather than adding full license
16text, can be more efficient for developers; decreases errors; and improves
17automated detection of licenses. The current set of valid, predefined SPDX
18identifiers is set forth on the SPDX License List at https://spdx.org/licenses/.
19
20DPDK uses first line of the file to be SPDX tag. In case of *#!* scripts, SPDX
21tag can be placed in 2nd line of the file.
22
23For example, to label a file as subject to the BSD-3-Clause license,
24the following text would be used:
25
26SPDX-License-Identifier: BSD-3-Clause
27
28To label a file as GPL-2.0 (e.g., for code that runs in the kernel), the
29following text would be used:
30
31SPDX-License-Identifier: GPL-2.0
32
33To label a file as dual-licensed with BSD-3-Clause and GPL-2.0 (e.g., for code
34that is shared between the kernel and userspace), the following text would be
35used:
36
37SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
38
39To label a file as dual-licensed with BSD-3-Clause and LGPL-2.1 (e.g., for code
40that is shared between the kernel and userspace), the following text would be
41used:
42
43SPDX-License-Identifier: (BSD-3-Clause OR LGPL-2.1)
44
45Any new file contributions in DPDK shall adhere to the above scheme.
46It is also being recommended to replace the existing license text in the code
47with SPDX-License-Identifiers.
48
49Any exception to the DPDK IP policies shall be approved by DPDK Tech Board and
50DPDK Governing Board. Steps for any exception approval:
511. Mention the appropriate license identifier form SPDX. If the license is not
52   listed in SPDX Licenses. It is the submitters responsibility to get it
53   first listed.
542. Get the required approval from the DPDK Technical Board. Technical Board may
55   advise the author to check alternate means first. If no other alternative
56   are found and the merit of the contributions are important for DPDK's
57   mission, it may decide on such exception with two-thirds vote of the members.
583. Technical Board then approach Governing Board for such limited approval for
59   the given contribution only.
60
61Any approvals shall be documented in "license/exceptions.txt" with record dates.
62
63DPDK project supported licenses are:
64
651. BSD 3-clause "New" or "Revised" License
66	SPDX-License-Identifier: BSD-3-Clause
67	URL: http://spdx.org/licenses/BSD-3-Clause#licenseText
68	DPDK License text: license/bsd-3-clause.txt
692. GNU General Public License v2.0 only
70	SPDX-License-Identifier: GPL-2.0
71	URL: http://spdx.org/licenses/GPL-2.0.html#licenseText
72	DPDK License text: license/gpl-2.0.txt
733. GNU Lesser General Public License v2.1
74	SPDX-License-Identifier: LGPL-2.1
75	URL: http://spdx.org/licenses/LGPL-2.1.html#licenseText
76	DPDK License text: license/lgpl-2.1.txt
77