Please don’t use the Unlicense. It’s at least as bad as CC0. If it works as a public domain dedication (which was its purpose, but lawyerly consensus seems to be that it failed at that and would be interpreted as a license) then it is in exactly the same boat as CC0, and if it works as a license, I see no scope at all for even an implied patent grant, and it explicitly speaks of copyright law as its scope (part of the failed PDD parts of the license), so it should still be in the same boat as CC0. (The only possible argument for any difference is that Unlicense would allow you to slightly more credibly plead ignorance, which seems a fairly absurd argument to me.) See https://chrismorgan.info/blog/unlicense/ for some more info and suggestions. (I do need to mull over the specific recommendations, as another point rises against CC0 specifically, and frankly the concept of public domain dedication in general.) As a starting suggestion, go with 0BSD, which is at least better-drafted than Unlicense and legally unambiguous.
There's a lot of second and third and fourth-hand reports of people who are not lawyers trying to discuss this. Your blog post, for example, cites as a source StackOverflow user "stawberryfields" who claims to have be reiterating something that they read in another StackOverflow answer. I'm not a lawyer, but I also can't afford to hire one. So I'd like to stick to things that actual lawyers have said.
For reference, the OSI's comments when approving The Unlicense:
> There is general agreement that the document is poorly drafted. It is
> an attempt to dedicate a work to the public domain (which, taken
> alone, would not be approved as an open source license) but it also
> has wording commonly used for license grants.There was some discussion
> about the legal effectiveness of the document, in particular how it
> would operate in a jurisdiction where one cannot dedicate a work to
> the public domain. The lawyers who opined on the issue, both US and
> non-US, agreed that the document would most likely be interpreted as a
> license and that the license met the OSD. It is therefore recommended
You seem to interpret "the document would most likely be interpreted as a license" as standing alone, which forms the basis of your critique. I interpret that line in the context of the sentence before. That is to say, I think "the issue" is how the license would be treated in a jurisdiction without a public domain, and I think that the lawyers agree the that it would be treated as a license only in that context.
To quickly address some other points:
Many people comment that "public domain dedication" is an ill-defined legal term and you shouldn't even try. Okay, fine, whatever. I'll happily use a public-domain-equivalent license. Citing the above, The Unlicense works for this purpose.
Your comments on its name are understandable, but as someone who is trying to actually license my code in a public-domain-equivalent way, I can't afford to be picky about that.
I don't trust/understand The FSF's "recommendation" for CC0 because in their guidance on CC0, they explicitly do not recommend using CC0 for software. (Not even to mention the thread we're commenting on.)
Many people on the OSI mailing list harshly criticized The Unlicense for being written by someone that isn't a lawyer. While I understand their concerns, again, I'm not aware of any licenses written by lawyers to be public-domain equivalent. The BSD 0-clause is just deleting portions of the BSD license. Since neither of these were written by lawyers, I feel like I can speculate by saying that The Unlicense seems to me to cover a lot more cases and is a lot more explicit about its intent than 0BSD.
All that is to say, I know that a lot of people don't like The Unlicense. I would love to use a public-domain-equivalent license written by a lawyer with a patent disclaimer. But doesn't exist, and the closest thing in intent is The Unlicense.
I have erred in my understanding of the key sentence you’re quoting. Thank you for pointing that out; I will amend my writings about it. But I didn’t actually build anything on that point; correcting it requires only changing a few words in two places, a minor patch. All of my arguments and other criticisms are still intact.
As for Unlicense versus CC0 or 0BSD, and the patent law matters in question here: the Unlicense explicitly says it’s talking about copyright law, and limits the effects of its fallback license to that. And as a public domain dedication, it can’t exceed that scope. Thus, worldwide it will exclude any patent law considerations just as thoroughly and reliably as CC0 which explicitly reminds you of this fact. This is a decent chunk of the problems with both Unlicense and CC0: public domain dedications only cover copyright law, and consensus has been building that that’s not enough for open source.
If you want a public domain dedication: use CC0, because it’s fairly clearly uniformly better than Unlicense.
If you want a public-domain-equivalent license: use 0BSD or MIT-0, but certainly not Unlicense, because it’s a PDD with fallback license, not a PDEL, which means that it cannot possibly have any implicit patent or trademark grant; you could staple a patent grant on top of it (or better yet, in my opinion, just state clearly that there are no applicable patent rights).
The problem with Unlicense is that by bad drafting it exists partway between PDD and PDEL, and doesn’t do the best job of either. So choose which you want, and take the better option.
It would be nice to have a public-domain-equivalent form license that included a patent grant or release. But Unlicense is not close to that in intent.
It seems to me very clear that the only fully consistent position for Fedora here would be to disallow all forms of public domain dedication (most germanely Unlicense), unless accompanied by some supplemental remark on patent law.
Please do use the Unlicense. I've published dozens of projects that are widely used in production under the Unlicense. In my experience, it works just fine. Granted, I do dual license with the MIT to ease folks' worries, but there have been plenty of contributions to my projects without any fuss. It's my hope that one day the dual licensing will no longer be a necessary hedge, however, for the folks that want to use my work under the Unlicense, they can. The way to make the Unlicense more broadly acceptable, IMO, is for more people to use it.
The only issue that has cropped up from this is that Google employees can use but not contribute to these projects.
I also personally love the name of the Unlicense. Personally, I use it because I'm interested in a bit of advocacy against monopoly copyright interest.
(The fact that Andrew insists on using the Unlicense despite the problems pointed out by quite a few people and the existence of better alternatives like 0BSD is the only thing I have against him. His code and leadership in Rust circles is excellent and I regard him highly in all other technical matters. :-) )
Ditto, I guess? :P (But obviously with the position on the Unlicense flipped.)
To address your indictment head-on: you suggesting the 0BSD as a better alternative is really missing my point. The 0BSD is not an alternative for my use case. The Unlicense is one of the very few overt "political" acts that I inject into the software I produce. Its purpose is to make a statement. The 0BSD doesn't do that IMO, so it's not actually an alternative that meets my advocacy goal.
Hmm… I had indeed forgotten some of those details of your reasoning—it’s mostly stuff that I read several years ago and my memories of it have faded with time.
In suggesting 0BSD, I am indeed talking on legal grounds. For Unlicense, the only part of it that would seem to be any kind of “statement” is its name, which… well, you know my opinion of the misbegotten name. I feel like there must surely be some better way of making that statement (which I agree with!), but I don’t know what.
(I’ve been having fun using BlueOak-1.0.0, which is generally superior to the likes of MIT and Apache-2.0, and have been rather tempted to release things under only that license, and tough luck to anyone that cares about OSI approval, as BlueOak-1.0.0 is not OSI-approved largely because the authors are unimpressed with OSI process after having been involved with it for years in the past, but so far I’ve been doing silly things like trial-licensing BlueOak-1.0.0/MIT/Apache-2.0 to satisfy people’s sensibilities. I’ve also been wondering if I should just throw in the towel and go 0BSD, not like I care about the attribution anyway, or would ever pursue any license violation of any form for reasons of conscience. I had thought of going CC0-1.0 or similar, but legal limitations of PDD versus licenses decided me against it when I was mulling it over. Pity public domain dedication is so hard to do properly and so surprisingly limited in scope.)
=> https://Unlicense.org
It’s what I use for a public-domain-equivalent.