mbox series

[RFC,v2,0/7] Make SWUpdate REUSE-compliant

Message ID 20210402161535.30191-1-toertel@gmail.com
Headers show
Series Make SWUpdate REUSE-compliant | expand

Message

Mark Jonas April 2, 2021, 4:15 p.m. UTC
Intention of this RFC patch series is to start a process of making
SWUpdate REUSE-compliant.

https://reuse.software/

REUSE is a FSFE initiative to make it easier to communicate license
requirements and copyright statements so it is clear for everyone which
parts of the software is under which license. The idea is that this
information shall be easy to read for humans as well as for machines.
The concept is based on the SPDX standard. Thus, many projects which
already use SPDX license identifiers are already very far in achieving
REUSE compliance.

These patches must not be immediately applied. It shall first serve as a
base for further discussion. Additionally, it will break OpenEmbedded /
Yocto Project builds because all license files had to be renamed.

The first patches make sure that the license files are in the right
place and have the correct name according to the REUSE specification.
Also the missing GPL-2.0-only license will be added. Each patch
documents the details.

The mongoose directory was chosen to demonstrate what needs to be done
with the source code. Some files do neither have license nor copyright
information. So both have to be added. Other files might already have
one but are lacking the other.

REUSE has a linter for automatic checking of the code. One way to run
the linter is to use its Docker image.

  docker run --rm --volume $(pwd):/data fsfe/reuse lint

Changes in v2:
  - Adapt to Stefano's GPL-2.0-only changes on master
  - Add bsdqueue as a second example besides mongoose

Mark Jonas (7):
  Rename Licenses to LICENSES for REUSE compliance
  doc: Add BSD 1-Clause to license list
  LICENSES: Rename Exception to obey SPDX naming
  LICENSES: Remove GPL-2.0, add GPL-2.0-only text
  LICENSES: Rename LGPL-2.1 to match SPDX ĺist 3.0
  mongoose: Make REUSE compliant
  bsdqueue: Make REUSE compliant

 .../BSD-1-Clause.txt                          |  0
 .../BSD-2-Clause.txt                          |  0
 .../BSD-3-Clause.txt                          |  0
 .../gpl-2.0.txt => LICENSES/GPL-2.0-only.txt  | 73 +++----------------
 Licenses/isc.txt => LICENSES/ISC.txt          |  0
 .../LGPL-2.1-or-later.txt                     |  0
 .../LicenseRef-OpenSSL-Exception.txt          |  0
 Licenses/mit.txt => LICENSES/MIT.txt          |  0
 doc/source/licensing.rst                      |  7 +-
 include/bsdqueue.h                            |  6 ++
 mongoose/Config.in                            |  4 +
 mongoose/Makefile                             |  4 +
 mongoose/mongoose.h                           |  4 +-
 13 files changed, 32 insertions(+), 66 deletions(-)
 rename Licenses/bsd-1-clause.txt => LICENSES/BSD-1-Clause.txt (100%)
 rename Licenses/bsd-2-clause.txt => LICENSES/BSD-2-Clause.txt (100%)
 rename Licenses/bsd-3-clause.txt => LICENSES/BSD-3-Clause.txt (100%)
 rename Licenses/gpl-2.0.txt => LICENSES/GPL-2.0-only.txt (82%)
 rename Licenses/isc.txt => LICENSES/ISC.txt (100%)
 rename Licenses/lgpl-2.1.txt => LICENSES/LGPL-2.1-or-later.txt (100%)
 rename Licenses/Exceptions => LICENSES/LicenseRef-OpenSSL-Exception.txt (100%)
 rename Licenses/mit.txt => LICENSES/MIT.txt (100%)

--
2.25.1

Comments

Stefano Babic April 3, 2021, 10:16 a.m. UTC | #1
Hi Mark,

just to define a plan for this. IMHO I could apply Patch 1/7 until 5/7, 
and in the same time I send a patch for meta-swupdate related to the 
swupdate_git.bb recipe - this avoids to break build of TOT in OE. 
Buildroot package is set to 2020.04, and when an update will occur, it 
will be set to point to correct files (but buildroot does not set <spdx 
for its own files). Debian package is not affected.

Then single files can be fixed like in the example for Mongoose. It is 
not required to fix all of them at once, and follow up patches are good 
enough.

Best regards,
Stefano

On 02.04.21 18:15, Mark Jonas wrote:
> Intention of this RFC patch series is to start a process of making
> SWUpdate REUSE-compliant.
> 
> https://reuse.software/
> 
> REUSE is a FSFE initiative to make it easier to communicate license
> requirements and copyright statements so it is clear for everyone which
> parts of the software is under which license. The idea is that this
> information shall be easy to read for humans as well as for machines.
> The concept is based on the SPDX standard. Thus, many projects which
> already use SPDX license identifiers are already very far in achieving
> REUSE compliance.
> 
> These patches must not be immediately applied. It shall first serve as a
> base for further discussion. Additionally, it will break OpenEmbedded /
> Yocto Project builds because all license files had to be renamed.
> 
> The first patches make sure that the license files are in the right
> place and have the correct name according to the REUSE specification.
> Also the missing GPL-2.0-only license will be added. Each patch
> documents the details.
> 
> The mongoose directory was chosen to demonstrate what needs to be done
> with the source code. Some files do neither have license nor copyright
> information. So both have to be added. Other files might already have
> one but are lacking the other.
> 
> REUSE has a linter for automatic checking of the code. One way to run
> the linter is to use its Docker image.
> 
>    docker run --rm --volume $(pwd):/data fsfe/reuse lint
> 
> Changes in v2:
>    - Adapt to Stefano's GPL-2.0-only changes on master
>    - Add bsdqueue as a second example besides mongoose
> 
> Mark Jonas (7):
>    Rename Licenses to LICENSES for REUSE compliance
>    doc: Add BSD 1-Clause to license list
>    LICENSES: Rename Exception to obey SPDX naming
>    LICENSES: Remove GPL-2.0, add GPL-2.0-only text
>    LICENSES: Rename LGPL-2.1 to match SPDX ĺist 3.0
>    mongoose: Make REUSE compliant
>    bsdqueue: Make REUSE compliant
> 
>   .../BSD-1-Clause.txt                          |  0
>   .../BSD-2-Clause.txt                          |  0
>   .../BSD-3-Clause.txt                          |  0
>   .../gpl-2.0.txt => LICENSES/GPL-2.0-only.txt  | 73 +++----------------
>   Licenses/isc.txt => LICENSES/ISC.txt          |  0
>   .../LGPL-2.1-or-later.txt                     |  0
>   .../LicenseRef-OpenSSL-Exception.txt          |  0
>   Licenses/mit.txt => LICENSES/MIT.txt          |  0
>   doc/source/licensing.rst                      |  7 +-
>   include/bsdqueue.h                            |  6 ++
>   mongoose/Config.in                            |  4 +
>   mongoose/Makefile                             |  4 +
>   mongoose/mongoose.h                           |  4 +-
>   13 files changed, 32 insertions(+), 66 deletions(-)
>   rename Licenses/bsd-1-clause.txt => LICENSES/BSD-1-Clause.txt (100%)
>   rename Licenses/bsd-2-clause.txt => LICENSES/BSD-2-Clause.txt (100%)
>   rename Licenses/bsd-3-clause.txt => LICENSES/BSD-3-Clause.txt (100%)
>   rename Licenses/gpl-2.0.txt => LICENSES/GPL-2.0-only.txt (82%)
>   rename Licenses/isc.txt => LICENSES/ISC.txt (100%)
>   rename Licenses/lgpl-2.1.txt => LICENSES/LGPL-2.1-or-later.txt (100%)
>   rename Licenses/Exceptions => LICENSES/LicenseRef-OpenSSL-Exception.txt (100%)
>   rename Licenses/mit.txt => LICENSES/MIT.txt (100%)
> 
> --
> 2.25.1
>
Mark Jonas April 3, 2021, 1:34 p.m. UTC | #2
Hi Stefano,

On Sat, Apr 3, 2021 at 12:17 PM Stefano Babic <sbabic@denx.de> wrote:
>
> Hi Mark,
>
> just to define a plan for this. IMHO I could apply Patch 1/7 until 5/7,
> and in the same time I send a patch for meta-swupdate related to the
> swupdate_git.bb recipe - this avoids to break build of TOT in OE.
> Buildroot package is set to 2020.04, and when an update will occur, it
> will be set to point to correct files (but buildroot does not set <spdx
> for its own files). Debian package is not affected.
>
> Then single files can be fixed like in the example for Mongoose. It is
> not required to fix all of them at once, and follow up patches are good
> enough.

I like the plan. Please give me a heads-up, maybe some days before you
want to merge. I could then send a final (non-rfc) patch set and make
sure it applies to master.

I also think that fixing module by module is a sound approach. I
already looked into it and there will be some questions regarding the
license e.g. of pictures.

> Best regards,
> Stefano

Cheers,
Mark

>
> On 02.04.21 18:15, Mark Jonas wrote:
> > Intention of this RFC patch series is to start a process of making
> > SWUpdate REUSE-compliant.
> >
> > https://reuse.software/
> >
> > REUSE is a FSFE initiative to make it easier to communicate license
> > requirements and copyright statements so it is clear for everyone which
> > parts of the software is under which license. The idea is that this
> > information shall be easy to read for humans as well as for machines.
> > The concept is based on the SPDX standard. Thus, many projects which
> > already use SPDX license identifiers are already very far in achieving
> > REUSE compliance.
> >
> > These patches must not be immediately applied. It shall first serve as a
> > base for further discussion. Additionally, it will break OpenEmbedded /
> > Yocto Project builds because all license files had to be renamed.
> >
> > The first patches make sure that the license files are in the right
> > place and have the correct name according to the REUSE specification.
> > Also the missing GPL-2.0-only license will be added. Each patch
> > documents the details.
> >
> > The mongoose directory was chosen to demonstrate what needs to be done
> > with the source code. Some files do neither have license nor copyright
> > information. So both have to be added. Other files might already have
> > one but are lacking the other.
> >
> > REUSE has a linter for automatic checking of the code. One way to run
> > the linter is to use its Docker image.
> >
> >    docker run --rm --volume $(pwd):/data fsfe/reuse lint
> >
> > Changes in v2:
> >    - Adapt to Stefano's GPL-2.0-only changes on master
> >    - Add bsdqueue as a second example besides mongoose
> >
> > Mark Jonas (7):
> >    Rename Licenses to LICENSES for REUSE compliance
> >    doc: Add BSD 1-Clause to license list
> >    LICENSES: Rename Exception to obey SPDX naming
> >    LICENSES: Remove GPL-2.0, add GPL-2.0-only text
> >    LICENSES: Rename LGPL-2.1 to match SPDX ĺist 3.0
> >    mongoose: Make REUSE compliant
> >    bsdqueue: Make REUSE compliant
> >
> >   .../BSD-1-Clause.txt                          |  0
> >   .../BSD-2-Clause.txt                          |  0
> >   .../BSD-3-Clause.txt                          |  0
> >   .../gpl-2.0.txt => LICENSES/GPL-2.0-only.txt  | 73 +++----------------
> >   Licenses/isc.txt => LICENSES/ISC.txt          |  0
> >   .../LGPL-2.1-or-later.txt                     |  0
> >   .../LicenseRef-OpenSSL-Exception.txt          |  0
> >   Licenses/mit.txt => LICENSES/MIT.txt          |  0
> >   doc/source/licensing.rst                      |  7 +-
> >   include/bsdqueue.h                            |  6 ++
> >   mongoose/Config.in                            |  4 +
> >   mongoose/Makefile                             |  4 +
> >   mongoose/mongoose.h                           |  4 +-
> >   13 files changed, 32 insertions(+), 66 deletions(-)
> >   rename Licenses/bsd-1-clause.txt => LICENSES/BSD-1-Clause.txt (100%)
> >   rename Licenses/bsd-2-clause.txt => LICENSES/BSD-2-Clause.txt (100%)
> >   rename Licenses/bsd-3-clause.txt => LICENSES/BSD-3-Clause.txt (100%)
> >   rename Licenses/gpl-2.0.txt => LICENSES/GPL-2.0-only.txt (82%)
> >   rename Licenses/isc.txt => LICENSES/ISC.txt (100%)
> >   rename Licenses/lgpl-2.1.txt => LICENSES/LGPL-2.1-or-later.txt (100%)
> >   rename Licenses/Exceptions => LICENSES/LicenseRef-OpenSSL-Exception.txt (100%)
> >   rename Licenses/mit.txt => LICENSES/MIT.txt (100%)
> >
> > --
> > 2.25.1
> >
>
>
> --
> =====================================================================
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
> =====================================================================
Stefano Babic April 3, 2021, 3:53 p.m. UTC | #3
On 03.04.21 15:34, Mark Jonas wrote:
> Hi Stefano,
> 
> On Sat, Apr 3, 2021 at 12:17 PM Stefano Babic <sbabic@denx.de> wrote:
>>
>> Hi Mark,
>>
>> just to define a plan for this. IMHO I could apply Patch 1/7 until 5/7,
>> and in the same time I send a patch for meta-swupdate related to the
>> swupdate_git.bb recipe - this avoids to break build of TOT in OE.
>> Buildroot package is set to 2020.04, and when an update will occur, it
>> will be set to point to correct files (but buildroot does not set <spdx
>> for its own files). Debian package is not affected.
>>
>> Then single files can be fixed like in the example for Mongoose. It is
>> not required to fix all of them at once, and follow up patches are good
>> enough.
> 
> I like the plan. Please give me a heads-up, maybe some days before you
> want to merge. I could then send a final (non-rfc) patch set and make
> sure it applies to master.

Just send a not-RFC set, if there will be some mismatch I will rebase it 
on top of TOT.

> 
> I also think that fixing module by module is a sound approach. I
> already looked into it and there will be some questions regarding the
> license e.g. of pictures.
> 

Best regards,
Stefano

> Cheers,
> Mark
> 
>>
>> On 02.04.21 18:15, Mark Jonas wrote:
>>> Intention of this RFC patch series is to start a process of making
>>> SWUpdate REUSE-compliant.
>>>
>>> https://reuse.software/
>>>
>>> REUSE is a FSFE initiative to make it easier to communicate license
>>> requirements and copyright statements so it is clear for everyone which
>>> parts of the software is under which license. The idea is that this
>>> information shall be easy to read for humans as well as for machines.
>>> The concept is based on the SPDX standard. Thus, many projects which
>>> already use SPDX license identifiers are already very far in achieving
>>> REUSE compliance.
>>>
>>> These patches must not be immediately applied. It shall first serve as a
>>> base for further discussion. Additionally, it will break OpenEmbedded /
>>> Yocto Project builds because all license files had to be renamed.
>>>
>>> The first patches make sure that the license files are in the right
>>> place and have the correct name according to the REUSE specification.
>>> Also the missing GPL-2.0-only license will be added. Each patch
>>> documents the details.
>>>
>>> The mongoose directory was chosen to demonstrate what needs to be done
>>> with the source code. Some files do neither have license nor copyright
>>> information. So both have to be added. Other files might already have
>>> one but are lacking the other.
>>>
>>> REUSE has a linter for automatic checking of the code. One way to run
>>> the linter is to use its Docker image.
>>>
>>>     docker run --rm --volume $(pwd):/data fsfe/reuse lint
>>>
>>> Changes in v2:
>>>     - Adapt to Stefano's GPL-2.0-only changes on master
>>>     - Add bsdqueue as a second example besides mongoose
>>>
>>> Mark Jonas (7):
>>>     Rename Licenses to LICENSES for REUSE compliance
>>>     doc: Add BSD 1-Clause to license list
>>>     LICENSES: Rename Exception to obey SPDX naming
>>>     LICENSES: Remove GPL-2.0, add GPL-2.0-only text
>>>     LICENSES: Rename LGPL-2.1 to match SPDX ĺist 3.0
>>>     mongoose: Make REUSE compliant
>>>     bsdqueue: Make REUSE compliant
>>>
>>>    .../BSD-1-Clause.txt                          |  0
>>>    .../BSD-2-Clause.txt                          |  0
>>>    .../BSD-3-Clause.txt                          |  0
>>>    .../gpl-2.0.txt => LICENSES/GPL-2.0-only.txt  | 73 +++----------------
>>>    Licenses/isc.txt => LICENSES/ISC.txt          |  0
>>>    .../LGPL-2.1-or-later.txt                     |  0
>>>    .../LicenseRef-OpenSSL-Exception.txt          |  0
>>>    Licenses/mit.txt => LICENSES/MIT.txt          |  0
>>>    doc/source/licensing.rst                      |  7 +-
>>>    include/bsdqueue.h                            |  6 ++
>>>    mongoose/Config.in                            |  4 +
>>>    mongoose/Makefile                             |  4 +
>>>    mongoose/mongoose.h                           |  4 +-
>>>    13 files changed, 32 insertions(+), 66 deletions(-)
>>>    rename Licenses/bsd-1-clause.txt => LICENSES/BSD-1-Clause.txt (100%)
>>>    rename Licenses/bsd-2-clause.txt => LICENSES/BSD-2-Clause.txt (100%)
>>>    rename Licenses/bsd-3-clause.txt => LICENSES/BSD-3-Clause.txt (100%)
>>>    rename Licenses/gpl-2.0.txt => LICENSES/GPL-2.0-only.txt (82%)
>>>    rename Licenses/isc.txt => LICENSES/ISC.txt (100%)
>>>    rename Licenses/lgpl-2.1.txt => LICENSES/LGPL-2.1-or-later.txt (100%)
>>>    rename Licenses/Exceptions => LICENSES/LicenseRef-OpenSSL-Exception.txt (100%)
>>>    rename Licenses/mit.txt => LICENSES/MIT.txt (100%)
>>>
>>> --
>>> 2.25.1
>>>
>>
>>
>> --
>> =====================================================================
>> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
>> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
>> =====================================================================
>