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

Add public domain license to qz-tray.js #1227

Closed
mtoo020 opened this issue Dec 7, 2023 · 6 comments
Closed

Add public domain license to qz-tray.js #1227

mtoo020 opened this issue Dec 7, 2023 · 6 comments

Comments

@mtoo020
Copy link

mtoo020 commented Dec 7, 2023

qz-tray.js is provided as Public Domain but the file doesn't include a @license tag, so our company thinks we need to add @license tag, which is annoying to have to do every time we bundle a new version with our software.

Please can you add a @license tag to qz-tray.js to mark it as in the public domain, or confirm whether it's suitable for qz-tray to not include a @license flag:

I was thinking you could add something like CC0:

/**
 * @version 2.2.3
 * @overview QZ Tray Connector
 * @license CC0
 * <p/>
 * Connects a web client to the QZ Tray software.
 * Enables printing and device communication from javascript.
 */

Thanks for your time and for making great software the world loves :)

@tresf tresf closed this as completed in b59f726 Dec 7, 2023
@tresf
Copy link
Contributor

tresf commented Dec 7, 2023

According to some very brief research, the only CC0 license that I can find is CC0-1.0, so that's committed. This probably goes without saying, but this change will be available upon the release of qz-tray.js@2.2.4, which will be available sometime in (early?) 2024.

@tresf tresf reopened this Dec 7, 2023
@tresf
Copy link
Contributor

tresf commented Dec 7, 2023

Hmm... the more I think about this, the more I realize that this statement is wrong. Although the qz-tray.js API is CC0, but we really don't want the JavaScript code to be CC0 (it's just too dangerous). @mtoo020 are you aware of how projects document this? I'd like the API usage to remain CC0, but I really don't want the file being CC0. CC0 is super dangerous for source code files as it allows others to relicense the work under more restrictive licenses.

Edit: I've reverted to the correct source license, which is exactly LGPL-2.1-only. I'm not sure how to separate usage though.

tresf added a commit that referenced this issue Dec 7, 2023
@tresf
Copy link
Contributor

tresf commented Dec 7, 2023

Example:

  • ❔ Company ABC modifies sample.html code for internal use.
    • ✅ OK. No LGPL-2.1 republishing is needed, sample.html is released as public domain (CC0)
  • ❔ Company ABC has internal developer documentation using QZ Tray API
    • ✅ OK. No LGPL-2.1 publishing is needed, API is released as public domain (CC0) so the LGPL-2.1 license does not infect the derivative work.
  • ❔ Company ABC modifies qz-tray.js source code for internal use
    • 🚫 NOT OK. Source code changes must be in accordance with LGPL-2.1. Publishing changes in accordance with the LGPL-2.1 is required.

I'd also be happy to elaborate on the troubles of CC0 in regards to relicensing. It's most common with creative works (music, photos), but the loopholes can still plague open source software. CC0 actually permits someone to claim copyright of our work and then strike us for it. As an aside, CC0 should probably have a "no strike-back" clause, but then it would be a restrictive license which sort of defeats the purpose. /rant.

@tresf
Copy link
Contributor

tresf commented Dec 7, 2023

Edit: I've reverted to the correct source license, which is exactly LGPL-2.1-only. I'm not sure how to separate usage though.

This is also consistent with the NPM package:

tray/js/package.json

Lines 29 to 35 in e4f3279

"author": "QZ Industries, LLC",
"license": "LGPL-2.1",
"bugs": {
"url": "https://github.com/qzind/tray/issues"
},
"homepage": "https://github.com/qzind/tray#readme"
}

@tresf
Copy link
Contributor

tresf commented Dec 7, 2023

@mtoo020 are you aware of how projects document this?

I checked https://devdocs.io/jsdoc/tags-license and can't find anything about using a separate API for the license either.

@tresf
Copy link
Contributor

tresf commented Dec 10, 2023

Closed via e4f3279. Please request a reopen if there's more to be done here.

@tresf tresf closed this as completed Dec 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants