diff mbox series

[1/8] crypto: Convert dual BSD 3-Clause/GPL 2.0 boilerplate to SPDX identifier

Message ID 20230607053940.39078-11-bagasdotme@gmail.com (mailing list archive)
State Changes Requested
Delegated to: Herbert Xu
Headers show
Series SPDX conversion for cryptographic algorithms | expand

Commit Message

Bagas Sanjaya June 7, 2023, 5:39 a.m. UTC
Replace license boilerplate for dual BSD-3-Clause/GPL 2.0 (only or
later) with corresponding SPDX license identifier.

Cc: Alexander Kjeldaas <astor@fast.no>
Cc: Herbert Valerio Riedel <hvr@hvrlab.org>
Cc: Kyle McMartin <kyle@debian.org>
Cc: Adam J. Richter <adam@yggdrasil.com>
Cc: Dr Brian Gladman <brg@gladman.me.uk>
Cc: Stephan Mueller <smueller@chronox.de>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
---
 crypto/aes_generic.c         | 31 +------------------------------
 crypto/algif_rng.c           | 33 +--------------------------------
 crypto/jitterentropy-kcapi.c | 32 +-------------------------------
 crypto/jitterentropy.c       | 35 +----------------------------------
 crypto/keywrap.c             | 32 +-------------------------------
 5 files changed, 5 insertions(+), 158 deletions(-)

Comments

Richard Fontana June 7, 2023, 2:10 p.m. UTC | #1
On Wed, Jun 7, 2023 at 1:42 AM Bagas Sanjaya <bagasdotme@gmail.com> wrote:
>
> Replace license boilerplate for dual BSD-3-Clause/GPL 2.0 (only or
> later) with corresponding SPDX license identifier.

This is at least the fourth or fifth time (I'm losing track) where you
have incorrectly assumed a particular non-GPL license text matches a
particular SPDX identifier without (apparently) checking.

Bagas, I urge that you learn more about the nature of SPDX identifiers
before submitting any further patches at least involving replacement
of non-GPL notices with SPDX identifiers. For this unprecedented
license notice replacement initiative to have any legitimacy it must
attempt to apply SPDX identifiers correctly.

> diff --git a/crypto/aes_generic.c b/crypto/aes_generic.c
> index 666474b81c6aa5..2e042bd306f9c5 100644
> --- a/crypto/aes_generic.c
> +++ b/crypto/aes_generic.c
> @@ -1,3 +1,4 @@
> +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later
>  /*
>   * Cryptographic API.
>   *
> @@ -11,39 +12,9 @@
>   *  Kyle McMartin <kyle@debian.org>
>   *  Adam J. Richter <adam@yggdrasil.com> (conversion to 2.5 API).
>   *
> - * This program 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 of the License, or
> - * (at your option) any later version.
> - *
>   * ---------------------------------------------------------------------------
>   * Copyright (c) 2002, Dr Brian Gladman <brg@gladman.me.uk>, Worcester, UK.
>   * All rights reserved.
> - *
> - * LICENSE TERMS
> - *
> - * The free distribution and use of this software in both source and binary
> - * form is allowed (with or without changes) provided that:
> - *
> - *   1. distributions of this source code include the above copyright
> - *      notice, this list of conditions and the following disclaimer;
> - *
> - *   2. distributions in binary form include the above copyright
> - *      notice, this list of conditions and the following disclaimer
> - *      in the documentation and/or other associated materials;
> - *
> - *   3. the copyright holder's name is not used to endorse products
> - *      built using this software without specific written permission.
> - *
> - * ALTERNATIVELY, provided that this notice is retained in full, this product
> - * may be distributed under the terms of the GNU General Public License (GPL),
> - * in which case the provisions of the GPL apply INSTEAD OF those given above.
> - *
> - * DISCLAIMER
> - *
> - * This software is provided 'as is' with no explicit or implied warranties
> - * in respect of its properties, including, but not limited to, correctness
> - * and/or fitness for purpose.
>   * ---------------------------------------------------------------------------

This is not BSD-3-Clause as defined by SPDX. It may be a match to
`Brian-Gladman-3-Clause` but I haven't checked closely.

> diff --git a/crypto/algif_rng.c b/crypto/algif_rng.c
> index 407408c437308f..4d4b9e60f72c19 100644
> --- a/crypto/algif_rng.c
> +++ b/crypto/algif_rng.c
> @@ -1,41 +1,10 @@
> +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
>  /*
>   * algif_rng: User-space interface for random number generators
>   *
>   * This file provides the user-space API for random number generators.
>   *
>   * Copyright (C) 2014, Stephan Mueller <smueller@chronox.de>
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, and the entire permission notice in its entirety,
> - *    including the disclaimer of warranties.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - * 3. The name of the author may not be used to endorse or promote
> - *    products derived from this software without specific prior
> - *    written permission.
> - *
> - * ALTERNATIVELY, this product may be distributed under the terms of
> - * the GNU General Public License, in which case the provisions of the GPL2
> - * are required INSTEAD OF the above restrictions.  (This clause is
> - * necessary due to a potential bad interaction between the GPL and
> - * the restrictions contained in a BSD-style copyright.)
> - *
> - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
> - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
> - * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
> - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
> - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
> - * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
> - * DAMAGE.
>   */

The BSD portion of this license notice is not a match to BSD-3-Clause
(see my comment on another patch which I think had the same license
text).




>  #include <linux/capability.h>
> diff --git a/crypto/jitterentropy-kcapi.c b/crypto/jitterentropy-kcapi.c
> index 7d1463a1562acb..78230ce74fc840 100644
> --- a/crypto/jitterentropy-kcapi.c
> +++ b/crypto/jitterentropy-kcapi.c
> @@ -1,40 +1,10 @@
> +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
>  /*
>   * Non-physical true random number generator based on timing jitter --
>   * Linux Kernel Crypto API specific code
>   *
>   * Copyright Stephan Mueller <smueller@chronox.de>, 2015 - 2023
>   *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, and the entire permission notice in its entirety,
> - *    including the disclaimer of warranties.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - * 3. The name of the author may not be used to endorse or promote
> - *    products derived from this software without specific prior
> - *    written permission.
> - *
> - * ALTERNATIVELY, this product may be distributed under the terms of
> - * the GNU General Public License, in which case the provisions of the GPL2 are
> - * required INSTEAD OF the above restrictions.  (This clause is
> - * necessary due to a potential bad interaction between the GPL and
> - * the restrictions contained in a BSD-style copyright.)
> - *
> - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
> - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
> - * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
> - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
> - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
> - * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
> - * DAMAGE.

Also not a match to BSD-3-Clause.


>  #include <crypto/hash.h>
> diff --git a/crypto/jitterentropy.c b/crypto/jitterentropy.c
> index c7d7f2caa7793b..c8437bd20dc903 100644
> --- a/crypto/jitterentropy.c
> +++ b/crypto/jitterentropy.c
> @@ -1,3 +1,4 @@
> +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
>  /*
>   * Non-physical true random number generator based on timing jitter --
>   * Jitter RNG standalone code.
> @@ -9,40 +10,6 @@
>   *
>   * See https://www.chronox.de/jent.html
>   *
> - * License
> - * =======
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, and the entire permission notice in its entirety,
> - *    including the disclaimer of warranties.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - * 3. The name of the author may not be used to endorse or promote
> - *    products derived from this software without specific prior
> - *    written permission.
> - *
> - * ALTERNATIVELY, this product may be distributed under the terms of
> - * the GNU General Public License, in which case the provisions of the GPL2 are
> - * required INSTEAD OF the above restrictions.  (This clause is
> - * necessary due to a potential bad interaction between the GPL and
> - * the restrictions contained in a BSD-style copyright.)
> - *
> - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
> - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
> - * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
> - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
> - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
> - * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
> - * DAMAGE.

Also not a match to BSD-3-Clause.


> diff --git a/crypto/keywrap.c b/crypto/keywrap.c
> index 054d9a216fc9f3..8c51235a91a9ae 100644
> --- a/crypto/keywrap.c
> +++ b/crypto/keywrap.c
> @@ -1,39 +1,9 @@
> +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
>  /*
>   * Key Wrapping: RFC3394 / NIST SP800-38F
>   *
>   * Copyright (C) 2015, Stephan Mueller <smueller@chronox.de>
>   *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - * 1. Redistributions of source code must retain the above copyright
> - *    notice, and the entire permission notice in its entirety,
> - *    including the disclaimer of warranties.
> - * 2. Redistributions in binary form must reproduce the above copyright
> - *    notice, this list of conditions and the following disclaimer in the
> - *    documentation and/or other materials provided with the distribution.
> - * 3. The name of the author may not be used to endorse or promote
> - *    products derived from this software without specific prior
> - *    written permission.
> - *
> - * ALTERNATIVELY, this product may be distributed under the terms of
> - * the GNU General Public License, in which case the provisions of the GPL2
> - * are required INSTEAD OF the above restrictions.  (This clause is
> - * necessary due to a potential bad interaction between the GPL and
> - * the restrictions contained in a BSD-style copyright.)
> - *
> - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
> - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
> - * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
> - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
> - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
> - * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
> - * DAMAGE.

Also not a match to BSD-3-Clause.

Richard
Bagas Sanjaya June 8, 2023, 5:56 a.m. UTC | #2
On Wed, Jun 07, 2023 at 10:10:34AM -0400, Richard Fontana wrote:
> On Wed, Jun 7, 2023 at 1:42 AM Bagas Sanjaya <bagasdotme@gmail.com> wrote:
> >
> > Replace license boilerplate for dual BSD-3-Clause/GPL 2.0 (only or
> > later) with corresponding SPDX license identifier.
> 
> This is at least the fourth or fifth time (I'm losing track) where you
> have incorrectly assumed a particular non-GPL license text matches a
> particular SPDX identifier without (apparently) checking.
> 
> Bagas, I urge that you learn more about the nature of SPDX identifiers
> before submitting any further patches at least involving replacement
> of non-GPL notices with SPDX identifiers. For this unprecedented
> license notice replacement initiative to have any legitimacy it must
> attempt to apply SPDX identifiers correctly.
> 
> > diff --git a/crypto/aes_generic.c b/crypto/aes_generic.c
> > index 666474b81c6aa5..2e042bd306f9c5 100644
> > --- a/crypto/aes_generic.c
> > +++ b/crypto/aes_generic.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later
> >  /*
> >   * Cryptographic API.
> >   *
> > @@ -11,39 +12,9 @@
> >   *  Kyle McMartin <kyle@debian.org>
> >   *  Adam J. Richter <adam@yggdrasil.com> (conversion to 2.5 API).
> >   *
> > - * This program 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 of the License, or
> > - * (at your option) any later version.
> > - *
> >   * ---------------------------------------------------------------------------
> >   * Copyright (c) 2002, Dr Brian Gladman <brg@gladman.me.uk>, Worcester, UK.
> >   * All rights reserved.
> > - *
> > - * LICENSE TERMS
> > - *
> > - * The free distribution and use of this software in both source and binary
> > - * form is allowed (with or without changes) provided that:
> > - *
> > - *   1. distributions of this source code include the above copyright
> > - *      notice, this list of conditions and the following disclaimer;
> > - *
> > - *   2. distributions in binary form include the above copyright
> > - *      notice, this list of conditions and the following disclaimer
> > - *      in the documentation and/or other associated materials;
> > - *
> > - *   3. the copyright holder's name is not used to endorse products
> > - *      built using this software without specific written permission.
> > - *

Hi Richard,

> > - * ALTERNATIVELY, provided that this notice is retained in full, this product
> > - * may be distributed under the terms of the GNU General Public License (GPL),
> > - * in which case the provisions of the GPL apply INSTEAD OF those given above.
> > - *
> > - * DISCLAIMER
> > - *
> > - * This software is provided 'as is' with no explicit or implied warranties
> > - * in respect of its properties, including, but not limited to, correctness
> > - * and/or fitness for purpose.
> >   * ---------------------------------------------------------------------------
> 
> This is not BSD-3-Clause as defined by SPDX. It may be a match to
> `Brian-Gladman-3-Clause` but I haven't checked closely.
> 
> > diff --git a/crypto/algif_rng.c b/crypto/algif_rng.c
> > index 407408c437308f..4d4b9e60f72c19 100644
> > --- a/crypto/algif_rng.c
> > +++ b/crypto/algif_rng.c
> > @@ -1,41 +1,10 @@
> > +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
> >  /*
> >   * algif_rng: User-space interface for random number generators
> >   *
> >   * This file provides the user-space API for random number generators.
> >   *
> >   * Copyright (C) 2014, Stephan Mueller <smueller@chronox.de>
> > - *
> > - * Redistribution and use in source and binary forms, with or without
> > - * modification, are permitted provided that the following conditions
> > - * are met:
> > - * 1. Redistributions of source code must retain the above copyright
> > - *    notice, and the entire permission notice in its entirety,
> > - *    including the disclaimer of warranties.
> > - * 2. Redistributions in binary form must reproduce the above copyright
> > - *    notice, this list of conditions and the following disclaimer in the
> > - *    documentation and/or other materials provided with the distribution.
> > - * 3. The name of the author may not be used to endorse or promote
> > - *    products derived from this software without specific prior
> > - *    written permission.
> > - *
> > - * ALTERNATIVELY, this product may be distributed under the terms of
> > - * the GNU General Public License, in which case the provisions of the GPL2
> > - * are required INSTEAD OF the above restrictions.  (This clause is
> > - * necessary due to a potential bad interaction between the GPL and
> > - * the restrictions contained in a BSD-style copyright.)
> > - *
> > - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
> > - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> > - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
> > - * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
> > - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> > - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
> > - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> > - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> > - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
> > - * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
> > - * DAMAGE.
> >   */
> 
> The BSD portion of this license notice is not a match to BSD-3-Clause
> (see my comment on another patch which I think had the same license
> text).

At the time, I guessed that boilerplate wording have the same meaning as
the actual BSD 3-Clause license.

(And no wonder why this file missed previous SPDX batches).

tglx, I'm adding you to Cc:. Please have a look on this (and following
below) BSD wording variants.

> 
> 
> 
> 
> >  #include <linux/capability.h>
> > diff --git a/crypto/jitterentropy-kcapi.c b/crypto/jitterentropy-kcapi.c
> > index 7d1463a1562acb..78230ce74fc840 100644
> > --- a/crypto/jitterentropy-kcapi.c
> > +++ b/crypto/jitterentropy-kcapi.c
> > @@ -1,40 +1,10 @@
> > +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
> >  /*
> >   * Non-physical true random number generator based on timing jitter --
> >   * Linux Kernel Crypto API specific code
> >   *
> >   * Copyright Stephan Mueller <smueller@chronox.de>, 2015 - 2023
> >   *
> > - * Redistribution and use in source and binary forms, with or without
> > - * modification, are permitted provided that the following conditions
> > - * are met:
> > - * 1. Redistributions of source code must retain the above copyright
> > - *    notice, and the entire permission notice in its entirety,
> > - *    including the disclaimer of warranties.
> > - * 2. Redistributions in binary form must reproduce the above copyright
> > - *    notice, this list of conditions and the following disclaimer in the
> > - *    documentation and/or other materials provided with the distribution.
> > - * 3. The name of the author may not be used to endorse or promote
> > - *    products derived from this software without specific prior
> > - *    written permission.
> > - *
> > - * ALTERNATIVELY, this product may be distributed under the terms of
> > - * the GNU General Public License, in which case the provisions of the GPL2 are
> > - * required INSTEAD OF the above restrictions.  (This clause is
> > - * necessary due to a potential bad interaction between the GPL and
> > - * the restrictions contained in a BSD-style copyright.)
> > - *
> > - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
> > - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> > - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
> > - * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
> > - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> > - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
> > - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> > - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> > - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
> > - * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
> > - * DAMAGE.
> 
> Also not a match to BSD-3-Clause.

See my below reply.

> 
> 
> >  #include <crypto/hash.h>
> > diff --git a/crypto/jitterentropy.c b/crypto/jitterentropy.c
> > index c7d7f2caa7793b..c8437bd20dc903 100644
> > --- a/crypto/jitterentropy.c
> > +++ b/crypto/jitterentropy.c
> > @@ -1,3 +1,4 @@
> > +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
> >  /*
> >   * Non-physical true random number generator based on timing jitter --
> >   * Jitter RNG standalone code.
> > @@ -9,40 +10,6 @@
> >   *
> >   * See https://www.chronox.de/jent.html
> >   *
> > - * License
> > - * =======
> > - *
> > - * Redistribution and use in source and binary forms, with or without
> > - * modification, are permitted provided that the following conditions
> > - * are met:
> > - * 1. Redistributions of source code must retain the above copyright
> > - *    notice, and the entire permission notice in its entirety,
> > - *    including the disclaimer of warranties.
> > - * 2. Redistributions in binary form must reproduce the above copyright
> > - *    notice, this list of conditions and the following disclaimer in the
> > - *    documentation and/or other materials provided with the distribution.
> > - * 3. The name of the author may not be used to endorse or promote
> > - *    products derived from this software without specific prior
> > - *    written permission.
> > - *
> > - * ALTERNATIVELY, this product may be distributed under the terms of
> > - * the GNU General Public License, in which case the provisions of the GPL2 are
> > - * required INSTEAD OF the above restrictions.  (This clause is
> > - * necessary due to a potential bad interaction between the GPL and
> > - * the restrictions contained in a BSD-style copyright.)
> > - *
> > - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
> > - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> > - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
> > - * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
> > - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> > - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
> > - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> > - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> > - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
> > - * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
> > - * DAMAGE.
> 
> Also not a match to BSD-3-Clause.

The first clause also addes disclaimer perseverance as in the second;
and the third clause is worded differently (but same meaning).

> 
> 
> > diff --git a/crypto/keywrap.c b/crypto/keywrap.c
> > index 054d9a216fc9f3..8c51235a91a9ae 100644
> > --- a/crypto/keywrap.c
> > +++ b/crypto/keywrap.c
> > @@ -1,39 +1,9 @@
> > +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
> >  /*
> >   * Key Wrapping: RFC3394 / NIST SP800-38F
> >   *
> >   * Copyright (C) 2015, Stephan Mueller <smueller@chronox.de>
> >   *
> > - * Redistribution and use in source and binary forms, with or without
> > - * modification, are permitted provided that the following conditions
> > - * are met:
> > - * 1. Redistributions of source code must retain the above copyright
> > - *    notice, and the entire permission notice in its entirety,
> > - *    including the disclaimer of warranties.
> > - * 2. Redistributions in binary form must reproduce the above copyright
> > - *    notice, this list of conditions and the following disclaimer in the
> > - *    documentation and/or other materials provided with the distribution.
> > - * 3. The name of the author may not be used to endorse or promote
> > - *    products derived from this software without specific prior
> > - *    written permission.
> > - *
> > - * ALTERNATIVELY, this product may be distributed under the terms of
> > - * the GNU General Public License, in which case the provisions of the GPL2
> > - * are required INSTEAD OF the above restrictions.  (This clause is
> > - * necessary due to a potential bad interaction between the GPL and
> > - * the restrictions contained in a BSD-style copyright.)
> > - *
> > - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
> > - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> > - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
> > - * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
> > - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> > - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
> > - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> > - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> > - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
> > - * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
> > - * DAMAGE.
> 
> Also not a match to BSD-3-Clause.

See my above reply.

Stephan (original author), was your intention to license these files
under BSD 3-Clause?

Thanks for reviewing.
Ard Biesheuvel June 8, 2023, 8:37 a.m. UTC | #3
On Wed, 7 Jun 2023 at 16:38, Richard Fontana <rfontana@redhat.com> wrote:
>
> On Wed, Jun 7, 2023 at 1:42 AM Bagas Sanjaya <bagasdotme@gmail.com> wrote:
> >
> > Replace license boilerplate for dual BSD-3-Clause/GPL 2.0 (only or
> > later) with corresponding SPDX license identifier.
>
> This is at least the fourth or fifth time (I'm losing track) where you
> have incorrectly assumed a particular non-GPL license text matches a
> particular SPDX identifier without (apparently) checking.
>

What exactly does 'checking' entail here? There is no guidance in
Documentation/process/license-rules.rst on how to perform this
comparison.

Also, checkpatch now complains about missing SPDX identifiers, which
is what triggered this effort. Should it stop doing that?

> Bagas, I urge that you learn more about the nature of SPDX identifiers
> before submitting any further patches at least involving replacement
> of non-GPL notices with SPDX identifiers. For this unprecedented
> license notice replacement initiative to have any legitimacy it must
> attempt to apply SPDX identifiers correctly.
>

Since we're in language pedantic mode: it must do more than attempt,
it must apply them correctly, period.

Arguably, this is an 'attempt to apply SPDX identifiers correctly' on
Bagas's part, which apparently falls short (and I may be guilty of the
same for some arch crypto code)

So what is the ambition here: do we just leave the ambiguous ones as-is?
Greg Kroah-Hartman June 8, 2023, 9:05 a.m. UTC | #4
On Thu, Jun 08, 2023 at 10:37:33AM +0200, Ard Biesheuvel wrote:
> On Wed, 7 Jun 2023 at 16:38, Richard Fontana <rfontana@redhat.com> wrote:
> >
> > On Wed, Jun 7, 2023 at 1:42 AM Bagas Sanjaya <bagasdotme@gmail.com> wrote:
> > >
> > > Replace license boilerplate for dual BSD-3-Clause/GPL 2.0 (only or
> > > later) with corresponding SPDX license identifier.
> >
> > This is at least the fourth or fifth time (I'm losing track) where you
> > have incorrectly assumed a particular non-GPL license text matches a
> > particular SPDX identifier without (apparently) checking.
> >
> 
> What exactly does 'checking' entail here? There is no guidance in
> Documentation/process/license-rules.rst on how to perform this
> comparison.
> 
> Also, checkpatch now complains about missing SPDX identifiers, which
> is what triggered this effort. Should it stop doing that?
> 
> > Bagas, I urge that you learn more about the nature of SPDX identifiers
> > before submitting any further patches at least involving replacement
> > of non-GPL notices with SPDX identifiers. For this unprecedented
> > license notice replacement initiative to have any legitimacy it must
> > attempt to apply SPDX identifiers correctly.
> >
> 
> Since we're in language pedantic mode: it must do more than attempt,
> it must apply them correctly, period.
> 
> Arguably, this is an 'attempt to apply SPDX identifiers correctly' on
> Bagas's part, which apparently falls short (and I may be guilty of the
> same for some arch crypto code)
> 
> So what is the ambition here: do we just leave the ambiguous ones as-is?

I recommend yes, leave them as-is until the legal people who actually
care about having SPDX lines in all of the files take the time to do the
work to resolve these issues.

Remember, they are the ones asking for it, no need for us to do their
work for them :)

thanks,

greg k-h
Ard Biesheuvel June 8, 2023, 9:07 a.m. UTC | #5
On Thu, 8 Jun 2023 at 11:05, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Thu, Jun 08, 2023 at 10:37:33AM +0200, Ard Biesheuvel wrote:
> > On Wed, 7 Jun 2023 at 16:38, Richard Fontana <rfontana@redhat.com> wrote:
> > >
> > > On Wed, Jun 7, 2023 at 1:42 AM Bagas Sanjaya <bagasdotme@gmail.com> wrote:
> > > >
> > > > Replace license boilerplate for dual BSD-3-Clause/GPL 2.0 (only or
> > > > later) with corresponding SPDX license identifier.
> > >
> > > This is at least the fourth or fifth time (I'm losing track) where you
> > > have incorrectly assumed a particular non-GPL license text matches a
> > > particular SPDX identifier without (apparently) checking.
> > >
> >
> > What exactly does 'checking' entail here? There is no guidance in
> > Documentation/process/license-rules.rst on how to perform this
> > comparison.
> >
> > Also, checkpatch now complains about missing SPDX identifiers, which
> > is what triggered this effort. Should it stop doing that?
> >
> > > Bagas, I urge that you learn more about the nature of SPDX identifiers
> > > before submitting any further patches at least involving replacement
> > > of non-GPL notices with SPDX identifiers. For this unprecedented
> > > license notice replacement initiative to have any legitimacy it must
> > > attempt to apply SPDX identifiers correctly.
> > >
> >
> > Since we're in language pedantic mode: it must do more than attempt,
> > it must apply them correctly, period.
> >
> > Arguably, this is an 'attempt to apply SPDX identifiers correctly' on
> > Bagas's part, which apparently falls short (and I may be guilty of the
> > same for some arch crypto code)
> >
> > So what is the ambition here: do we just leave the ambiguous ones as-is?
>
> I recommend yes, leave them as-is until the legal people who actually
> care about having SPDX lines in all of the files take the time to do the
> work to resolve these issues.
>
> Remember, they are the ones asking for it, no need for us to do their
> work for them :)
>

Good point.
diff mbox series

Patch

diff --git a/crypto/aes_generic.c b/crypto/aes_generic.c
index 666474b81c6aa5..2e042bd306f9c5 100644
--- a/crypto/aes_generic.c
+++ b/crypto/aes_generic.c
@@ -1,3 +1,4 @@ 
+// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later
 /*
  * Cryptographic API.
  *
@@ -11,39 +12,9 @@ 
  *  Kyle McMartin <kyle@debian.org>
  *  Adam J. Richter <adam@yggdrasil.com> (conversion to 2.5 API).
  *
- * This program 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 of the License, or
- * (at your option) any later version.
- *
  * ---------------------------------------------------------------------------
  * Copyright (c) 2002, Dr Brian Gladman <brg@gladman.me.uk>, Worcester, UK.
  * All rights reserved.
- *
- * LICENSE TERMS
- *
- * The free distribution and use of this software in both source and binary
- * form is allowed (with or without changes) provided that:
- *
- *   1. distributions of this source code include the above copyright
- *      notice, this list of conditions and the following disclaimer;
- *
- *   2. distributions in binary form include the above copyright
- *      notice, this list of conditions and the following disclaimer
- *      in the documentation and/or other associated materials;
- *
- *   3. the copyright holder's name is not used to endorse products
- *      built using this software without specific written permission.
- *
- * ALTERNATIVELY, provided that this notice is retained in full, this product
- * may be distributed under the terms of the GNU General Public License (GPL),
- * in which case the provisions of the GPL apply INSTEAD OF those given above.
- *
- * DISCLAIMER
- *
- * This software is provided 'as is' with no explicit or implied warranties
- * in respect of its properties, including, but not limited to, correctness
- * and/or fitness for purpose.
  * ---------------------------------------------------------------------------
  */
 
diff --git a/crypto/algif_rng.c b/crypto/algif_rng.c
index 407408c437308f..4d4b9e60f72c19 100644
--- a/crypto/algif_rng.c
+++ b/crypto/algif_rng.c
@@ -1,41 +1,10 @@ 
+// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
 /*
  * algif_rng: User-space interface for random number generators
  *
  * This file provides the user-space API for random number generators.
  *
  * Copyright (C) 2014, Stephan Mueller <smueller@chronox.de>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * ALTERNATIVELY, this product may be distributed under the terms of
- * the GNU General Public License, in which case the provisions of the GPL2
- * are required INSTEAD OF the above restrictions.  (This clause is
- * necessary due to a potential bad interaction between the GPL and
- * the restrictions contained in a BSD-style copyright.)
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
  */
 
 #include <linux/capability.h>
diff --git a/crypto/jitterentropy-kcapi.c b/crypto/jitterentropy-kcapi.c
index 7d1463a1562acb..78230ce74fc840 100644
--- a/crypto/jitterentropy-kcapi.c
+++ b/crypto/jitterentropy-kcapi.c
@@ -1,40 +1,10 @@ 
+// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
 /*
  * Non-physical true random number generator based on timing jitter --
  * Linux Kernel Crypto API specific code
  *
  * Copyright Stephan Mueller <smueller@chronox.de>, 2015 - 2023
  *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * ALTERNATIVELY, this product may be distributed under the terms of
- * the GNU General Public License, in which case the provisions of the GPL2 are
- * required INSTEAD OF the above restrictions.  (This clause is
- * necessary due to a potential bad interaction between the GPL and
- * the restrictions contained in a BSD-style copyright.)
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
  */
 
 #include <crypto/hash.h>
diff --git a/crypto/jitterentropy.c b/crypto/jitterentropy.c
index c7d7f2caa7793b..c8437bd20dc903 100644
--- a/crypto/jitterentropy.c
+++ b/crypto/jitterentropy.c
@@ -1,3 +1,4 @@ 
+// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
 /*
  * Non-physical true random number generator based on timing jitter --
  * Jitter RNG standalone code.
@@ -9,40 +10,6 @@ 
  *
  * See https://www.chronox.de/jent.html
  *
- * License
- * =======
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * ALTERNATIVELY, this product may be distributed under the terms of
- * the GNU General Public License, in which case the provisions of the GPL2 are
- * required INSTEAD OF the above restrictions.  (This clause is
- * necessary due to a potential bad interaction between the GPL and
- * the restrictions contained in a BSD-style copyright.)
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
  */
 
 /*
diff --git a/crypto/keywrap.c b/crypto/keywrap.c
index 054d9a216fc9f3..8c51235a91a9ae 100644
--- a/crypto/keywrap.c
+++ b/crypto/keywrap.c
@@ -1,39 +1,9 @@ 
+// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only
 /*
  * Key Wrapping: RFC3394 / NIST SP800-38F
  *
  * Copyright (C) 2015, Stephan Mueller <smueller@chronox.de>
  *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, and the entire permission notice in its entirety,
- *    including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.
- *
- * ALTERNATIVELY, this product may be distributed under the terms of
- * the GNU General Public License, in which case the provisions of the GPL2
- * are required INSTEAD OF the above restrictions.  (This clause is
- * necessary due to a potential bad interaction between the GPL and
- * the restrictions contained in a BSD-style copyright.)
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
- * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
  */
 
 /*