Re: [OE-core] [poky][PATCH v3] Update license file to match current SPDX names

Peter Kjellerstedt
2020-10-12T21:24:03Z

> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-
> core@lists.openembedded.org> On Behalf Of Richard Purdie
> Sent: den 10 oktober 2020 14:40
> To: Meh Mbeh Ida Delphine <idadelm@gmail.com>; openembedded-
> core@lists.openembedded.org
> Subject: Re: [OE-core] [poky][PATCH v3] Update license file to match
> current SPDX names
>
> On Sat, 2020-10-10 at 13:23 +0100, Meh Mbeh Ida Delphine wrote:
> > Updated mappings of license fields of meta/conf/licenses.conf to
> > match latest SPDX naming.
> > Added missing mappings.
> >
> > Fixes: [YOCTO #13320]
> >
> > Signed-off-by: Meh Mbeh Ida Delphine <idadelm@gmail.com>
> > ---
> >
> > Changes in V3:
> > * Added missing mappings to meta/conf/licenses.conf
> >
> > Changes in V2:
> > * Corrected the email subject line.
> >
> > meta/conf/licenses.conf | 55 ++++++++++++++++++++++++++++-----------
> > --
> > 1 file changed, 38 insertions(+), 17 deletions(-)
> >
> > diff --git a/meta/conf/licenses.conf b/meta/conf/licenses.conf
> > index 5b309eb385..b45a9d283e 100644
> > --- a/meta/conf/licenses.conf
> > +++ b/meta/conf/licenses.conf
> > @@ -10,33 +10,44 @@
> > # Any mapping to MPL/LGPL/GPL should be fixed
> >
> > # AGPL variations
> > -SPDXLICENSEMAP[AGPL-3] = "AGPL-3.0"
> > -SPDXLICENSEMAP[AGPLv3] = "AGPL-3.0"
> > -SPDXLICENSEMAP[AGPLv3.0] = "AGPL-3.0"
> > +SPDXLICENSEMAP[AGPL-3] = "AGPL-3.0-only"
> > +SPDXLICENSEMAP[AGPLv3] = "AGPL-3.0-only"
> > +SPDXLICENSEMAP[AGPLv3.0] = "AGPL-3.0-only"
> > +SPDXLICENSEMAP[AGPL-3.0] = "AGPL-3.0-only"
> >
> > # GPL variations
> > -SPDXLICENSEMAP[GPL-1] = "GPL-1.0"
> > -SPDXLICENSEMAP[GPLv1] = "GPL-1.0"
> > -SPDXLICENSEMAP[GPLv1.0] = "GPL-1.0"
> > -SPDXLICENSEMAP[GPL-2] = "GPL-2.0"
> > -SPDXLICENSEMAP[GPLv2] = "GPL-2.0"
> > -SPDXLICENSEMAP[GPLv2.0] = "GPL-2.0"
> > -SPDXLICENSEMAP[GPL-3] = "GPL-3.0"
> > -SPDXLICENSEMAP[GPLv3] = "GPL-3.0"
> > -SPDXLICENSEMAP[GPLv3.0] = "GPL-3.0"
> > +SPDXLICENSEMAP[GPL-1] = "GPL-1.0-only"
> > +SPDXLICENSEMAP[GPLv1] = "GPL-1.0-only"
> > +SPDXLICENSEMAP[GPLv1.0] = "GPL-1.0-only"
> > +SPDXLICENSEMAP[GPL-1.0] = "GPL-2.0-only"
> > +SPDXLICENSEMAP[GPL-2] = "GPL-2.0-only"
> > +SPDXLICENSEMAP[GPLv2] = "GPL-2.0-only"
> > +SPDXLICENSEMAP[GPLv2.0] = "GPL-2.0-only"
> > +SPDXLICENSEMAP[GPL-2.0] = "GPL-2.0-only"
> > +SPDXLICENSEMAP[GPL-3] = "GPL-3.0-only"
> > +SPDXLICENSEMAP[GPLv3] = "GPL-3.0-only"
> > +SPDXLICENSEMAP[GPLv3.0] = "GPL-3.0-only"
> > +SPDXLICENSEMAP[GPL-3.0] = "GPL-3.0-only"
> >
> > #LGPL variations
> > -SPDXLICENSEMAP[LGPLv2] = "LGPL-2.0"
> > -SPDXLICENSEMAP[LGPLv2.0] = "LGPL-2.0"
> > -SPDXLICENSEMAP[LGPL2.1] = "LGPL-2.1"
> > -SPDXLICENSEMAP[LGPLv2.1] = "LGPL-2.1"
> > -SPDXLICENSEMAP[LGPLv3] = "LGPL-3.0"
> > +SPDXLICENSEMAP[LGPLv2] = "LGPL-2.0-only"
> > +SPDXLICENSEMAP[LGPLv2.0] = "LGPL-2.0-only"
> > +SPDXLICENSEMAP[LGPL-2.0] = "LGPL-2.0-only"
> > +SPDXLICENSEMAP[LGPL2.1] = "LGPL-2.1-only"
> > +SPDXLICENSEMAP[LGPLv2.1] = "LGPL-2.1-only"
> > +SPDXLICENSEMAP[LGPL-2.1] = "LGPL-2.1-only"
> > +SPDXLICENSEMAP[LGPLv3] = "LGPL-3.0-only"
> > +SPDXLICENSEMAP[LGPL-3.0] = "LGPL-3.0-only"
>
> The above is all good, thanks.

But only a part of the full solution. In addition, the
following should be done:

* Rename (and possibly update) the actual license files in
meta/files/common-licenses to match the new canonical names.
* Add license files for GPL-2.0-or-later & co.
* Add mappings from, e.g., "GPL-2.0+" to "GPL-2.0-or-later"
to SPDXLICENSEMAP.
* Remove the code that adds support for using "<any license>+"
in LICENSE as it should no longer be needed with the new
mappings.

> > #MPL variations
> > SPDXLICENSEMAP[MPL-1] = "MPL-1.0"
> > SPDXLICENSEMAP[MPLv1] = "MPL-1.0"
> > +SPDXLICENSEMAP[MPL-1.0] = "MPL-1.0"
> > SPDXLICENSEMAP[MPLv1.1] = "MPL-1.1"
> > +SPDXLICENSEMAP[MPL-1.1] = "MPL-1.1"
> > SPDXLICENSEMAP[MPLv2] = "MPL-2.0"
> > +SPDXLICENSEMAP[MPL-2.0] = "MPL-2.0"
> > +
>
> However we don't need to add ones where the two values are the same.
>
> Cheers,
>
> Richard

//Peter