Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to dual license Unlicense + CC0, or a standard software license like Apache 2.0, MIT, or LGPLv3 #45

Open
lordofpipes opened this issue Feb 8, 2022 · 0 comments

Comments

@lordofpipes
Copy link

lordofpipes commented Feb 8, 2022

The current project license for Cloth API is The Unlicense, but this is an unreliable license.

Wikipedia:

The Free Software Foundation states that "Both public domain works and the lax license provided by the Unlicense are compatible with the GNU GPL." However, for dedicating software to the public domain it recommends CC0 over the Unlicense, stating that CC0 "is more thorough and mature than the Unlicense".[1]

The Fedora Project recommends CC0 over the Unlicense because the former is "a more comprehensive legal text".[2]

The Unlicense has been criticized, for instance by the OSI, for being possibly inconsistent and non-standard, and for making it difficult for some projects to accept Unlicensed code as third-party contributions; leaving too much room for interpretation; and possibly being incoherent in some legal systems


Advantages of Unlicense:

  • GPL compatible + FSF approved
  • Short and concise
  • States intent clearly, in plain English

Disadvantages of Unlicense:

  • Not OSI approved
  • "It's not global. It doesn't make sense outside of a commonwealth ecosystem, is explicitly illegal in some places (Germany), and of unclear legality in others (Australia)" [3]
  • "It's inconsistent. Some of the warranty terms cannot, logically, co-exist, given the current legal ecosystem, as written, with the licensing terms." [3]
  • "Its applicability is unpredictable. The license is short, clearly expressing intent, at the cost of not carefully addressing common license, copy-right and warranty issues. It leaves a lot of leeway interpretation - meaning that, in the US, it will take a few trials before you can reliably know when the license is applicable, and how." [3]
  • "Personally, I think of the license as having been written in human-readable pseudo-code, without having been properly compiled yet to a given set of legal systems. " [3]
  • WTFPL is a more entertaining license to read, if you don't care about the above problems with these sorts of crayon licenses.

Advantages of CC0:

  • GPL compatible + FSF approved
  • Using it performs complete waiving of copyright in jurisdictions that allow it, such as the United States and UK
  • Includes a fallback set of clauses for jurisdictions that do not allow complete waiving
  • States intent clearly, in plain English
  • Wikipedia: "CC0 is a useful tool for clarifying that you do not claim copyright in a work anywhere in the world. Because copyright laws differ by jurisdiction, you might be granted an automatic copyright in jurisdictions that you may not be aware of. By using CC0, you signal to the public that you relinquish any such rights."

Disadvantages of CC0:

  • Not OSI approved. Alternative: Go with a standard software license like Apache 2.0, MIT, GPLv3, or LGPLv3
  • Doesn't automatically relinquish any undeclared patent rights the author may hold. Alternative: Apache or GPL

So I propose that this project be re-licensed to dual Unlicense or CC0, or just switch to CC0 only.

Other alternatives:

  • MIT: Has been widely tested in courts across many jurisdictions. Short and concise. Very permissive. Surprisingly effective at thwarting dumb legal problems. GPL compatible. FSF approved. OSI approved.
  • Apache: Has been widely tested in courts across many jurisdictions. Protects against misleading use of an open source project's branding (so if 9Minecraft were to follow the law, they would have to rename your mod to something else if they wanted to inject malware into it). Requires active patent troll litigators to stop using your software as soon as they attempt to sue other users, while also properly granting use to your own patents to the legitimate users who are not patent trolls. GPL compatible. FSF approved. OSI approved.
  • LGPLv3 or GPLv3: Has been widely tested in courts across many jurisdictions. Enforces copyleft restrictions (probably not suitable for an API). Requires active patent troll litigators to stop using your software as soon as they attempt to sue other users, while also properly granting use to your own patents to the legitimate users who are not patent trolls. States intent clearly in plain English. FSF approved. OSI approved. Compatible with Bukkit if needed.

(I'm not a lawyer, I may have gotten something wrong, this is just my general knowledge on the topic)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant