Re: [patch V5 00/11] LICENSES: Add documentation and initial License files

2017-12-29 Thread Philippe Ombredanne
Thomas,

On Thu, Dec 28, 2017 at 4:27 PM, Thomas Gleixner  wrote:
> This is the 5th version of the licensing rules documentation.
>
> Changes since v4:
>
>  - Made use of boilerplate consistently
>
>  - Fixed the 'braces' inconsistency spotted by Heiko
>
>  - Picked up Reviewed-by tags
>
> Delta patch vs. V4 below.
>
> Thanks to everyone who provided input!
>
> Thanks,
>
> tglx
>
> 8<---
> --- a/Documentation/process/license-rules.rst
> +++ b/Documentation/process/license-rules.rst
> @@ -34,8 +34,8 @@ into any source files which create an ex
>  kernel, the exception must be documented by a special license expression.
>
>  The common way of expressing the license of a source file is to add the
> -matching boiler plate text into the top comment of the file.  Due to
> -formatting, typos etc. these "boiler plates" are hard to validate for
> +matching boilerplate text into the top comment of the file.  Due to
> +formatting, typos etc. these "boilerplates" are hard to validate for
>  tools which are used in the context of license compliance.
>
>  An alternative to boilerplate text is the use of Software Package Data
> @@ -89,9 +89,11 @@ License identifier syntax
>  3. Syntax:
>
> A  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 "(", ")".
> +   identifier found on the SPDX License List, or the combination of two
> +   SPDX short form license identifiers separated by "WITH" when a license
> +   exception applies. When multiple licenses apply, an expression consists
> +   of keywords "AND", "OR" separating sub-expressions and surrounded by
> +   "(", ")" .
>
> License identifiers for licenses like [L]GPL with the 'or later' option
> are constructed by using a "+" for indicating the 'or later' option.::
> @@ -102,13 +104,13 @@ License identifier syntax
> WITH should be used when there is a modifier to a license needed.
> 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 WITH Linux-syscall-note
> +  // SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note
>
> Other examples using WITH exceptions found in the 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 WITH mif-exception
> +  // SPDX-License-Identifier: GPL-2.0+ 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
> @@ -119,28 +121,28 @@ License identifier syntax
> to be selected.  For example, some dtsi files are available under dual
> licenses::
>
> -  // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
> +  // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
>
> Examples from the kernel for license expressions in dual licensed files::
>
> -  // SPDX-License-Identifier: (GPL-2.0 OR MIT)
> -  // SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> -  // SPDX-License-Identifier: (GPL-2.0 OR Apache-2.0)
> -  // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
> -  // SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR MIT)
> -  // SPDX-License-Identifier: ((GPL-1.0+ OR BSD-3-Clause) OR OpenSSL)
> +  // SPDX-License-Identifier: GPL-2.0 OR MIT
> +  // SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
> +  // SPDX-License-Identifier: GPL-2.0 OR Apache-2.0
> +  // SPDX-License-Identifier: GPL-2.0 OR MPL-1.1
> +  // SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT
> +  // SPDX-License-Identifier: GPL-1.0+ OR BSD-3-Clause OR OpenSSL
>
> 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
> project and permission has been given to put it in the kernel, but the
> original license terms need to remain in effect::
>
> -  // SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) AND MIT)
> +  // SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) AND MIT
>
> 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+)
> +  // SPDX-License-Identifier: GPL-1.0+ AND LGPL-2.1+
>
>  License identifiers
>  ---
>
>

I reviewed carefully this updated V5 patch series.

Thank you for pulling this through and I wish you and all kernel
contributors a happy new year: 2018 is going to be The Year of The
Penguin [1] in 

Re: [patch V5 00/11] LICENSES: Add documentation and initial License files

2017-12-29 Thread Philippe Ombredanne
Thomas,

On Thu, Dec 28, 2017 at 4:27 PM, Thomas Gleixner  wrote:
> This is the 5th version of the licensing rules documentation.
>
> Changes since v4:
>
>  - Made use of boilerplate consistently
>
>  - Fixed the 'braces' inconsistency spotted by Heiko
>
>  - Picked up Reviewed-by tags
>
> Delta patch vs. V4 below.
>
> Thanks to everyone who provided input!
>
> Thanks,
>
> tglx
>
> 8<---
> --- a/Documentation/process/license-rules.rst
> +++ b/Documentation/process/license-rules.rst
> @@ -34,8 +34,8 @@ into any source files which create an ex
>  kernel, the exception must be documented by a special license expression.
>
>  The common way of expressing the license of a source file is to add the
> -matching boiler plate text into the top comment of the file.  Due to
> -formatting, typos etc. these "boiler plates" are hard to validate for
> +matching boilerplate text into the top comment of the file.  Due to
> +formatting, typos etc. these "boilerplates" are hard to validate for
>  tools which are used in the context of license compliance.
>
>  An alternative to boilerplate text is the use of Software Package Data
> @@ -89,9 +89,11 @@ License identifier syntax
>  3. Syntax:
>
> A  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 "(", ")".
> +   identifier found on the SPDX License List, or the combination of two
> +   SPDX short form license identifiers separated by "WITH" when a license
> +   exception applies. When multiple licenses apply, an expression consists
> +   of keywords "AND", "OR" separating sub-expressions and surrounded by
> +   "(", ")" .
>
> License identifiers for licenses like [L]GPL with the 'or later' option
> are constructed by using a "+" for indicating the 'or later' option.::
> @@ -102,13 +104,13 @@ License identifier syntax
> WITH should be used when there is a modifier to a license needed.
> 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 WITH Linux-syscall-note
> +  // SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note
>
> Other examples using WITH exceptions found in the 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 WITH mif-exception
> +  // SPDX-License-Identifier: GPL-2.0+ 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
> @@ -119,28 +121,28 @@ License identifier syntax
> to be selected.  For example, some dtsi files are available under dual
> licenses::
>
> -  // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
> +  // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
>
> Examples from the kernel for license expressions in dual licensed files::
>
> -  // SPDX-License-Identifier: (GPL-2.0 OR MIT)
> -  // SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> -  // SPDX-License-Identifier: (GPL-2.0 OR Apache-2.0)
> -  // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
> -  // SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR MIT)
> -  // SPDX-License-Identifier: ((GPL-1.0+ OR BSD-3-Clause) OR OpenSSL)
> +  // SPDX-License-Identifier: GPL-2.0 OR MIT
> +  // SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
> +  // SPDX-License-Identifier: GPL-2.0 OR Apache-2.0
> +  // SPDX-License-Identifier: GPL-2.0 OR MPL-1.1
> +  // SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT
> +  // SPDX-License-Identifier: GPL-1.0+ OR BSD-3-Clause OR OpenSSL
>
> 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
> project and permission has been given to put it in the kernel, but the
> original license terms need to remain in effect::
>
> -  // SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) AND MIT)
> +  // SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) AND MIT
>
> 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+)
> +  // SPDX-License-Identifier: GPL-1.0+ AND LGPL-2.1+
>
>  License identifiers
>  ---
>
>

I reviewed carefully this updated V5 patch series.

Thank you for pulling this through and I wish you and all kernel
contributors a happy new year: 2018 is going to be The Year of The
Penguin [1] in my personal revised