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 

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

2017-12-28 Thread Thomas Gleixner
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
 ---




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

2017-12-28 Thread Thomas Gleixner
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
 ---