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

Need help establishing source (and thus copyright) for these assets #135

Closed
sten0 opened this issue May 16, 2022 · 17 comments · Fixed by #136 or #137
Closed

Need help establishing source (and thus copyright) for these assets #135

sten0 opened this issue May 16, 2022 · 17 comments · Fixed by #136 or #137

Comments

@sten0
Copy link
Contributor

sten0 commented May 16, 2022

Hi @Martchus,

I checked git history but didn't find documentation for the source of these graphics assets:

tray/resources/icons/hicolor/256x256/apps/syncthingtray.png
-- Syncthing
tray/resources/icons/hicolor/256x256/apps/syncthingtray.png.xmp
-- Does not exist

model/resources/icons/hicolor/scalable/mimetypes/text-x-generic.svg
-- Breeze
model/resources/icons/hicolor/scalable/status/syncthing-default.svg
-- Syncthing
tray/resources/icons/hicolor/scalable/actions/application-menu.svg
-- Breeze
tray/resources/icons/hicolor/scalable/actions/appointment-new.svg
-- Breeze
tray/resources/icons/hicolor/scalable/actions/download.svg
-- Breeze
tray/resources/icons/hicolor/scalable/actions/edit-copy.svg
-- Breeze
tray/resources/icons/hicolor/scalable/actions/folder-sync.svg
-- Breeze
tray/resources/icons/hicolor/scalable/actions/help-about.svg
-- Breeze
tray/resources/icons/hicolor/scalable/actions/media-playback-pause.svg
-- Breeze
tray/resources/icons/hicolor/scalable/actions/media-playback-start.svg
-- Breeze
tray/resources/icons/hicolor/scalable/actions/network-connect.svg
-- Breeze
tray/resources/icons/hicolor/scalable/actions/window-close.svg
-- Breeze (possibly old version, definitely not modified)
tray/resources/icons/hicolor/scalable/apps/help-about.svg
-- Breeze
tray/resources/icons/hicolor/scalable/apps/syncthingtray.svg
-- Syncthing
tray/resources/icons/hicolor/scalable/emblems/8/emblem-error.svg
-- Breeze
tray/resources/icons/hicolor/scalable/places/folder-download.svg
-- Breeze
tray/resources/icons/hicolor/scalable/places/folder-open.svg
-- Breeze
tray/resources/icons/hicolor/scalable/places/folder.svg
-- Breeze
tray/resources/icons/hicolor/scalable/places/network-workgroup.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/actions/document-open.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/actions/edit-paste.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/actions/edit-undo.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/actions/go-down.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/actions/go-up.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/actions/list-add.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/actions/list-remove.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/actions/process-stop.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/actions/view-refresh.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/app/syncthingtray.svg
-- Syncthing
widgets/resources/icons/hicolor/scalable/apps/internet-web-browser.svg
-- Breeze
widgets/resources/icons/hicolor/scalable/apps/preferences-other.svg
-- Breeze (possibly an outdated version)
widgets/resources/icons/hicolor/scalable/apps/system-run.svg
-- Breeze

If you care to assert copyright for any modifications, please note them, otherwise I'll attribute them to upstream when I write the detailed copyright file (where I need to list all copyright holders and the years they hold copyright...this chore is great fun)

Thanks!

@sten0 sten0 added the bug label May 16, 2022
@Martchus
Copy link
Owner

Martchus commented May 16, 2022

I haven't done any adjustments. So attributing them to the upstream project (https://invent.kde.org/frameworks/breeze-icons or Syncthing) is correct.

Note that these icons are just meant as fallback for the case the user's icon theme does not provide certain icons (or the user has no icon theme installed at all). This is also not covering all icons but only those where it would be quite bad if the icon is missing (because otherwise there's no text and only the tooltip).

@Martchus Martchus added help wanted and removed bug labels May 16, 2022
@Martchus
Copy link
Owner

I was so free to update your comment. Generally all icons are from Breeze except for a few icons that are from Syncthing; I've never added icons from somewhere else. (Except for Font Awesome icons but I threw those out with 43fcb9f.)

Martchus added a commit that referenced this issue May 16, 2022
@sten0
Copy link
Contributor Author

sten0 commented May 18, 2022

Thank you for the quick reply! I also replied quickly, but github appears to have failed to transfer my email reply to this page. You'll want to read to the end before making changes.

Martchus notifications@github.com writes:

I haven't done any adjustments. So attributing them to the upstream project (https://invent.kde.org/frameworks/breeze-icons) is correct.

Thanks for confirming this. Please note that for license compliance
you'll need to include a copy of the GNU Lesser General Public License
v3.0 in your repository (conventionally placed in COPYING.LESSER when
the COPYING holds the GPL), and should also attribute the files to 2014 Uri Herrera, at a minimum, who held the copyright at the time you imported. As an aside, LGPL v3 is incompatible with GPL-2, so if these icons are included in the
build as a resource, then Syncthing Tray becomes effectively GPL-3+, which is permitted by GPL-2+. 'just mentioned this in case it effects the Windows case.

Note that these icons are just meant as fallback for the case the user's icon theme does not provide certain icons (or the user has no icon theme installed at all). This is also not covering all icons but only those where it would be quite bad if the icon is missing (because otherwise there's no text and only the tooltip).

I remember this :) In Debian all files' copyright and license must be documented, even for totally unused files (eg: not used in any way during the build process and that don't end up in the package).

I was so free to update your comment. Generally all icons are from Breeze except for a few icons that are from Syncthing; I've never added icons from somewhere else. (Except for Font Awesome icons but I threw those out with 43fcb9f.)

Thank you! I had hoped that that list would make it easier for you to
reply. Ftpmasters will also ask me to ask you to include a copy of
whatever license these Syncthing assets use. They appear to have been
originally imported (2016-09-30
6470038). At this time, Syncthing's SVG icons were GPL-3+
(syncthing/syncthing#8347), but the PNG was
MIT/Expat (or optionally GPL-3+). If the SVG icon is included in the
build as a resource, then Syncthing Tray becomes effectively GPL-3+ (which is permitted by GPL-2+).

If you would prefer to use MPLv2 for both icons, and want the simplest
solution, please reimport from https://github.com/syncthing/syncthing.
This solution was recommended here: syncthing/syncthing#8347 (comment)

Whatever you choose to do, for license compliance each of MIT/Expat,
MPLv2, and GPL-3+ requires a copy of the license text along with attribution of copyright holders in a file distributed along with your work.

For your convenience, here is a copy for Breeze:
https://github.com/KDE/breeze-icons/blob/master/COPYING-ICONS

The Syncthing case case is more complex... At the time you imported the icon, from what I can tell the copyright was still held by Gilli Sigurdsson, the PNG was MIT/Expat, and then the SVG was added by
Jakob Borg, who says it inherited the Syncthing license at the time (GPL-3+). If you use upstream's proposed solution and reimport then you can use the following copyright file, with the addition of "© 2014-2022 The Syncthing Authors" at the top https://github.com/syncthing/syncthing/blob/main/LICENSE

https://tldrlegal.com/license/mit-license
https://tldrlegal.com/license/mozilla-public-license-2.0-(mpl-2)
https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)

@sten0
Copy link
Contributor Author

sten0 commented May 18, 2022

P.S. No, linking to a URL of the license and copyright holders is insufficient, it needs to be provided in repo.

@Martchus
Copy link
Owner

Martchus commented May 18, 2022

I would generally have no problem with Syncthing Tray effectively becoming GPL-3+. I'll look into the required changes at the weekend. I suppose a re-import of the Syncthing icons won't hurt. Maybe it makes even generally sense to re-import all the icons. If you like you can also go ahead and create a PR yourself as you apparently have a much clearer idea how this needs to be done and I do generally not care about these details. (I'll assign myself on this GitHub issue as soon as I start working on it myself.)

@sten0
Copy link
Contributor Author

sten0 commented May 18, 2022

K, I'm starting work. Please don't squash commits in the upcoming PR, because they make establishing asset source history much more clear

@sten0
Copy link
Contributor Author

sten0 commented May 18, 2022

I completed the Syncthing ones, but ran into an issue with the Breeze ones. It appears that the copy of Breeze Icons that you synced maybe have been from before the split to light and dark variants. Your copy has color:#4d4d4d, where the current two available options are color:#eff0f1 or color:#232629. This is for application-menu.svg, but it serves as a good policy-setting example. Which variant would you like me to sync, or would you like to retain your old copy and sync only the Breeze Icons license?

Alternatively, I seem to remember there being an issue about ultra-low contrast or invisible icons bug that affect non-Debian distributions. If the icons in that bug report are using color:#4d4d4d then I think I may have uncovered the nature of the bug ;)

@sten0
Copy link
Contributor Author

sten0 commented May 18, 2022

P.S. I can of course sync both the dark and the light variants if you'd like to add a contrast-aware feature to the fallback icons

@Martchus
Copy link
Owner

Martchus commented May 19, 2022

K, I'm starting work. Please don't squash commits in the upcoming PR, because they make establishing asset source history much more clear

Thanks and noted. Just follow my general style for commit messages (start with capitalized character, preferably an imperative verb).

Which variant would you like me to sync, or would you like to retain your old copy and sync only the Breeze Icons license?

Either sync the version intended for light themes (the one where icons itself are dark) or just keep them as-is. The last option is likely the least problematic but I don't care.

Alternatively, I seem to remember there being an issue about ultra-low contrast or invisible icons bug that affect non-Debian distributions.

These were about Fork Awesome icons.

@sten0
Copy link
Contributor Author

sten0 commented May 20, 2022

K, I'm starting work. Please don't squash commits in the upcoming PR, because they make establishing asset source history much more clear

Thanks and noted. Just follow my general style for commit messages (start with capitalized character, preferably an imperative verb).

Done (I also use this style by default)

Which variant would you like me to sync, or would you like to retain your old copy and sync only the Breeze Icons license?

Either sync the version intended for light themes (the one where icons itself are dark) or just keep them as-is. The last option is likely the least problematic but I don't care.

Thank you for the answer to this question. I injured my index finger two days ago so will need to take a day or two off. I've submitted #136 in the meantime, for the Syncthing icons. Let me know if you'd like to take care of Breeze Icons yourself. If you want to use the existing icons in the repo, I think you only need to add the license file with copyright info. For your convenience, use https://invent.kde.org/frameworks/breeze-icons.git, grab COPYING-ICONS and rename it to LICENSE.LESSER, COPYING.LESSER, or similar

https://www.gnu.org/licenses/gpl-howto.html

Alternatively, I seem to remember there being an issue about ultra-low contrast or invisible icons bug that affect non-Debian distributions.

These were about Fork Awesome icons.

Thanks for the clarification, my mistake.

@sten0
Copy link
Contributor Author

sten0 commented May 20, 2022

I would generally have no problem with Syncthing Tray effectively becoming GPL-3+. I'll look into the required changes at the weekend.

The logic of this is ((declared GPL-2+) + (declared MPL-2.0 | LGPL-3.0+)) = (distribuable under effective GPL-3+)

Were there license ((declared GPL-2-only) + (declared MPL-2.0 | LGPL-3.0+)) = UNDISTRIBUABLE (license change to GPL-2+ or GPL-3+ required).

So no change is required. I just wanted to mention it in case you're using a Windows installer builder that prohibits GPL-3+.

Other than that, this is the main difference between the two licenses (the only one that affects Syncthing Tray as far as I can tell): https://www.lexology.com/commentary/tech-data-telecoms-media/international/osborne-clarke/open-source-software-and-patents-how-the-gplv3-affects-patent-portfolios#:~:text=According%20to%20Section%2011(3,otherwise%20run%2C%20modified%20and%20propagated.

[edit: Hm, that link only allows one view... Here's another https://fsfe.org/activities/gplv3/patents-and-gplv3.en.html ]

@Martchus
Copy link
Owner

Thanks for your PR, I've merged it. Apparently GitHub closed the issue automatically so I'll reopen it. When I find the time I'll assign myself. Otherwise, feel free to go ahead with the Breeze changes when you can. Let's hope your finger will recover soon :-)

I'll also read the licensing article. Luckily I don't use any kind of Windows installer.

@sten0
Copy link
Contributor Author

sten0 commented May 23, 2022

Either sync the version intended for light themes (the one where icons itself are dark) or just keep them as-is. The last option is likely the least problematic but I don't care.

Thanks for your PR, I've merged it. Apparently GitHub closed the issue automatically so I'll reopen it. When I find the time I'll assign myself. Otherwise, feel free to go ahead with the Breeze changes when you can. Let's hope your finger will recover soon :-)

I chose to go with "the least problematic" option, and also because I need to minimise use of my index tendon for a few more days--just a sprain, thankfully, but rest is important to prevent chronic tendinitis from emerging. I'm guessing it's OK to let GH auto-close this issue when you merge the PR. Also, would you please tag a patch level release? I'll import that into Debian, and then (finally!) the package will be ready.

I'll also read the licensing article. Luckily I don't use any kind of Windows installer.

Whew, that simplifies things ;)

@Martchus
Copy link
Owner

I chose to go with "the least problematic" option, and also because I need to minimise use of my index tendon for a few more days--just a sprain, thankfully, but rest is important to prevent chronic tendinitis from emerging.

Makes sense and thanks for the PR.

Also, would you please tag a patch level release?

I would have done the next release on 2022-06-07 when also the next Syncthing version will be released. However, I can also release it earlier. I surely find the time to do the release this week, e.g. tomorrow.

@sten0
Copy link
Contributor Author

sten0 commented May 24, 2022

I chose to go with "the least problematic" option, and also because I need to minimise use of my index tendon for a few more days--just a sprain, thankfully, but rest is important to prevent chronic tendinitis from emerging.

Makes sense and thanks for the PR.

You're welcome :)

Also, would you please tag a patch level release?

I would have done the next release on 2022-06-07 when also the next Syncthing version will be released. However, I can also release it earlier. I surely find the time to do the release this week, e.g. tomorrow.

Thanks! Uploaded!

@Martchus
Copy link
Owner

Looks like the licensing badge is now a bit overwhelmed :-)
https://github.com/Martchus/syncthingtray#syncthing-tray=

(I guess I can live with that.)

@sten0
Copy link
Contributor Author

sten0 commented Oct 11, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants