When you publish Solidity code, you can include machine-readable license identifier in the beginning of the file. Usually, it looks like this:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
...
However, sometimes I see the mark UNLICENSED
. Referring to Solidity doc, it says:
If you do not want to specify a license or if the source code is not open-source, please use the special value UNLICENSED.
https://docs.soliditylang.org/en/latest/layout-of-source-files.html#spdx-license-identifier
BUT, there is also similarly-named UNLICENSE: https://unlicense.org/
What is the Unlicense? The Unlicense is a template for disclaiming copyright monopoly interest in software you've written; in other words, it is a template for dedicating your software to the public domain. It combines a copyright waiver patterned after the very successful public domain SQLite project with the no-warranty statement from the widely-used MIT/X11 license.
Going in the SPDX spec, again there's no option of UNLICENSED
, only UNLICENSE
, which seems to be the same as Unlicense.org. (https://spdx.org/licenses/)
What's the real difference between them? Is there any source where I can verifiably check if UNLICENSED
means what it's supposed to mean?
And most important, can I use the code marked UNLICENSED
?