After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 779434 - aisleriot appstream metadata licence
aisleriot appstream metadata licence
Status: RESOLVED FIXED
Product: aisleriot
Classification: Other
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: aisleriot-maint
aisleriot-maint
Depends on:
Blocks:
 
 
Reported: 2017-03-01 19:04 UTC by Jeremy Bicha
Modified: 2019-01-06 05:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Relicense appdata to GFDL-1.1+ and make it validate (1.56 KB, patch)
2017-03-01 19:04 UTC, Jeremy Bicha
needs-work Details | Review
Install appstream metadata to /usr/share/metainfo (787 bytes, patch)
2017-03-01 19:08 UTC, Jeremy Bicha
committed Details | Review

Description Jeremy Bicha 2017-03-01 19:04:54 UTC
aisleriot's appstream metadata does not validate.

Because of this, it's falling back to using the .desktop on Ubuntu 17.04 Beta for metainfo instead of the appstream metadata supplied.

The appstream maintainers require that appstream metadata use a permissive license.

I'm suggesting the GFDL-1.1+ since the docs already use that, although you're free to use something else.
Comment 1 Jeremy Bicha 2017-03-01 19:04:57 UTC
Created attachment 346989 [details] [review]
Relicense appdata to GFDL-1.1+ and make it validate
Comment 2 Jeremy Bicha 2017-03-01 19:08:05 UTC
Created attachment 346990 [details] [review]
Install appstream metadata to /usr/share/metainfo

The recommended location is /usr/share/metainfo/ instead of /appdata
so let's do that too now.

This is supported by Ubuntu 16.04 LTS
Comment 4 Christian Persch 2017-03-01 20:36:34 UTC
(In reply to Jeremy Bicha from comment #0)
> The appstream maintainers require that appstream metadata use a permissive
> license.

And I don't license my work under nonfree licences. So we're at an impasse.
Comment 5 Christian Persch 2017-03-01 20:39:51 UTC
Comment on attachment 346989 [details] [review]
Relicense appdata to GFDL-1.1+ and make it validate

Update contact should be [https://bugzilla.gnome.org/enter_bug.cgi?product=aisleriot] not my email.
Comment 6 Christian Persch 2017-03-01 20:45:41 UTC
(In reply to Christian Persch from comment #4)
> (In reply to Jeremy Bicha from comment #0)
> > The appstream maintainers require that appstream metadata use a permissive
> > license.
> 
> And I don't license my work under nonfree licences. So we're at an impasse.

Sorry I didn't ready carefully, you suggested GFDL (which is free) not CC like the other bugs. Still I don't see anything wrong with GPLing these files.
Comment 7 Christian Persch 2017-03-01 20:51:57 UTC
(In reply to Jeremy Bicha from comment #3)
> Also, here's some updated screenshots you can use (these are already used in
> Fedora):

b.png and c.png don't show the default card theme, so those are out. The other two (a & d) are ok to add. (Except I don't see a licence? Well, they're GPL3+ since as screenshots they are derived works of aisleriot which is GPL3+, but it would be good to have an explicit statement by whoever did them.)
Comment 8 Jeremy Bicha 2017-03-01 21:04:39 UTC
As for GPL, you'll have to talk to the appstream maintainers about that. See the (new) explanation here
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-metadata_license

and
https://github.com/hughsie/appstream-glib/issues/158

I believe the screenshot creator is Richard Hughes who I subscribed to this bug and he is one of the appstream maintainers.

http://pkgs.fedoraproject.org/cgit/rpms/aisleriot.git/commit/aisleriot.spec?id=14e3cd8e

I don't think you can claim screenshots are derivative works. If that were so, why does Windows include a screeenshot tool but no explicit license to screenshot their software?
Comment 9 Richard Hughes 2017-03-01 22:04:29 UTC
There are two reasons why we ask upstream projects to choose a content license rather than a code licence for an XML file:

 1. Red Hat Legal told us we should

 2. We have to aggregate the metadata into a composite document, itself with a license. At the moment it's a short string, (e.g. "CC0 AND CC-BY AND GFDL..") and when we were building the foundations of AppStream we did actually just allow projects to ignore the metadata_licence and then we then fell back to use the project licence. Because open source software is rarely "License=GPLv{number}+" the string just grew and grew as you can't just take out all the brackets. Something like LibreOffice was different to OpenOffice, and IIRC just the "license" string of the composite document was several *thousand* lines long. This was plainly ridiculous and the lawyers told us so.

There are just over a 1200 projects now shipping an AppData file. Out of these, 3 are refusing to use a content license. I'm perfectly happy just not showing those three applications if it comes to that, although it would be a shame as aisleriot is a pretty cool app.

> they're GPL3+ since as screenshots they are derived works of aisleriot

That's not how licensing works. You are free to use my screenshots however you like and re-licence them as you see fit, although most projects don't explicitly tag screenshots with a license as it doesn't really make sense.
Comment 10 Jeremy Bicha 2017-05-03 23:48:41 UTC
Comment on attachment 346990 [details] [review]
Install appstream metadata to /usr/share/metainfo

Attachment 346990 [details] pushed as f2c0dad - Install appstream metadata to /usr/share/metainfo
Comment 11 Jeremy Bicha 2017-06-24 17:21:09 UTC
Christian, I ask again: please relicense your appstream data as CC0.

I only proposed GFDL originally since you already use that license in your docs, but CC0 is by far the most commonly used licensed for appstream data.

Without relicensing, the appstream data can't be used by the GNOME Software app. What's the point in keeping it in the source tree if it can't be used by users?

This also affects the other apps you maintain:
evince
gnome-terminal
gucharmap
Comment 12 Jeremy Bicha 2017-08-08 15:26:30 UTC
Christian, ping!

It would be great to resolve this issue for GNOME 3.26.
Comment 13 Christian Persch 2018-03-03 19:43:14 UTC
I ended up adding a GFDL dual option.
Comment 14 Jeremy Bicha 2018-03-03 19:54:06 UTC
Christian, I appreciate your recent commit.

However, your innovative syntax is not recognized as valid. You can see this for yourself if you run

 appstreamcli validate sol.appdata.xml

Suggested Fix
-------------

  <metadata_license>GFDL-1.3</metadata_license>
  <!--Metadata is also licensed as GPL-3.0+-->
Comment 15 Christian Persch 2018-03-03 20:12:37 UTC
Well I don't have that tool installed; what is the correct syntax to express "at your option, either A, B, or both" ?

And <metadata_license> *must* be correct; setting it to only GFDL would make anything consuming it think the licence is *only* that, when in fact they have the much preferable GPL option.
Comment 16 Christian Persch 2018-03-03 21:03:41 UTC
GFDL-1.3-only is the correct licence tag as per SPDX, and appstream appears to support '|'. The main problem is in appstream's as_license_is_metadata_license() which has a thinko: it checks for *every* licence being a 'content licence' whereas it only needs to check that *one of the alternatives* is a 'content licence'.

-> appstream upstream bug, AFAICT
Comment 17 Jeremy Bicha 2018-03-03 21:15:22 UTC
(In reply to Christian Persch from comment #15)
> Well I don't have that tool installed;

Try installing   appstream

(In reply to Christian Persch from comment #16)
> GFDL-1.3-only is the correct licence tag as per SPDX, and appstream appears
> to support '|'. The main problem is in appstream's
> as_license_is_metadata_license() which has a thinko: it checks for *every*
> licence being a 'content licence' whereas it only needs to check that *one
> of the alternatives* is a 'content licence'.
> 
> -> appstream upstream bug, AFAICT

Thank you for your additional research. It sounds like there are two separate upstream bugs (GFDL-1.3-only isn't recognized yet by appstream).

https://github.com/ximion/appstream/issues

But it will take months for distros to support the new syntax so it might be better to take my proposal for now and update the metadata again a bit later (GNOME 3.30 would be fine.)
Comment 18 Christian Persch 2018-03-03 21:31:35 UTC
(In reply to Jeremy Bicha from comment #17)
> Thank you for your additional research. It sounds like there are two
> separate upstream bugs (GFDL-1.3-only isn't recognized yet by appstream).
> 
> https://github.com/ximion/appstream/issues

I don't see an existing issue for this; someone else will have to file it (I don't have an account on github).
Comment 19 Jeremy Bicha 2018-03-07 20:20:58 UTC
Done.

https://github.com/hughsie/appstream-glib/issues/225
https://github.com/hughsie/appstream-glib/issues/226

I'm guessing that the "or" issue will be fixed faster than the "-only" issue.

Meanwhile, I have to use a patch like
https://salsa.debian.org/gnome-team/gnome-terminal/blob/debian/master/debian/patches/0006-fix-invalid-appstream-metadata.patch
Comment 20 Jeremy Bicha 2019-01-06 05:20:11 UTC
This has been fixed for a while. Thanks!