]>
Commit | Line | Data |
---|---|---|
d405dae3 TR |
1 | SPDX-License-Identifier: GPL-2.0 |
2 | ||
eca3aeb3 WD |
3 | U-Boot is Free Software. It is copyrighted by Wolfgang Denk and |
4 | many others who contributed code (see the actual source code and the | |
5 | git commit messages for details). You can redistribute U-Boot and/or | |
6 | modify it under the terms of version 2 of the GNU General Public | |
7 | License as published by the Free Software Foundation. Most of it can | |
8 | also be distributed, at your option, under any later version of the | |
9 | GNU General Public License -- see individual files for exceptions. | |
10 | ||
11 | NOTE! This license does *not* cover the so-called "standalone" | |
12 | applications that use U-Boot services by means of the jump table | |
13 | provided by U-Boot exactly for this purpose - this is merely | |
14 | considered normal use of U-Boot, and does *not* fall under the | |
15 | heading of "derived work" -- see file Licenses/Exceptions for | |
16 | details. | |
17 | ||
18 | Also note that the GPL and the other licenses are copyrighted by | |
19 | the Free Software Foundation and other organizations, but the | |
20 | instance of code that they refer to (the U-Boot source code) is | |
21 | copyrighted by me and others who actually wrote it. | |
22 | -- Wolfgang Denk | |
23 | ||
24 | ||
25 | Like many other projects, U-Boot has a tradition of including big | |
26 | blocks of License headers in all files. This not only blows up the | |
27 | source code with mostly redundant information, but also makes it very | |
28 | difficult to generate License Clearing Reports. An additional problem | |
29 | is that even the same licenses are referred to by a number of | |
30 | slightly varying text blocks (full, abbreviated, different | |
31 | indentation, line wrapping and/or white space, with obsolete address | |
32 | information, ...) which makes automatic processing a nightmare. | |
33 | ||
34 | To make this easier, such license headers in the source files will be | |
35 | replaced with a single line reference to Unique License Identifiers | |
d405dae3 | 36 | as defined by the Linux Foundation's SPDX project [1]. |
17fd36c1 WD |
37 | |
38 | If a "SPDX-License-Identifier:" line references more than one Unique | |
39 | License Identifier, then this means that the respective file can be | |
40 | used under the terms of either of these licenses, i. e. with | |
41 | ||
d405dae3 | 42 | SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause |
17fd36c1 | 43 | |
4dcd9a65 | 44 | you can choose between GPL-2.0+ and BSD-3-Clause licensing. |
17fd36c1 | 45 | |
eca3aeb3 WD |
46 | We use the SPDX Unique License Identifiers here; these are available |
47 | at [2]. | |
48 | ||
d405dae3 TR |
49 | License identifier syntax |
50 | ------------------------- | |
51 | ||
52 | 1. Placement: | |
53 | ||
54 | The SPDX license identifier in U-Boot files shall be added at the first | |
55 | possible line in a file which can contain a comment. For the majority | |
56 | or files this is the first line, except for scripts which require the | |
57 | '#!PATH_TO_INTERPRETER' in the first line. For those scripts the SPDX | |
58 | identifier goes into the second line. | |
59 | ||
60 | | | |
61 | ||
62 | 2. Style: | |
63 | ||
64 | The SPDX license identifier is added in form of a comment. The comment | |
65 | style depends on the file type:: | |
66 | ||
67 | C source: // SPDX-License-Identifier: <SPDX License Expression> | |
68 | C header: /* SPDX-License-Identifier: <SPDX License Expression> */ | |
69 | ASM: /* SPDX-License-Identifier: <SPDX License Expression> */ | |
70 | scripts: # SPDX-License-Identifier: <SPDX License Expression> | |
71 | .rst: .. SPDX-License-Identifier: <SPDX License Expression> | |
72 | .dts{i}: // SPDX-License-Identifier: <SPDX License Expression> | |
73 | ||
74 | If a specific tool cannot handle the standard comment style, then the | |
75 | appropriate comment mechanism which the tool accepts shall be used. This | |
76 | is the reason for having the "/\* \*/" style comment in C header | |
77 | files. There was build breakage observed with generated .lds files where | |
78 | 'ld' failed to parse the C++ comment. This has been fixed by now, but | |
79 | there are still older assembler tools which cannot handle C++ style | |
80 | comments. | |
81 | ||
82 | | | |
83 | ||
84 | 3. Syntax: | |
85 | ||
86 | A <SPDX License Expression> is either an SPDX short form license | |
87 | identifier found on the SPDX License List, or the combination of two | |
88 | SPDX short form license identifiers separated by "WITH" when a license | |
89 | exception applies. When multiple licenses apply, an expression consists | |
90 | of keywords "AND", "OR" separating sub-expressions and surrounded by | |
91 | "(", ")" . | |
92 | ||
93 | License identifiers for licenses like [L]GPL with the 'or later' option | |
94 | are constructed by using a "+" for indicating the 'or later' option.:: | |
95 | ||
96 | // SPDX-License-Identifier: GPL-2.0+ | |
97 | // SPDX-License-Identifier: LGPL-2.1+ | |
98 | ||
99 | WITH should be used when there is a modifier to a license needed. | |
100 | For example, the linux kernel UAPI files use the expression:: | |
101 | ||
102 | // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note | |
103 | // SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note | |
104 | ||
105 | Other examples using WITH exceptions found in the linux kernel are:: | |
106 | ||
107 | // SPDX-License-Identifier: GPL-2.0 WITH mif-exception | |
108 | // SPDX-License-Identifier: GPL-2.0+ WITH GCC-exception-2.0 | |
109 | ||
110 | Exceptions can only be used with particular License identifiers. The | |
111 | valid License identifiers are listed in the tags of the exception text | |
112 | file. | |
113 | ||
114 | OR should be used if the file is dual licensed and only one license is | |
115 | to be selected. For example, some dtsi files are available under dual | |
116 | licenses:: | |
117 | ||
118 | // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause | |
119 | ||
120 | Examples from U-Boot for license expressions in dual licensed files:: | |
121 | ||
122 | // SPDX-License-Identifier: GPL-2.0 OR MIT | |
123 | // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause | |
124 | ||
125 | AND should be used if the file has multiple licenses whose terms all | |
126 | apply to use the file. For example, if code is inherited from another | |
127 | project and permission has been given to put it in U-Boot, but the | |
128 | original license terms need to remain in effect:: | |
129 | ||
130 | // SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) AND MIT | |
131 | ||
132 | Another other example where both sets of license terms need to be | |
133 | adhered to is:: | |
134 | ||
135 | // SPDX-License-Identifier: GPL-1.0+ AND LGPL-2.1+ | |
136 | ||
eca3aeb3 WD |
137 | [1] http://spdx.org/ |
138 | [2] http://spdx.org/licenses/ | |
139 | ||
35084760 | 140 | Full name SPDX Identifier OSI Approved File name URI |
eca3aeb3 | 141 | ======================================================================================================================================= |
35084760 RM |
142 | GNU General Public License v2.0 only GPL-2.0 Y gpl-2.0.txt http://www.gnu.org/licenses/gpl-2.0.txt |
143 | GNU General Public License v2.0 or later GPL-2.0+ Y gpl-2.0.txt http://www.gnu.org/licenses/gpl-2.0.txt | |
144 | GNU Library General Public License v2 or later LGPL-2.0+ Y lgpl-2.0.txt http://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt | |
145 | GNU Lesser General Public License v2.1 or later LGPL-2.1+ Y lgpl-2.1.txt http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt | |
146 | eCos license version 2.0 eCos-2.0 eCos-2.0.txt http://www.gnu.org/licenses/ecos-license.html | |
cb3761ea WD |
147 | BSD 2-Clause License BSD-2-Clause Y bsd-2-clause.txt http://spdx.org/licenses/BSD-2-Clause |
148 | BSD 3-clause "New" or "Revised" License BSD-3-Clause Y bsd-3-clause.txt http://spdx.org/licenses/BSD-3-Clause#licenseText | |
1b387ef5 | 149 | IBM PIBS (PowerPC Initialization and IBM-pibs ibm-pibs.txt |
46263f2d | 150 | Boot Software) license |
c25a1784 | 151 | ISC License ISC Y isc.txt https://spdx.org/licenses/ISC |
0f4d2f8e | 152 | SIL OPEN FONT LICENSE (OFL-1.1) OFL-1.1 Y OFL.txt https://spdx.org/licenses/OFL-1.1.html |
40a39e87 | 153 | X11 License X11 x11.txt https://spdx.org/licenses/X11.html |