Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

data: Fix license blurb and add SPDX-License-Identifier #1446

Merged
merged 2 commits into from
Sep 27, 2024

Conversation

pwithnall
Copy link
Contributor

The license blurb mentioned version 2 of the Lesser GPL, which doesn’t
exist — there’s version 2.0 of the Library GPL, or version 2.1 of the
Lesser GPL, but no 2.0 Lesser GPL.

Given that the COPYING file correctly mentions the LGPL 2.1, and the
vast majority of software projects and contributors use version 2.1 in
preference to version 2.0, I think this is a typo which has been
copypastaed across the project.

So, change ‘version 2’ to ‘version 2.1’ in the license blurbs for the
portal API definitions. It’s particularly important that these are
right, because they may well be copied to other projects so that D-Bus
bindings can be generated from them.

In addition, add an SPDX-License-Identifier to the portal API
definitions so the license is machine readable.

Signed-off-by: Philip Withnall pwithnall@gnome.org

The license blurb mentioned version 2 of the Lesser GPL, which doesn’t
exist — there’s version 2.0 of the _Library_ GPL, or version 2.1 of the
_Lesser_ GPL, but no 2.0 Lesser GPL.

Given that the COPYING file correctly mentions the LGPL 2.1, and the
vast majority of software projects and contributors use version 2.1 in
preference to version 2.0, I think this is a typo which has been
copypastaed across the project.

So, change ‘version 2’ to ‘version 2.1’ in the license blurbs for the
portal API definitions. It’s particularly important that these are
right, because they may well be copied to other projects so that D-Bus
bindings can be generated from them.

In addition, add an `SPDX-License-Identifier` to the portal API
definitions so the license is machine readable.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
See the previous commit for reasoning.

This extends the same methodology to the source files in
`document-portal`, `src` and `tests`: fix the version number for files
which look like they were meant to be LGPL-2.1-licensed, and add an
`SPDX-License-Identifier` to them at the same time.

I haven’t touched any files which didn’t have the incorrect LGPL
version.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
@pwithnall
Copy link
Contributor Author

These changes were all done manually, but should be identical in each file — so if you agree with the rationale for the PR, then this should be an easy review despite the number of files the PR touches.

If you don’t agree with the rationale, then the only other option for fixing the licensing (that I can think of) would be to switch all the affected files to use the Library GPL 2.0 blurb (and appropriate SPDX header).

In any case, having the SPDX-License-Identifier header is very useful, as it allows the licensing to be machine readable, and hence tools like reuse lint can be used to verify the licensing of the entire project automatically. See here for an example of how we use that in GLib’s tests. There’s an introduction to REUSE and SPDX here.

Copy link
Member

@GeorgesStavracas GeorgesStavracas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I agree with this, seems like the least disruptive way to fix this

@GeorgesStavracas GeorgesStavracas added this to the 1.20 milestone Sep 27, 2024
@GeorgesStavracas GeorgesStavracas added this pull request to the merge queue Sep 27, 2024
Merged via the queue into flatpak:main with commit 1b5a169 Sep 27, 2024
4 checks passed
@pwithnall pwithnall deleted the spdx branch September 27, 2024 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Triaged
Development

Successfully merging this pull request may close these issues.

2 participants