openocd: src: replace the GPL with eCos exception 2.0 license tag
authorAntonio Borneo <borneo.antonio@gmail.com>
Mon, 27 Jun 2022 13:44:05 +0000 (15:44 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 23 Jul 2022 13:14:44 +0000 (13:14 +0000)
Add the license exception text in the license pool.
Add the exception chapter in license-rules.txt
Replace the boilerplate with the SPDX tag.

The SPDX tag on files *.c is incorrect, as it should use the C99
single line comment using '//'. But current checkpatch doesn't
allow C99 comments, so keep using standard C comments, by now.

Change-Id: Ied513b7c9c0722ed2a9c11dbdff3fbf59f1b41ce
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7061
Tested-by: jenkins
LICENSES/exceptions/eCos-exception-2.0 [new file with mode: 0644]
LICENSES/license-rules.txt
Makefile.am
src/flash/nand/ecc.c

diff --git a/LICENSES/exceptions/eCos-exception-2.0 b/LICENSES/exceptions/eCos-exception-2.0
new file mode 100644 (file)
index 0000000..d21109f
--- /dev/null
@@ -0,0 +1,20 @@
+SPDX-Exception-Identifier: eCos-exception-2.0
+SPDX-URL: https://spdx.org/licenses/eCos-exception-2.0.html
+SPDX-Licenses: GPL-2.0-only, GPL-2.0-or-later
+Usage-Guide:
+  This exception is used together with one of the above SPDX-Licenses.
+  To use this exception add it with the keyword WITH to one of the
+  identifiers in the SPDX-Licenses tag:
+    SPDX-License-Identifier: <SPDX-License> WITH eCos-exception-2.0
+License-Text:
+
+As a special exception, if other files instantiate templates or use
+macros or inline functions from this file, or you compile this
+file and link it with other works to produce a work based on this
+file, this file does not by itself cause the resulting work to be
+covered by the GNU General Public License. However the source code for
+this file must still be made available in accordance with section (3)
+of the GNU General Public License.
+
+This exception does not invalidate any other reasons why a work based on
+this file might be covered by the GNU General Public License.
index 8d0c0a0ee93e24319a88c54c3de11d1f980aada7..c75192930d29c1f96a327e7084514ba217d9fbde 100644 (file)
@@ -190,7 +190,64 @@ OpenOCD, can be broken down into:
       License-Text:
         Full license text
 
-2. Stand-alone licenses:
+2. Exceptions:
+
+   Some licenses can be amended with exceptions which grant certain rights
+   which the original license does not.  These exceptions are available
+   from the directory::
+
+      LICENSES/exceptions/
+
+   in the OpenOCD source tree.  The files in this directory contain the full
+   exception text and the required `Exception Metatags`_.
+
+   Examples::
+
+      LICENSES/exceptions/eCos-exception-2.0
+
+   Exception Metatags:
+
+   The following meta tags must be available in an exception file:
+
+   - SPDX-Exception-Identifier:
+
+     One exception identifier which can be used with SPDX license
+     identifiers.
+
+   - SPDX-URL:
+
+     The URL of the SPDX page which contains additional information related
+     to the exception.
+
+   - SPDX-Licenses:
+
+     A comma separated list of SPDX license identifiers for which the
+     exception can be used.
+
+   - Usage-Guidance:
+
+     Freeform text for usage advice. The text must be followed by correct
+     examples for the SPDX license identifiers as they should be put into
+     source files according to the `License identifier syntax`_ guidelines.
+
+   - Exception-Text:
+
+     All text after this tag is treated as the original exception text
+
+   File format examples::
+
+      SPDX-Exception-Identifier: eCos-exception-2.0
+      SPDX-URL: https://spdx.org/licenses/eCos-exception-2.0.html
+      SPDX-Licenses: GPL-2.0-only, GPL-2.0-or-later
+      Usage-Guide:
+        This exception is used together with one of the above SPDX-Licenses.
+        To use this exception add it with the keyword WITH to one of the
+        identifiers in the SPDX-Licenses tag:
+          SPDX-License-Identifier: <SPDX-License> WITH eCos-exception-2.0
+      License-Text:
+        Full license text
+
+3. Stand-alone licenses:
 
    These licenses should only be used for stand-alone applications that are
    distributed with OpenOCD but are not included in the OpenOCD binary.
index fe9130d7ab6848687bed7564332c486b5034ee51..469585d093c2d7dfc7fcc50c58277611c40f8a8a 100644 (file)
@@ -54,6 +54,7 @@ EXTRA_DIST += \
        $(EXTRA_DIST_NEWS) \
        Doxyfile.in \
        LICENSES/license-rules.txt \
+       LICENSES/exceptions/eCos-exception-2.0 \
        LICENSES/preferred/BSD-1-Clause \
        LICENSES/preferred/BSD-2-Clause \
        LICENSES/preferred/BSD-2-Clause-Views \
index 25b2eb10e319b3fbcafa0de592e7beabc0f2cd3b..c6ef20b4cf47f1652126016e9a7b41cdfb191279 100644 (file)
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later WITH eCos-exception-2.0 */
+
 /*
  * This file contains an ECC algorithm from Toshiba that allows for detection
  * and correction of 1-bit errors in a 256 byte block of data.
  *                         Toshiba America Electronics Components, Inc.
  *
  * Copyright (C) 2006 Thomas Gleixner <tglx at linutronix.de>
- *
- * This file is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 or (at your option) any
- * later version.
- *
- * This file is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- * As a special exception, if other files instantiate templates or use
- * macros or inline functions from these files, or you compile these
- * files and link them with other works to produce a work based on these
- * files, these files do not by themselves cause the resulting work to be
- * covered by the GNU General Public License. However the source code for
- * these files must still be made available in accordance with section (3)
- * of the GNU General Public License.
- *
- * This exception does not invalidate any other reasons why a work based on
- * this file might be covered by the GNU General Public License.
  */
 
 #ifdef HAVE_CONFIG_H