Immediate-Mode-UI / Nuklear

A single-header ANSI C immediate mode cross-platform GUI library
https://immediate-mode-ui.github.io/Nuklear/doc/index.html
Other
9.06k stars 542 forks source link

Odd licensing? #533

Closed Juul closed 1 year ago

Juul commented 1 year ago

I'm very confused by the licensing.

Public domain is not a license. It is a way of relinquishing your copyright. If you make something public domain then you no longer have any rights to that work.

Licensing software under any license, even an open source license, requires that you own the copyright. You can't license a public domain work as open source because you hold no rights to that work anymore.

Thus, this repository is not dual-licensed. It is not even single-licensed. It is just public domain.

I am not a lawyer but that is my understanding. If I am wrong then I would love to learn something new.

anko commented 1 year ago

Also not a lawyer, but to my understanding, the existence and definition of "public domain" varies between jurisdictions. For example, in some places, it may be impossible to even willingly waive your copyright, which could make the Unlicense arguably grant no rights at all. In such a case, having an alternative very permissive license (like the MIT license here) could work as an "escape valve", since it doesn't involve giving up copyright. Think of it as defensive programming.

A concrete case of this affecting open source software: According to the Wikipedia article on public-domain equivalent licenses, "Google does not allow its employees to contribute to projects under public domain equivalent licenses like the Unlicense and CC0"; presumably due to fears of multiple interpretations of "public domain". Google's employee-directed document in question doesn't specifically clarify, but it seems they would allow employees to contribute to projects that are also licensed under another license that they do approve of. So the dual-licensing scheme here might allow Google employees to submit patches when they couldn't otherwise.

dumblob commented 1 year ago

It is exactly as @anko wrote. Public Domain per se does not exist in several major jurisdictions (e.g. in Europe). Everything in the license(s) which law does not allow (in Europe ownership is defined in law explicitly as existing "forever" and thus not waivable etc.) will be ignored. So most major parts of the Unlicense will be ignored. But there is the MIT as an option and the law will consider it.

To everyone confused by licensing I can recommend Tom Callaway from Fedora as Fedora has super strict licensing rules (see https://docs.fedoraproject.org/en-US/legal/ and the links explaining how to view and handle public domain world-wide). Feel free to take a look also at the Fedora lists of allowed ("good") and not allowed ("bad") licenses: https://docs.fedoraproject.org/en-US/legal/allowed-licenses/ and https://docs.fedoraproject.org/en-US/legal/not-allowed-licenses/ (especially the reasonings why the particular license is "bad" are sometimes eye-opening).

Spoiler: Fedora relicenses public domain stuff to something which all jurisdictions around the world understand and accept - usually it is MIT. Fedora can relicense that because... well... it is public domain :wink:.

Feel free to close this issue if Nuklear licensing became clear to you. Thanks!

Juul commented 1 year ago

Wow thanks for the answers! So basically the dual licensing here means that you get to use it as public domain if your local laws have that concept but otherwise you can use it as MIT licensed. Interesting!