Re: [patch V4 01/11] Documentation: Add license-rules.rst to describe how to properly identify file licenses

From: Heiko Carstens
Date: Tue Dec 05 2017 - 01:50:20 EST


On Mon, Dec 04, 2017 at 10:19:28PM +0100, Thomas Gleixner wrote:
> +3. Syntax:
> +
> + A <SPDX License Expression> is either an SPDX short form license
> + identifier found on the SPDX License List, or when multiple licenses
> + apply, an expression consisting of keywords "AND", "OR", and "WITH"
> + separating SPDX short form license identifiers surrounded by "(", ")".

Here it is stated that SPDX identifiers using the keyword WITH must be
surrounded by braces.

> + // SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note)
> + // SPDX-License-Identifier: (GPL-2.0+ WITH Linux-syscall-note)

Just like this example.

> + File format examples::
> +
> + SPDX-Exception-Identifier: Linux-syscall-note
> + SPDX-URL: https://spdx.org/licenses/Linux-syscall-note.html
> + SPDX-Licenses: GPL-2.0, GPL-2.0+, GPL-1.0+, LGPL-2.0, LGPL-2.0+, LGPL-2.1, LGPL-2.1+
> + Usage-Guidance:
> + This exception is used together with one of the above SPDX-Licenses
> + to mark user-space API (uapi) header files so they can be included
> + into non GPL compliant user-space application code.
> + 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 Linux-syscall-note

But here it comes without braces.

> + Exception-Text:
> + Full exception text
> +
> + ::
> +
> + SPDX-Exception-Identifier: GCC-exception-2.0
> + SPDX-URL: https://spdx.org/licenses/GCC-exception-2.0.html
> + SPDX-Licenses: GPL-2.0, GPL-2.0+
> + Usage-Guidance:
> + The "GCC Runtime Library exception 2.0" is used together with one
> + of the above SPDX-Licenses for code imported from the GCC runtime
> + library.
> + 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 GCC-exception-2.0

Here as well.

The whole kernel now got SPDX-License-Identifiers that look like this:

SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note

So this looks inconsistent to me, or did I miss something?