2021-12-16 10:31:49

by Lukas Bulwahn

[permalink] [raw]
Subject: [PATCH] media: prefer generic SPDX-License expression to deprecated one

Commit 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier") and
commit e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
introduce the SPDX-License expression LGPL-2.1-or-later for some files.

The command ./scripts/spdxcheck.py warns:

drivers/media/dvb-core/dmxdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
drivers/media/dvb-core/dvb_demux.c: 1:28 Invalid License ID: LGPL-2.1-or-later
drivers/media/dvb-core/dvbdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
drivers/media/common/b2c2/flexcop.c: 1:28 Invalid License ID: LGPL-2.1-or-later

The preferred SPDX expression for LGPL-2.1 or any later version is with
the more generic "+"-extension for "any later version", so: LGPL-2.1+

This makes spdxcheck happy again.

Fixes: 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier")
Fixes: e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
Signed-off-by: Lukas Bulwahn <[email protected]>
---
drivers/media/common/b2c2/flexcop.c | 2 +-
drivers/media/dvb-core/dmxdev.c | 2 +-
drivers/media/dvb-core/dvb_demux.c | 2 +-
drivers/media/dvb-core/dvbdev.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/media/common/b2c2/flexcop.c b/drivers/media/common/b2c2/flexcop.c
index e7a88a2d248c..38c300da3fc2 100644
--- a/drivers/media/common/b2c2/flexcop.c
+++ b/drivers/media/common/b2c2/flexcop.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: LGPL-2.1-or-later
+// SPDX-License-Identifier: LGPL-2.1+
/*
* Linux driver for digital TV devices equipped with B2C2 FlexcopII(b)/III
* flexcop.c - main module part
diff --git a/drivers/media/dvb-core/dmxdev.c b/drivers/media/dvb-core/dmxdev.c
index f6ee678107d3..2b4fb2ec1efd 100644
--- a/drivers/media/dvb-core/dmxdev.c
+++ b/drivers/media/dvb-core/dmxdev.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: LGPL-2.1-or-later
+// SPDX-License-Identifier: LGPL-2.1+
/*
* dmxdev.c - DVB demultiplexer device
*
diff --git a/drivers/media/dvb-core/dvb_demux.c b/drivers/media/dvb-core/dvb_demux.c
index 83cc32ad7e12..35bf76b0425c 100644
--- a/drivers/media/dvb-core/dvb_demux.c
+++ b/drivers/media/dvb-core/dvb_demux.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: LGPL-2.1-or-later
+// SPDX-License-Identifier: LGPL-2.1+
/*
* dvb_demux.c - DVB kernel demux API
*
diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c
index 675d877a67b2..861559e8b4c9 100644
--- a/drivers/media/dvb-core/dvbdev.c
+++ b/drivers/media/dvb-core/dvbdev.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: LGPL-2.1-or-later
+// SPDX-License-Identifier: LGPL-2.1+
/*
* dvbdev.c
*
--
2.17.1



2021-12-16 10:49:18

by Cai,Huoqing

[permalink] [raw]
Subject: Re: [PATCH] media: prefer generic SPDX-License expression to deprecated one

On 16 12月 21 11:31:32, Lukas Bulwahn wrote:
> Commit 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier") and
> commit e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
> introduce the SPDX-License expression LGPL-2.1-or-later for some files.
>
> The command ./scripts/spdxcheck.py warns:
>
> drivers/media/dvb-core/dmxdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> drivers/media/dvb-core/dvb_demux.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> drivers/media/dvb-core/dvbdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> drivers/media/common/b2c2/flexcop.c: 1:28 Invalid License ID: LGPL-2.1-or-later
>
> The preferred SPDX expression for LGPL-2.1 or any later version is with
> the more generic "+"-extension for "any later version", so: LGPL-2.1+
>
> This makes spdxcheck happy again.
>
> Fixes: 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier")
> Fixes: e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
> Signed-off-by: Lukas Bulwahn <[email protected]>
> ---
> drivers/media/common/b2c2/flexcop.c | 2 +-
> drivers/media/dvb-core/dmxdev.c | 2 +-
> drivers/media/dvb-core/dvb_demux.c | 2 +-
> drivers/media/dvb-core/dvbdev.c | 2 +-
> 4 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/common/b2c2/flexcop.c b/drivers/media/common/b2c2/flexcop.c
> index e7a88a2d248c..38c300da3fc2 100644
> --- a/drivers/media/common/b2c2/flexcop.c
> +++ b/drivers/media/common/b2c2/flexcop.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
> /*
> * Linux driver for digital TV devices equipped with B2C2 FlexcopII(b)/III
> * flexcop.c - main module part
> diff --git a/drivers/media/dvb-core/dmxdev.c b/drivers/media/dvb-core/dmxdev.c
> index f6ee678107d3..2b4fb2ec1efd 100644
> --- a/drivers/media/dvb-core/dmxdev.c
> +++ b/drivers/media/dvb-core/dmxdev.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
> /*
> * dmxdev.c - DVB demultiplexer device
> *
> diff --git a/drivers/media/dvb-core/dvb_demux.c b/drivers/media/dvb-core/dvb_demux.c
> index 83cc32ad7e12..35bf76b0425c 100644
> --- a/drivers/media/dvb-core/dvb_demux.c
> +++ b/drivers/media/dvb-core/dvb_demux.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
> /*
> * dvb_demux.c - DVB kernel demux API
> *
> diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c
> index 675d877a67b2..861559e8b4c9 100644
> --- a/drivers/media/dvb-core/dvbdev.c
> +++ b/drivers/media/dvb-core/dvbdev.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
Looks good to me.

Reviewed-by: Cai Huoqing <[email protected]>
> /*
> * dvbdev.c
> *
> --
> 2.17.1
>

2021-12-16 11:23:21

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH] media: prefer generic SPDX-License expression to deprecated one

Em Thu, 16 Dec 2021 11:31:32 +0100
Lukas Bulwahn <[email protected]> escreveu:

> Commit 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier") and
> commit e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
> introduce the SPDX-License expression LGPL-2.1-or-later for some files.
>
> The command ./scripts/spdxcheck.py warns:
>
> drivers/media/dvb-core/dmxdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> drivers/media/dvb-core/dvb_demux.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> drivers/media/dvb-core/dvbdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> drivers/media/common/b2c2/flexcop.c: 1:28 Invalid License ID: LGPL-2.1-or-later
>
> The preferred SPDX expression for LGPL-2.1 or any later version is with
> the more generic "+"-extension for "any later version", so: LGPL-2.1+
>
> This makes spdxcheck happy again.

It doesn't sound right to apply such patch.

See, the latest SPDX version uses LGPL-2.1-or-later:

https://spdx.org/licenses/LGPL-2.1-or-later.html

And it deprecated LGPL-2.1+:

https://spdx.org/licenses/LGPL-2.1+.html

So, those files are perfectly fine with regards to SPDX, and are
adherent to its latest specs. We do need the latest specs on media,
as our documentation is under GFDL-1.1-no-invariants-or-later, which
only exists on newer SPDX versions.

So, the right thing to do here seems to fix spdxcheck.py, letting it
either allow both variants (as we probably don't want to replace it
everywhere) or to emit a warning if the deprecated ones are used.

Regards,
Mauro

>
> Fixes: 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier")
> Fixes: e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
> Signed-off-by: Lukas Bulwahn <[email protected]>
> ---
> drivers/media/common/b2c2/flexcop.c | 2 +-
> drivers/media/dvb-core/dmxdev.c | 2 +-
> drivers/media/dvb-core/dvb_demux.c | 2 +-
> drivers/media/dvb-core/dvbdev.c | 2 +-
> 4 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/common/b2c2/flexcop.c b/drivers/media/common/b2c2/flexcop.c
> index e7a88a2d248c..38c300da3fc2 100644
> --- a/drivers/media/common/b2c2/flexcop.c
> +++ b/drivers/media/common/b2c2/flexcop.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
> /*
> * Linux driver for digital TV devices equipped with B2C2 FlexcopII(b)/III
> * flexcop.c - main module part
> diff --git a/drivers/media/dvb-core/dmxdev.c b/drivers/media/dvb-core/dmxdev.c
> index f6ee678107d3..2b4fb2ec1efd 100644
> --- a/drivers/media/dvb-core/dmxdev.c
> +++ b/drivers/media/dvb-core/dmxdev.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
> /*
> * dmxdev.c - DVB demultiplexer device
> *
> diff --git a/drivers/media/dvb-core/dvb_demux.c b/drivers/media/dvb-core/dvb_demux.c
> index 83cc32ad7e12..35bf76b0425c 100644
> --- a/drivers/media/dvb-core/dvb_demux.c
> +++ b/drivers/media/dvb-core/dvb_demux.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
> /*
> * dvb_demux.c - DVB kernel demux API
> *
> diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c
> index 675d877a67b2..861559e8b4c9 100644
> --- a/drivers/media/dvb-core/dvbdev.c
> +++ b/drivers/media/dvb-core/dvbdev.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
> /*
> * dvbdev.c
> *



Thanks,
Mauro

2021-12-16 11:32:25

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH] LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers

Some files have been flagged with the new LGPL-2.1-or-later
identifier which replace the original LGPL-2.1+ in the SPDX license
identifier specification, but the identifiers are not mentioned as
valid in the LGPL-2.1 license file.

At it, together with the LGPL-2.1-only at the the license file.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
---
LICENSES/preferred/LGPL-2.1 | 2 ++
1 file changed, 2 insertions(+)

diff --git a/LICENSES/preferred/LGPL-2.1 b/LICENSES/preferred/LGPL-2.1
index 27bb4342a3e8..5feb8a6dbf15 100644
--- a/LICENSES/preferred/LGPL-2.1
+++ b/LICENSES/preferred/LGPL-2.1
@@ -1,5 +1,7 @@
Valid-License-Identifier: LGPL-2.1
Valid-License-Identifier: LGPL-2.1+
+Valid-License-Identifier: LGPL-2.1-only
+Valid-License-Identifier: LGPL-2.1-or-later
SPDX-URL: https://spdx.org/licenses/LGPL-2.1.html
Usage-Guide:
To use this license in source code, put one of the following SPDX
--
2.33.1


2021-12-16 11:33:40

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH v2] LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers

Some files have been flagged with the new LGPL-2.1-or-later
identifier which replace the original LGPL-2.1+ in the SPDX license
identifier specification, but the identifiers are not mentioned as
valid in the LGPL-2.1 license file.

Add it, together with the LGPL-2.1-only at the the license file.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
---
LICENSES/preferred/LGPL-2.1 | 2 ++
1 file changed, 2 insertions(+)

diff --git a/LICENSES/preferred/LGPL-2.1 b/LICENSES/preferred/LGPL-2.1
index 27bb4342a3e8..5feb8a6dbf15 100644
--- a/LICENSES/preferred/LGPL-2.1
+++ b/LICENSES/preferred/LGPL-2.1
@@ -1,5 +1,7 @@
Valid-License-Identifier: LGPL-2.1
Valid-License-Identifier: LGPL-2.1+
+Valid-License-Identifier: LGPL-2.1-only
+Valid-License-Identifier: LGPL-2.1-or-later
SPDX-URL: https://spdx.org/licenses/LGPL-2.1.html
Usage-Guide:
To use this license in source code, put one of the following SPDX
--
2.33.1


2021-12-16 12:05:16

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] media: prefer generic SPDX-License expression to deprecated one

On Thu, Dec 16, 2021 at 12:23:11PM +0100, Mauro Carvalho Chehab wrote:
> Em Thu, 16 Dec 2021 11:31:32 +0100
> Lukas Bulwahn <[email protected]> escreveu:
>
> > Commit 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier") and
> > commit e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
> > introduce the SPDX-License expression LGPL-2.1-or-later for some files.
> >
> > The command ./scripts/spdxcheck.py warns:
> >
> > drivers/media/dvb-core/dmxdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > drivers/media/dvb-core/dvb_demux.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > drivers/media/dvb-core/dvbdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > drivers/media/common/b2c2/flexcop.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> >
> > The preferred SPDX expression for LGPL-2.1 or any later version is with
> > the more generic "+"-extension for "any later version", so: LGPL-2.1+
> >
> > This makes spdxcheck happy again.
>
> It doesn't sound right to apply such patch.
>
> See, the latest SPDX version uses LGPL-2.1-or-later:
>
> https://spdx.org/licenses/LGPL-2.1-or-later.html
>
> And it deprecated LGPL-2.1+:
>
> https://spdx.org/licenses/LGPL-2.1+.html
>
> So, those files are perfectly fine with regards to SPDX, and are
> adherent to its latest specs. We do need the latest specs on media,
> as our documentation is under GFDL-1.1-no-invariants-or-later, which
> only exists on newer SPDX versions.
>
> So, the right thing to do here seems to fix spdxcheck.py, letting it
> either allow both variants (as we probably don't want to replace it
> everywhere) or to emit a warning if the deprecated ones are used.

No, we are not going to add a "warning" for older SPDX versions like
that, otherwise the majority of the kernel will start spitting out
warnings.

Let's worry about actually fixing all of the files that do NOT have SPDX
tags before even considering to move to a newer version of the spec. We
started this work before the FSF made the crazy change to their tags,
let's not worry about any deprecated issues at the moment.

thanks,

greg k-h

2021-12-16 12:06:32

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v2] LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers

On Thu, Dec 16, 2021 at 12:33:33PM +0100, Mauro Carvalho Chehab wrote:
> Some files have been flagged with the new LGPL-2.1-or-later
> identifier which replace the original LGPL-2.1+ in the SPDX license
> identifier specification, but the identifiers are not mentioned as
> valid in the LGPL-2.1 license file.
>
> Add it, together with the LGPL-2.1-only at the the license file.
>
> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
> ---
> LICENSES/preferred/LGPL-2.1 | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/LICENSES/preferred/LGPL-2.1 b/LICENSES/preferred/LGPL-2.1
> index 27bb4342a3e8..5feb8a6dbf15 100644
> --- a/LICENSES/preferred/LGPL-2.1
> +++ b/LICENSES/preferred/LGPL-2.1
> @@ -1,5 +1,7 @@
> Valid-License-Identifier: LGPL-2.1
> Valid-License-Identifier: LGPL-2.1+
> +Valid-License-Identifier: LGPL-2.1-only
> +Valid-License-Identifier: LGPL-2.1-or-later

Can you sort it like we did in the GPL-2.0 file instead which clumps it
by functionality, not in alphabetical order?

thanks,

greg k-h

2021-12-16 12:07:10

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] media: prefer generic SPDX-License expression to deprecated one

On Thu, Dec 16, 2021 at 11:31:32AM +0100, Lukas Bulwahn wrote:
> Commit 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier") and
> commit e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
> introduce the SPDX-License expression LGPL-2.1-or-later for some files.
>
> The command ./scripts/spdxcheck.py warns:
>
> drivers/media/dvb-core/dmxdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> drivers/media/dvb-core/dvb_demux.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> drivers/media/dvb-core/dvbdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> drivers/media/common/b2c2/flexcop.c: 1:28 Invalid License ID: LGPL-2.1-or-later
>
> The preferred SPDX expression for LGPL-2.1 or any later version is with
> the more generic "+"-extension for "any later version", so: LGPL-2.1+
>
> This makes spdxcheck happy again.
>
> Fixes: 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier")
> Fixes: e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
> Signed-off-by: Lukas Bulwahn <[email protected]>
> ---
> drivers/media/common/b2c2/flexcop.c | 2 +-
> drivers/media/dvb-core/dmxdev.c | 2 +-
> drivers/media/dvb-core/dvb_demux.c | 2 +-
> drivers/media/dvb-core/dvbdev.c | 2 +-
> 4 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/common/b2c2/flexcop.c b/drivers/media/common/b2c2/flexcop.c
> index e7a88a2d248c..38c300da3fc2 100644
> --- a/drivers/media/common/b2c2/flexcop.c
> +++ b/drivers/media/common/b2c2/flexcop.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
> /*
> * Linux driver for digital TV devices equipped with B2C2 FlexcopII(b)/III
> * flexcop.c - main module part
> diff --git a/drivers/media/dvb-core/dmxdev.c b/drivers/media/dvb-core/dmxdev.c
> index f6ee678107d3..2b4fb2ec1efd 100644
> --- a/drivers/media/dvb-core/dmxdev.c
> +++ b/drivers/media/dvb-core/dmxdev.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
> /*
> * dmxdev.c - DVB demultiplexer device
> *
> diff --git a/drivers/media/dvb-core/dvb_demux.c b/drivers/media/dvb-core/dvb_demux.c
> index 83cc32ad7e12..35bf76b0425c 100644
> --- a/drivers/media/dvb-core/dvb_demux.c
> +++ b/drivers/media/dvb-core/dvb_demux.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+
> /*
> * dvb_demux.c - DVB kernel demux API
> *
> diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c
> index 675d877a67b2..861559e8b4c9 100644
> --- a/drivers/media/dvb-core/dvbdev.c
> +++ b/drivers/media/dvb-core/dvbdev.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: LGPL-2.1-or-later
> +// SPDX-License-Identifier: LGPL-2.1+

No, the existing tags are fine.

thanks,

greg k-h

2021-12-16 12:15:30

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH] media: prefer generic SPDX-License expression to deprecated one

Em Thu, 16 Dec 2021 13:05:10 +0100
Greg Kroah-Hartman <[email protected]> escreveu:

> On Thu, Dec 16, 2021 at 12:23:11PM +0100, Mauro Carvalho Chehab wrote:
> > Em Thu, 16 Dec 2021 11:31:32 +0100
> > Lukas Bulwahn <[email protected]> escreveu:
> >
> > > Commit 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier") and
> > > commit e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
> > > introduce the SPDX-License expression LGPL-2.1-or-later for some files.
> > >
> > > The command ./scripts/spdxcheck.py warns:
> > >
> > > drivers/media/dvb-core/dmxdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > > drivers/media/dvb-core/dvb_demux.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > > drivers/media/dvb-core/dvbdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > > drivers/media/common/b2c2/flexcop.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > >
> > > The preferred SPDX expression for LGPL-2.1 or any later version is with
> > > the more generic "+"-extension for "any later version", so: LGPL-2.1+
> > >
> > > This makes spdxcheck happy again.
> >
> > It doesn't sound right to apply such patch.
> >
> > See, the latest SPDX version uses LGPL-2.1-or-later:
> >
> > https://spdx.org/licenses/LGPL-2.1-or-later.html
> >
> > And it deprecated LGPL-2.1+:
> >
> > https://spdx.org/licenses/LGPL-2.1+.html
> >
> > So, those files are perfectly fine with regards to SPDX, and are
> > adherent to its latest specs. We do need the latest specs on media,
> > as our documentation is under GFDL-1.1-no-invariants-or-later, which
> > only exists on newer SPDX versions.
> >
> > So, the right thing to do here seems to fix spdxcheck.py, letting it
> > either allow both variants (as we probably don't want to replace it
> > everywhere) or to emit a warning if the deprecated ones are used.
>
> No, we are not going to add a "warning" for older SPDX versions like
> that, otherwise the majority of the kernel will start spitting out
> warnings.
>
> Let's worry about actually fixing all of the files that do NOT have SPDX
> tags before even considering to move to a newer version of the spec. We
> started this work before the FSF made the crazy change to their tags,
> let's not worry about any deprecated issues at the moment.

Yeah, agreed.

Thanks,
Mauro

2021-12-16 13:18:11

by Lukas Bulwahn

[permalink] [raw]
Subject: Re: [PATCH] media: prefer generic SPDX-License expression to deprecated one

On Thu, Dec 16, 2021 at 1:15 PM Mauro Carvalho Chehab
<[email protected]> wrote:
>
> Em Thu, 16 Dec 2021 13:05:10 +0100
> Greg Kroah-Hartman <[email protected]> escreveu:
>
> > On Thu, Dec 16, 2021 at 12:23:11PM +0100, Mauro Carvalho Chehab wrote:
> > > Em Thu, 16 Dec 2021 11:31:32 +0100
> > > Lukas Bulwahn <[email protected]> escreveu:
> > >
> > > > Commit 8d395ce6f04b ("media: dvb-core: Convert to SPDX identifier") and
> > > > commit e67219b0496b ("media: b2c2: flexcop: Convert to SPDX identifier")
> > > > introduce the SPDX-License expression LGPL-2.1-or-later for some files.
> > > >
> > > > The command ./scripts/spdxcheck.py warns:
> > > >
> > > > drivers/media/dvb-core/dmxdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > > > drivers/media/dvb-core/dvb_demux.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > > > drivers/media/dvb-core/dvbdev.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > > > drivers/media/common/b2c2/flexcop.c: 1:28 Invalid License ID: LGPL-2.1-or-later
> > > >
> > > > The preferred SPDX expression for LGPL-2.1 or any later version is with
> > > > the more generic "+"-extension for "any later version", so: LGPL-2.1+
> > > >
> > > > This makes spdxcheck happy again.
> > >
> > > It doesn't sound right to apply such patch.
> > >
> > > See, the latest SPDX version uses LGPL-2.1-or-later:
> > >
> > > https://spdx.org/licenses/LGPL-2.1-or-later.html
> > >
> > > And it deprecated LGPL-2.1+:
> > >
> > > https://spdx.org/licenses/LGPL-2.1+.html
> > >
> > > So, those files are perfectly fine with regards to SPDX, and are
> > > adherent to its latest specs. We do need the latest specs on media,
> > > as our documentation is under GFDL-1.1-no-invariants-or-later, which
> > > only exists on newer SPDX versions.
> > >
> > > So, the right thing to do here seems to fix spdxcheck.py, letting it
> > > either allow both variants (as we probably don't want to replace it
> > > everywhere) or to emit a warning if the deprecated ones are used.
> >
> > No, we are not going to add a "warning" for older SPDX versions like
> > that, otherwise the majority of the kernel will start spitting out
> > warnings.
> >
> > Let's worry about actually fixing all of the files that do NOT have SPDX
> > tags before even considering to move to a newer version of the spec. We
> > started this work before the FSF made the crazy change to their tags,
> > let's not worry about any deprecated issues at the moment.
>
> Yeah, agreed.
>

Sorry, I first read the section Deprecated License Identifiers on
https://spdx.org/licenses/, where it stated:

Release 2.0 of the SPDX Specification introduced License Expressions
that supports the ability to identify common variations of
SPDX-identified licenses without the need to define each potential
variation as a distinct license on the SPDX License List. This new
syntax supports the ability to declare an SPDX-identified license
exception using the "WITH" operator (e.g. GPL-2.0-or-later WITH
Autoconf-exception-2.0), as well as the ability to use a simple "+"
operator after a license short identifier to indicate "or later
version". SPDX has defined a list of license exceptions to use after
the "WITH" operator. As a result, a number of licenses formerly
included on the SPDX License List have been deprecated, and correct
usage employs the License Expression syntax as of v2.0.

So, I assumed the "+" operator is the right thing...

But, if I would have just read the next sentence; I would have noticed
that SPDX did a flip backwards on GNU licenses:

Release 3.0 replaced previous Identifiers for GNU licenses with more
explicit Identifiers to reflect the "this version only" or "any later
version" option specific to those licenses. As such, the previously
used Identifiers for those licenses are deprecated as of v3.0.

Now, I did some more digging into this whole SPDX spec evolution...
And in the section Allowing later versions of a license on
https://spdx.dev/ids/, it explains that this later version aspect is
different for GNU and non-GNU Licenses... with a rationale from the
GNU blog... I got it now.

So, sorry for the noise. This patch can be ignored.

Lukas