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

Bagas Sanjaya
2023-06-08T05:56:24Z

[-- Attachment #1: Type: text/plain, Size: 14172 bytes --]

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.

--
An old man doll... just what I always wanted! - Clara

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]