Fix and normalize license in .desktop files
ClosedPublic

Authored by sebas on Jul 11 2017, 12:26 PM.

Details

Summary

The license is often specificed as (L)GPL, which means v2, while the
actual code is usually v2 or v2+. This patch reflects that.

Test Plan

checked source files, compared with kaboutdata.cpp keys

Diff Detail

Repository
R119 Plasma Desktop
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
sebas created this revision.Jul 11 2017, 12:26 PM
Restricted Application added a project: Plasma. · View Herald TranscriptJul 11 2017, 12:26 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
mart added a subscriber: mart.Jul 13 2017, 8:18 AM

+1 for all the ones from me

mart accepted this revision.Jul 13 2017, 8:44 AM
This revision is now accepted and ready to land.Jul 13 2017, 8:44 AM
broulik accepted this revision.Jul 13 2017, 8:47 AM
sitter accepted this revision.Jul 13 2017, 12:39 PM

Thanks for doing the leg work.

mak added a subscriber: mak.Jul 13 2017, 1:02 PM

Is there any reason not to use the SPDX license IDs here? => https://spdx.org/licenses/ (e.g. GPL-2.0+ in this case).
In any case, this patch makes things way better, so +1 from me :-)

Is there any reason not to use the SPDX license IDs here?

The values are the ones in KAboutLicense from what I can tell.

Yeah, legacy reasons. I am looking into ways to change this moving forward though. Not sure if the cost-benefit will be reasonable, but it's on my radar and at a glance should be doable in some form or fashion.

This revision was automatically updated to reflect the committed changes.
bam added a subscriber: bam.Nov 9 2020, 10:48 AM

Starting version 2.0, it is no longer valid to use the + operator in a license identifier

should we address it?
https://en.wikipedia.org/wiki/Software_Package_Data_Exchange#Deprecated_syntax

mak added a comment.Nov 9 2020, 12:52 PM

These aren't SPDX identifiers but kaboutlicense keywords https://api.kde.org/frameworks/kcoreaddons/html/kaboutdata_8cpp_source.html#l00397

Makes sense.
@bam As far as the "legacy syntax" is concerned: SPDX broke their conventions multiple times, so on the AppStream side I really got sick of these breaking changes and any syntax is fine. On the KDE side, switching the kaboutlicense keywords to SPDX is probably a bigger endeavour, and may not actually be worth the effort (I would guess that there may be some break risk here). So, this change looks fine to me now, as it is :-)

bam added a comment.Nov 9 2020, 1:19 PM

Thanks for clarifying.

In D6628#676721, @mak wrote:

So, this change looks fine to me now, as it is :-)

And yet it was changed again! :-D
https://github.com/KDE/plasma-desktop/commit/05c230733a1b9d16c0e52eb54955c62d340b94e3

mak added a comment.Nov 9 2020, 1:58 PM
In D6628#676722, @bam wrote:

Thanks for clarifying.

In D6628#676721, @mak wrote:

So, this change looks fine to me now, as it is :-)

And yet it was changed again! :-D
https://github.com/KDE/plasma-desktop/commit/05c230733a1b9d16c0e52eb54955c62d340b94e3

:-D - *That* change also looks good, and apparently it doesn't break anything. The "GPL-2.0+"-style identifiers are encouraged by AppStream as much as "GPL-2.0-or-later", but "GPLv2.0+" is considered legacy. Its curious that AS would even validate this stuff though, as it doesn't look into desktop-entry files (but maybe some auto-generation is at play here).

maspons added a subscriber: maspons.Nov 9 2020, 3:22 PM
maspons added inline comments.
layout-templates/org.kde.plasma.desktop.appmenubar/metadata.desktop
49

Are the changes from GPL to LGPL intended?

layout-templates/org.kde.plasma.desktop.defaultPanel/metadata.desktop
60

Are the changes from GPL to LGPL intended?

layout-templates/org.kde.plasma.desktop.emptyPanel/metadata.desktop
66

Are the changes from GPL to LGPL intended?

toolboxes/paneltoolbox/metadata.desktop
115

Are the changes from GPL to LGPL intended?

toolboxes/plasma-toolbox-paneltoolbox.desktop
119

Are the changes from GPL to LGPL intended?