qzind / tray

Browser plugin for sending documents and raw commands to a printer or attached device.
https://qz.io
Other
823 stars 266 forks source link

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

Closed mtoo020 closed 6 months ago

mtoo020 commented 7 months ago

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 commented 7 months ago

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 commented 7 months ago

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 commented 7 months ago

Example:

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 commented 7 months ago

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: https://github.com/qzind/tray/blob/e4f327972bbad2f091dfcde1c1941623dd45d6e7/js/package.json#L29-L35

tresf commented 7 months ago

@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 commented 6 months ago

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