[PATCH 1/1] doc: move licenses to doc/

* Move all license texts to doc/ * Convert README to restructured text and rename to index.rst * Replace '+' suffix by '-or-later' suffix * The eCos-2.0 license is OSI approved.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com --- doc/develop/sending_patches.rst | 6 +- doc/index.rst | 1 + {Licenses => doc/licenses}/Exceptions | 0 {Licenses => doc/licenses}/OFL.txt | 0 {Licenses => doc/licenses}/bsd-2-clause.txt | 0 {Licenses => doc/licenses}/bsd-3-clause.txt | 0 {Licenses => doc/licenses}/bzip2-1.0.6.txt | 0 {Licenses => doc/licenses}/eCos-2.0.txt | 0 {Licenses => doc/licenses}/gpl-2.0.txt | 0 {Licenses => doc/licenses}/ibm-pibs.txt | 0 Licenses/README => doc/licenses/index.rst | 198 ++++++++++++++------ {Licenses => doc/licenses}/isc.txt | 0 {Licenses => doc/licenses}/lgpl-2.0.txt | 0 {Licenses => doc/licenses}/lgpl-2.1.txt | 0 {Licenses => doc/licenses}/mit.txt | 0 {Licenses => doc/licenses}/r8a779x_usb3.txt | 0 {Licenses => doc/licenses}/x11.txt | 0 17 files changed, 142 insertions(+), 63 deletions(-) rename {Licenses => doc/licenses}/Exceptions (100%) rename {Licenses => doc/licenses}/OFL.txt (100%) rename {Licenses => doc/licenses}/bsd-2-clause.txt (100%) rename {Licenses => doc/licenses}/bsd-3-clause.txt (100%) rename {Licenses => doc/licenses}/bzip2-1.0.6.txt (100%) rename {Licenses => doc/licenses}/eCos-2.0.txt (100%) rename {Licenses => doc/licenses}/gpl-2.0.txt (100%) rename {Licenses => doc/licenses}/ibm-pibs.txt (100%) rename Licenses/README => doc/licenses/index.rst (45%) rename {Licenses => doc/licenses}/isc.txt (100%) rename {Licenses => doc/licenses}/lgpl-2.0.txt (100%) rename {Licenses => doc/licenses}/lgpl-2.1.txt (100%) rename {Licenses => doc/licenses}/mit.txt (100%) rename {Licenses => doc/licenses}/r8a779x_usb3.txt (100%) rename {Licenses => doc/licenses}/x11.txt (100%)
diff --git a/doc/develop/sending_patches.rst b/doc/develop/sending_patches.rst index ee6e34089b5..390d466dadc 100644 --- a/doc/develop/sending_patches.rst +++ b/doc/develop/sending_patches.rst @@ -305,10 +305,10 @@ Notes 1. U-Boot is Free Software that can redistributed and/or modified under the terms of the `GNU General Public License http://www.fsf.org/licensing/licenses/gpl.html`_ (GPL). Currently (August - 2022) version 2 of the GPL applies. Please see :download:`Licensing - <../../Licenses/README>` for details. To allow that later versions of U-Boot + 2022) version 2 of the GPL applies. Please see :doc:`Licensing + <../licenses/index>` for details. To allow that later versions of U-Boot may be released under a later version of the GPL, all new code that gets - added to U-Boot shall use a "GPL-2.0+" SPDX-License-Identifier. + added to U-Boot shall use a "GPL-2.0-or-later" SPDX-License-Identifier.
2. All code must follow the :doc:`codingstyle` requirements.
diff --git a/doc/index.rst b/doc/index.rst index 43398627d89..ffb1d1c97ff 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -38,6 +38,7 @@ want to contribute to U-Boot. :maxdepth: 2
develop/index + licenses/index
U-Boot API documentation diff --git a/Licenses/Exceptions b/doc/licenses/Exceptions similarity index 100% rename from Licenses/Exceptions rename to doc/licenses/Exceptions diff --git a/Licenses/OFL.txt b/doc/licenses/OFL.txt similarity index 100% rename from Licenses/OFL.txt rename to doc/licenses/OFL.txt diff --git a/Licenses/bsd-2-clause.txt b/doc/licenses/bsd-2-clause.txt similarity index 100% rename from Licenses/bsd-2-clause.txt rename to doc/licenses/bsd-2-clause.txt diff --git a/Licenses/bsd-3-clause.txt b/doc/licenses/bsd-3-clause.txt similarity index 100% rename from Licenses/bsd-3-clause.txt rename to doc/licenses/bsd-3-clause.txt diff --git a/Licenses/bzip2-1.0.6.txt b/doc/licenses/bzip2-1.0.6.txt similarity index 100% rename from Licenses/bzip2-1.0.6.txt rename to doc/licenses/bzip2-1.0.6.txt diff --git a/Licenses/eCos-2.0.txt b/doc/licenses/eCos-2.0.txt similarity index 100% rename from Licenses/eCos-2.0.txt rename to doc/licenses/eCos-2.0.txt diff --git a/Licenses/gpl-2.0.txt b/doc/licenses/gpl-2.0.txt similarity index 100% rename from Licenses/gpl-2.0.txt rename to doc/licenses/gpl-2.0.txt diff --git a/Licenses/ibm-pibs.txt b/doc/licenses/ibm-pibs.txt similarity index 100% rename from Licenses/ibm-pibs.txt rename to doc/licenses/ibm-pibs.txt diff --git a/Licenses/README b/doc/licenses/index.rst similarity index 45% rename from Licenses/README rename to doc/licenses/index.rst index d09f0fe2cb8..fabf4a82bdb 100644 --- a/Licenses/README +++ b/doc/licenses/index.rst @@ -1,6 +1,9 @@ -SPDX-License-Identifier: GPL-2.0 +.. SPDX-License-Identifier: GPL-2.0
- U-Boot is Free Software. It is copyrighted by Wolfgang Denk and +Licenses +======== + +U-Boot is Free Software. It is copyrighted by Wolfgang Denk and many others who contributed code (see the actual source code and the git commit messages for details). You can redistribute U-Boot and/or modify it under the terms of version 2 of the GNU General Public @@ -8,21 +11,21 @@ License as published by the Free Software Foundation. Most of it can also be distributed, at your option, under any later version of the GNU General Public License -- see individual files for exceptions.
- NOTE! This license does *not* cover the so-called "standalone" -applications that use U-Boot services by means of the jump table -provided by U-Boot exactly for this purpose - this is merely -considered normal use of U-Boot, and does *not* fall under the -heading of "derived work" -- see file Licenses/Exceptions for -details. +.. note::
- Also note that the GPL and the other licenses are copyrighted by -the Free Software Foundation and other organizations, but the -instance of code that they refer to (the U-Boot source code) is -copyrighted by me and others who actually wrote it. --- Wolfgang Denk + This license does **not** cover the so-called "standalone" + applications that use U-Boot services by means of the jump table + provided by U-Boot exactly for this purpose - this is merely + considered normal use of U-Boot, and does **not** fall under the + heading of "derived work" -- see file Licenses/Exceptions for + details.
+ Also note that the GPL and the other licenses are copyrighted by + the Free Software Foundation and other organizations, but the + instance of code that they refer to (the U-Boot source code) is + copyrighted by the authors who actually wrote it.
-Like many other projects, U-Boot has a tradition of including big +Like many other projects, U-Boot had a tradition of including big blocks of License headers in all files. This not only blows up the source code with mostly redundant information, but also makes it very difficult to generate License Clearing Reports. An additional problem @@ -31,20 +34,22 @@ slightly varying text blocks (full, abbreviated, different indentation, line wrapping and/or white space, with obsolete address information, ...) which makes automatic processing a nightmare.
-To make this easier, such license headers in the source files will be +To make this easier, such license headers in the source files are replaced with a single line reference to Unique License Identifiers -as defined by the Linux Foundation's SPDX project [1]. +as defined by the Linux Foundation's `SPDX project http://spdx.org/`_.
If a "SPDX-License-Identifier:" line references more than one Unique License Identifier, then this means that the respective file can be used under the terms of either of these licenses, i. e. with
- SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause +.. code-block:: text + + SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause
-you can choose between GPL-2.0+ and BSD-3-Clause licensing. +you can choose between GPL-2.0-or-later and BSD-3-Clause licensing.
-We use the SPDX Unique License Identifiers here; these are available -at [2]. +We use the SPDX Unique License Identifiers here. These are available +at `http://spdx.org/licenses/`_.
License identifier syntax ------------------------- @@ -57,19 +62,40 @@ License identifier syntax '#!PATH_TO_INTERPRETER' in the first line. For those scripts the SPDX identifier goes into the second line.
-| - 2. Style:
The SPDX license identifier is added in form of a comment. The comment - style depends on the file type:: + style depends on the file type: + + .. list-table:: + :header-rows: 1 + + * - File type + - Comment line + * - C source (*.c) + - ::
- C source: // SPDX-License-Identifier: <SPDX License Expression> - C header: /* SPDX-License-Identifier: <SPDX License Expression> */ - ASM: /* SPDX-License-Identifier: <SPDX License Expression> */ - scripts: # SPDX-License-Identifier: <SPDX License Expression> - .rst: .. SPDX-License-Identifier: <SPDX License Expression> - .dts{i}: // SPDX-License-Identifier: <SPDX License Expression> + // SPDX-License-Identifier: <SPDX License Expression> + * - C header (*.h) + - :: + + /* SPDX-License-Identifier: <SPDX License Expression> */ + * - Assembler (*.S) + - :: + + /* SPDX-License-Identifier: <SPDX License Expression> */ + * - Scripts (*.py, *.sh) + - :: + + # SPDX-License-Identifier: <SPDX License Expression> + * - Restructured text (*.rst) + - :: + + .. SPDX-License-Identifier: <SPDX License Expression> + * - Device-tree source (*.dts, *.dtsi) + - :: + + // SPDX-License-Identifier: <SPDX License Expression>
If a specific tool cannot handle the standard comment style, then the appropriate comment mechanism which the tool accepts shall be used. This @@ -79,8 +105,6 @@ License identifier syntax there are still older assembler tools which cannot handle C++ style comments.
-| - 3. Syntax:
A <SPDX License Expression> is either an SPDX short form license @@ -91,21 +115,21 @@ License identifier syntax "(", ")" .
License identifiers for licenses like [L]GPL with the 'or later' option - are constructed by using a "+" for indicating the 'or later' option.:: + are constructed by appending "-or-later"::
- // SPDX-License-Identifier: GPL-2.0+ - // SPDX-License-Identifier: LGPL-2.1+ + // SPDX-License-Identifier: GPL-2.0-or-later + // SPDX-License-Identifier: LGPL-2.1-or-later
WITH should be used when there is a modifier to a license needed. - For example, the linux kernel UAPI files use the expression:: + For example, the Linux kernel UAPI files use the expression::
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note - // SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note + // SPDX-License-Identifier: GPL-2.0-or-later WITH Linux-syscall-note
- Other examples using WITH exceptions found in the linux kernel are:: + Other examples using WITH exceptions found in the Linux kernel are::
// SPDX-License-Identifier: GPL-2.0 WITH mif-exception - // SPDX-License-Identifier: GPL-2.0+ WITH GCC-exception-2.0 + // SPDX-License-Identifier: GPL-2.0-or-later WITH GCC-exception-2.0
Exceptions can only be used with particular License identifiers. The valid License identifiers are listed in the tags of the exception text @@ -120,7 +144,7 @@ License identifier syntax Examples from U-Boot for license expressions in dual licensed files::
// SPDX-License-Identifier: GPL-2.0 OR MIT - // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause + // SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause
AND should be used if the file has multiple licenses whose terms all apply to use the file. For example, if code is inherited from another @@ -132,24 +156,78 @@ License identifier syntax Another other example where both sets of license terms need to be adhered to is::
- // SPDX-License-Identifier: GPL-1.0+ AND LGPL-2.1+ - -[1] http://spdx.org/ -[2] http://spdx.org/licenses/ - -Full name SPDX Identifier OSI Approved File name URI -======================================================================================================================================= -bzip2 and libbzip2 License v1.0.6 bzip2-1.0.6 bzip2-1.0.6.txt https://spdx.org/licenses/bzip2-1.0.6.html -GNU General Public License v2.0 only GPL-2.0 Y gpl-2.0.txt http://www.gnu.org/licenses/gpl-2.0.txt -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 -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 -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 -eCos license version 2.0 eCos-2.0 eCos-2.0.txt http://www.gnu.org/licenses/ecos-license.html -BSD 2-Clause License BSD-2-Clause Y bsd-2-clause.txt http://spdx.org/licenses/BSD-2-Clause -BSD 3-clause "New" or "Revised" License BSD-3-Clause Y bsd-3-clause.txt http://spdx.org/licenses/BSD-3-Clause#licenseText -IBM PIBS (PowerPC Initialization and IBM-pibs ibm-pibs.txt - Boot Software) license -ISC License ISC Y isc.txt https://spdx.org/licenses/ISC -MIT License MIT Y mit.txt https://spdx.org/licenses/MIT.html -SIL OPEN FONT LICENSE (OFL-1.1) OFL-1.1 Y OFL.txt https://spdx.org/licenses/OFL-1.1.html -X11 License X11 x11.txt https://spdx.org/licenses/X11.html + // SPDX-License-Identifier: GPL-1.0-or-later AND LGPL-2.1-or-later + +.. list-table:: + :header-rows: 1 + + * - Full name + - SPDX Identifier + - OSI Approved + - File name + - URI + * - bzip2 and libbzip2 License v1.0.6 + - bzip2-1.0.6 + - + - :download:`bzip2-1.0.6.txt` + - https://spdx.org/licenses/bzip2-1.0.6.html + * - GNU General Public License v2.0 only + - GPL-2.0-only + - yes + - :download:`gpl-2.0.txt` + - http://www.gnu.org/licenses/gpl-2.0.txt + * - GNU General Public License v2.0 or later + - GPL-2.0-or-later + - yes + - :download:`gpl-2.0.txt` + - http://www.gnu.org/licenses/gpl-2.0.txt + * - GNU Library General Public License v2 or later + - LGPL-2.0-or-later + - yes + - :download:`lgpl-2.0.txt` + - http://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt + * - GNU Lesser General Public License v2.1 or later + - LGPL-2.1-or-later + - yes + - :download:`lgpl-2.1.txt` + - http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt + * - eCos license version 2.0 + - eCos-2.0 + - yes (non-reusable) + - eCos-2.0.txt` + - http://www.gnu.org/licenses/ecos-license.html + * - BSD 2-Clause License + - BSD-2-Clause + - yes + - :download:`bsd-2-clause.txt` + - http://spdx.org/licenses/BSD-2-Clause + * - BSD 3-clause "New" or "Revised" License + - BSD-3-Clause + - yes + - :download:`bsd-3-clause.txt` + - http://spdx.org/licenses/BSD-3-Clause#licenseText + * - IBM PIBS (PowerPC Initialization and Boot Software) license + - IBM-pibs + - + - :download:`ibm-pibs.txt` + - + * - ISC License + - ISC + - yes + - :download:`isc.txt` + - https://spdx.org/licenses/ISC + * - MIT License + - MIT + - yes + - :download:`mit.txt` + - https://spdx.org/licenses/MIT.html + * - SIL Open Font License (OFL) version 1.1 + - OFL-1.1 + - yes + - :download:`OFL.txt` + - https://spdx.org/licenses/OFL-1.1.html + * - X11 License + - X11 + - + - :download:`x11.txt` + - https://spdx.org/licenses/X11.html diff --git a/Licenses/isc.txt b/doc/licenses/isc.txt similarity index 100% rename from Licenses/isc.txt rename to doc/licenses/isc.txt diff --git a/Licenses/lgpl-2.0.txt b/doc/licenses/lgpl-2.0.txt similarity index 100% rename from Licenses/lgpl-2.0.txt rename to doc/licenses/lgpl-2.0.txt diff --git a/Licenses/lgpl-2.1.txt b/doc/licenses/lgpl-2.1.txt similarity index 100% rename from Licenses/lgpl-2.1.txt rename to doc/licenses/lgpl-2.1.txt diff --git a/Licenses/mit.txt b/doc/licenses/mit.txt similarity index 100% rename from Licenses/mit.txt rename to doc/licenses/mit.txt diff --git a/Licenses/r8a779x_usb3.txt b/doc/licenses/r8a779x_usb3.txt similarity index 100% rename from Licenses/r8a779x_usb3.txt rename to doc/licenses/r8a779x_usb3.txt diff --git a/Licenses/x11.txt b/doc/licenses/x11.txt similarity index 100% rename from Licenses/x11.txt rename to doc/licenses/x11.txt

Hi Heinrich,
On 1/1/25 12:19 PM, Heinrich Schuchardt wrote:
- Move all license texts to doc/
- Convert README to restructured text and rename to index.rst
- Replace '+' suffix by '-or-later' suffix
- The eCos-2.0 license is OSI approved.
When one lists things done in a commit, it usually highlights those should be separate commits, so please do have this split.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
doc/develop/sending_patches.rst | 6 +- doc/index.rst | 1 + {Licenses => doc/licenses}/Exceptions | 0
I don't think this move is a good idea.
Reading this from the source code, I would believe those are licenses applicable to the docs, not the whole source code.
Cheers, Quentin
participants (2)
-
Heinrich Schuchardt
-
Quentin Schulz