itchio / itch.io

:bug: Public itch.io issues tracker and documentation - use support instead for private information!
https://itch.io/support
238 stars 25 forks source link

Please add CC0 option to code license #1243

Open ghost opened 2 years ago

ghost commented 2 years ago

The closest I can find is Unlicense, which apparently has issues with it. You can make the assets CC0 but not the code.

ssokolow commented 2 years ago

I second this.

The top answer to What is wrong with the Unlicense? on the Software Engineering StackExchange calls it "not global", "inconsistent", and having "unpredictable applicability" and here are some sources on that.

Not Global

The Unlicense is written with an implicit assumption of a legal system descended from Britain's (i.e. commonwealth law). This is a problem in places like Germany where the law is quite different.

Validity of the Creative Commons Zero 1.0 Universal Public Domain Dedication and its usability for bibliographic metadata from the perspective of German Copyright Law by Dr. Till Kreutzer goes into detail on what such a declaration needs to do in order to be compatible with German law and why the CC0 satisfies those constraints, but the highlights are:

  1. German law doesn't allow authors to waive or transfer their rights, only license them, and the German legal system errs on the side of conservatism when interpreting an author's intent.
  2. There are a bunch of different rights (eg. publicity and privacy rights) which need to be explicitly addressed or they default to "all rights reserved" to protect the author from shooting themself in the foot. This includes database rights which don't exist in the North American view of law that the Unlicense was formed around but do exist in UK and EU law.
  3. For jurisdictions like Germany, the CC0 provides a clause that basically says "If I'm not allowed to give up my rights, then I grant everyone a license that's as equivalent as I can make it". The Unlicense has no such provision.
  4. The CC0 has important lines like "Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted" and "Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License” while the Unlicense does not.
  5. Because German law doesn't let you pre-emptively disclaim or license rights that will be added to the law in the future, the CC0 also has a backup plan in the form of a clause that contains a legally binding promise that you or your heirs won't go to court over the work, even for new rights granted to you in the future. (This renders any attempt at a lawsuit "unjustified" and makes you or your heirs liable for damages if you/they try it anyway.)

Inconsistent

Here's what was said about it on the license-review mailing list for opensource.org:

TL;DR: Paragraph 1 expresses an intent for the covered work to be released into the public domain, while paragraph 4 requires that the covered work not be in the public domain to have effect, and judges and lawyers don't like that kind of ambiguous intent.

Since we're talking about Unlicense, let's go on a bit:

Paragraph (and sentence) #1 professes to put the covered work into the public domain. As mentioned, paragraph 2 professes to be a grant of rights normally reserved by default to a copyright owner, which makes no sense given that the preceding sentence professed to eradicate the work's quality of being ownable. However (upon reflection), in itself that would be harmless if redundant and pointless: One can interpret paragraph 2 as an elaboration of the consequences of the first paragraph.

Paragraph 3 is mostly further explanation of the concept of public domain, and therefore harmless if not useful. Its middle sentence elaborates that the erstwhile author aims to bind heirs and successors, too (which is a logical inclusion, irrespective of whether it works).

Paragraph 4, though, is the one that would be amusing if it weren't tragically broken: It's the warranty disclaimer. People accepting the covered work are obliged to accept the condition of no warranty, otherwise there is no licence. Except, oh, wait: Paragraph 1 professed to put the work in the public domain, so the erstwhile owner has sawed off and evaporated in paragraph 1 all power to require the condition in paragraph 4.

And, my larger point is: This sort of low comedy happens just about every freakin' time software people attempt to engineer a way to nullify copyright law by copying and pasting from existing licences, non-licences, and semi-licences. Bendiken, for example, says that he copied and pasted SQLite's copyright waiver and MIT/X11's warranty disclaimer, and voila! Unlicense.

Text salad from popular projects: What could possibly go wrong?

Bruce calls these crayon licences. I tend to use the phrase 'cargo-cult law'.
(https://secure.wikimedia.org/wikipedia/en/wiki/Cargo_cult#Metaphorical_uses_of_the_term)

-- Rick Moen

Unpredictable Applicability

The shorter a license is, the more it relies of precedent and case law to fill in the gaps for how it will be interpreted. The Unlicense is both short and untested in court.

This is all important because people who might want to use an Unlicensed work may be driven off by the prospect that their derivative work could be contaminated by the legal uncertainty. (What if your creation gets incorporated into something that makes money, and a competitor conspires with whoever now holds the rights to the Unlicensed piece in places like Germany to make trouble for them?)

If it's not already an option, it might also be a good idea to offer the Zero-Clause BSD License license, since it's the closest thing to a public domain dedication that Google will allow code they use to be under and is OSI-approved, and some people may care about that distinction but, at the same time, some people are ideologically opposed to not putting something in the public domain.