Don’t use the Unlicense: it’s an inferior license wrapped in an atrocious name.

Not only is it poorly drafted with better alternatives available, but “Unlicensed” means the precise opposite of “unlicensed”.

The Unlicense is intended as a public domain dedication. I don’t think you should use it, but should prefer CC0 (a better public domain dedication) or 0BSD (a public‐domain‐equivalent license) instead. Here’s why.

1. It’s poorly drafted in potentially problematic ways.

The vibe I get is that around 2011 people said “eww, your intent may be good but your wording is bad and it won’t hold water in some places, especially Europe”—​it being drafted by a layman unfamiliar with European law; but that by 2018 or so they mellowed to “OK, so it’s not great, but it’ll probably work despite that—​but CC0 is still better, prefer that instead”.

2. Its name is abysmal.

For me personally it’s actually not its drafting that leads me to despise the Unlicense, but its name, which is an atrociously bad choice. It’s fine when spelled with a definite article (“the Unlicense”), but once you remove the article and express it in other forms (as its website does multiple times and as people habitually do), it’s terrible:

The English term “unlicensed” means “all rights reserved”; that is, you have not been given license to use this. And would they have “Unlicensed” mean “no rights reserved”? [There’s quite a history of auto‐antonyms in English. My favourite is let, which has for a thousand‐odd years meant “permit”, but before that and until comparatively recently also meant the opposite, “hinder”—​a sense that persists in only about two places: the legal expression “let or hindrance”, and the tennis concept of “let”, referring to the net obstructing (though not stopping) the ball. I don’t want “unlicensed” to become an auto-antonym.]

Recommendation one: for public domain dedication, use Creative Commons Zero (CC0) instead.

As noted, basically all relevant parties that have expressed an opinion recommend Creative Commons Zero (SPDX identifier CC0-1.0) instead, as better‐drafted and more thorough.

The OSI specifically have not expressed an opinion; I bet they’re all thinking it, but it’s a delicate matter that they can’t say out loud because they haven’t approved CC0. That looks to be more political than anything else; Wikipedia’s summary (and also an OSI FAQ): Creative Commons applied, some people got antsy about consequences of it explicitly saying patent rights are out of scope (it’s a public domain dedication tool, only dealing with copyright law, so of course they’re out of scope), and Creative Commons withdrew their submission—​my guess without having read the precise history is that they got fed up with the silliness and didn’t care all that much about OSI approval anyway. And then some years later, OSI did eventually approve the Unlicense, which, making no mention of patents and talking explicitly about copyright law (so that there’s absolutely no scope for any implied patent grant, as some say license like MIT have since they don’t identify which branches of law they’re dealing with), should be in precisely the same boat. Go figure. [One amusing result of all this is that the Switchmode Developer Agreement (part of a project led by the inestimable Kyle Mitchell) defines Open License as “a form public license approved by the Open Source Initiative as an open source license, or the Creative Commons CC0 1.0 Universal form license”.]

If you’re looking for public domain dedication, the matter of patents is worth considering. Where patents may be involved, a public domain dedication like Unlicense or CC0-1.0 is actually less permissive than an attribution‐only license that includes a patent grant, such as the Blue Oak Model License 1.0.0 [Again work led by Kyle Mitchell; seriously, check out everything he’s done, there’s a lot of interesting stuff there in the realm of software and making money and law.] (SPDX identifier BlueOak-1.0.0) which, incidentally, you should use instead of the likes of Apache-2.0 and MIT. This is because public domain dedication seems to be done as specifically a copyright law instrument, whereas licenses can (and tend to, whether explicitly or implicitly) cover multiple branches of IP rights.

Worthy of note here is a Fedora-legal-list post from 2022-07-22 disclosing a change in classification of CC0, where they declare that CC0 will no longer be allowed for code in Fedora.

The reason for the change: Over a long period of time a consensus has been building in FOSS that licenses that preclude any form of patent licensing or patent forbearance cannot be considered FOSS. CC0 has a clause that says: "No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document."

CC0 expressly says that it deals in “Copyright and Related Rights”, which it defines by example in some more detail (definitely extending a little into other IP rights not strictly part of “copyright law”), and then at the end clarifies that this excludes trademark and patent rights (which could otherwise be argued to be included as “related rights”).

It seems to me reasonable to expect this style of conclusion to apply to all public domain dedications that so limit their scope. Stay tuned for Unlicense to be formally disallowed for code in Fedora as well, because it explicitly limits its scope to copyright law.

It would be possible to add a patent grant or release on top of a public domain dedication, but no form document I know of offers such a thing; this may be significant, but I don’t think so. I would like to see one. I am mildly surprised that one does not seem to already exist.

Recommendation two: for a public‐domain‐equivalent license, use Zero‐Clause BSD (0BSD).

The zero‐clause BSD license (SPDX identifier 0BSD) is the other interesting and decent choice I know of in this general space. It is a public‐domain‐equivalent license (as distinct from a public domain dedication) for software, containing just a grant of license with no strings attached (hence zero‐clause), and a disclaimer of warranty. It is OSI‐approved.

In terms of the licenses already discussed, 0BSD could be considered to be approximately: MIT minus required attribution; BlueOak-1.0.0 or Apache-2.0 minus required attribution and patent grant; CC0-1.0’s fallback license minus the public domain dedication; or Unlicense minus the attempt at public domain dedication.

This is a good choice if you care about OSI approval and don’t care about the distinction between public domain and public domain equivalent.

There’s also MIT No Attribution (SPDX identifier MIT-0) which is much the same.


Changelog