12

I'm interested in publishing a small script of mine with effectively no conditions, including attribution. What's the best license to accomplish this? It looks like the most popular options are:

From what I understand, these have the following drawbacks:

  • CC0 contains a clause which excludes from the scope of the license any relevant patents held by the copyright holder. This resulted in it getting disapproved by the OSI, and not recommended for software by the FSF. It also may cause issues in jurisdictions that don't allow work prematurely dedicated into the public domain. The FSF has this to say about it:

    CC0 is a public domain dedication from Creative Commons. A work released under CC0 is dedicated to the public domain to the fullest extent permitted by law. If that is not possible for any reason, CC0 also provides a lax, permissive license as a fallback. Both public domain works and the lax license provided by CC0 are compatible with the GNU GPL.

    If you want to release your non-software work to the public domain, we recommend you use CC0. For works of software it is not recommended, as CC0 has a term expressly stating it does not grant you any patent licenses.

    Because of this lack of patent grant, we encourage you to be careful about using software under this license; you should first consider whether the licensor might want to sue you for patent infringement. If the developer is refusing users patent licenses, the program is in effect a trap for users and users should avoid the program.

    https://www.gnu.org/licenses/license-list.en.html#CC0

  • UNLICENSE does not have this clause, but it is also unclear whether it would be valid in countries with different public domain laws.

  • WTFPL is also effectively a public domain license but seems to be mostly a joke, as it doesn't even contain a no-warranty disclaimer.
  • 0BSD seems to be the only license I can find that has no conditions (aside from the no-warranty disclaimer), but also doesn't fall into the trap of public domain laws. It is the only one of these that is officially approved by the OSI, but is also relatively unpopular which could hurt credibility.

All of these are GPL-compatible.

Based on this, 0BSD is what I'm leaning toward. Are there any better alternatives, or other drawbacks I'm missing?

Apache 2.0 or BSD+Patent are both preferable with regard to patents, but they have attribution clauses, and Apache is GPLv2 incompatible.

3
  • 1
    If you want a "popular" alternative, what is wrong with the normal 3-clause BSD license? It requires attribution, but distinguishes between source and binary forms. For binary forms, it explicitly says that you only need to provide 'atttribution' (actually, the copyright notice) in the documentation "and/or other materials provided with the distribution." To me this makes it very easy for anyone to comply with it (nothing in the program itself needs to be added).
    – Brandin
    Commented Dec 5, 2019 at 7:05
  • 2
    The script is small enough that I don't want any attribution clauses. It should be able to just be copied freely.
    – Radish
    Commented Dec 5, 2019 at 22:57
  • 2
    There is also "public domain" which could be said to be popular but the problem with that is that it is pretty much US-specific.
    – Brandin
    Commented Dec 6, 2019 at 7:39

2 Answers 2

12

Kyle E. Mitchell on /dev/lawyer makes a compelling argument against using no-attribution licenses like 0BSD, et al.:

Some recent licenses, like 0BSD, omit attribution conditions. There is literally nothing users have to do to use or reuse work under these licenses. That’s the ideal of “anti-licenses” like WTFPL and also public domain dedications: Anyone should be able to treat the work as if they themselves wrote it. It’s as if intellectual property laws, or at least copyright laws, didn’t exist. Zero friction.

But copyright laws aren’t the only laws bearing on software. Even when clients don’t care one lick about credit for work done, I recommend they stick to licenses with attribution conditions, like MIT, BSD, and Apache 2.0. Why? Attribution conditions help ensure that disclaimers—the parts in ALL CAPS—remain intact, and reach end users, so they have legal effect.

The defaults make a lot of sense when you’re buying software from a vendor. But offering those kinds of warranties is a lot to ask for no dollars in return, as with open source. So open source licenses almost uniformly reverse those defaults, by disclaiming implied warranties. Contributors give their work away, but it’s up to users to decide whether to rely upon it, and to accept the whole risk of doing so. At least in most countries, which honor written disclaimers.

Reversing the defaults requires sending users a message that different rules apply. By requiring copies of the software to come with copies of disclaimers, attribution conditions ensure those messages reach users, who might otherwise sue under a default warranty. The point isn’t “here is the person you should shower with credit”. The point is “here is a note making clear you can’t hold them accountable”.

https://writing.kemitchell.com/2018/08/28/Unhappy-Coincidences.html#attribution-doesnt-mean-credit

This was enough to dissuade me from using any of these licenses.

1
  • 1
    While the 0BSD does not require retention of disclaimer of warranties, if a future user tries to sue the original author because another author didn't include the disclaimer, shouldn't the original author still be able to protect themselves by showing the original software with the original license, including the warranty disclaimer? Commented May 22, 2023 at 3:59
3

Copyright James Daniel Marrs Ritchey. This material was created for submission at 'Recommended license for small script without an attribution clause?', but can also be alternatively obtained from 'https://snippetly.blogspot.com/2019/12/searching-for-permissive-license-with.html' under the terms of any of the following licenses: Ritchey Permissive License v6 (https://jamesdanielmarrsritchey.blogspot.com/2019/12/ritchey-permissive-license-v6.html), The 2-Clause BSD License (https://opensource.org/licenses/BSD-2-Clause).

The following licenses are very permissive, don't require attribution, and include disclaimers:

  1. GNU All-permissive License (https://en.wikipedia.org/wiki/GNU_All-permissive_License) It is very similar to the WTFPL. It does not require attribution, and does include a disclaimer of warranty. However, unlike the WTFPL it requires retention of the license terms in derived works.

  2. Ritchey Permissive License v6 (https://jamesdanielmarrsritchey.blogspot.com/2019/12/ritchey-permissive-license-v6.html) Like the WTPFL it does not require attribution, or retention of the license in derived works. It does include a disclaimer of liability. However, it imposes arbitration requirements.

  3. Zero-Clause BSD (https://opensource.org/licenses/0BSD) Just like the WTPFL it does not require attribution, but unlike the WTPLF it does have a disclaimer. However, notice retention is required. Also, while the license is irrevocable, like many short licenses it doesn't actually use the word 'irrevocable'. Longer more thorough licenses often go out of their way to include this term to fully clarify the license cannot be revoked, or can be only under a breach of the terms.

You don't have to settle on one license. You might consider releasing your work under multiple in case your users have a preference.

5
  • 1
    Interesting, hadn't heard of the GNU All-permissive license. Looks like it does have an attribution clause, though: “Copying and distribution of this file, with or without modification, are permitted in any medium without royalty, provided the copyright notice and this notice are preserved.”
    – Radish
    Commented Dec 17, 2019 at 0:34
  • 3
    If you release under several licenses, you are liable under the one that protects you least...
    – vonbrand
    Commented Mar 12, 2020 at 0:21
  • @Radish, if the notice isn't carried along, somebody might get the work without it, and you'd be liable.
    – vonbrand
    Commented Mar 12, 2020 at 0:22
  • 1
    Are you sure that the Zero-Clause BSD requires notice retention?
    – Flux
    Commented Mar 4, 2021 at 12:59
  • 2
    Unlike other BSD licenses, the Zero-Clause BSD license does not require retention of any notice. Permission is granted "for any purpose" without requiring attribution. The warranty disclaimer protects the original author, but does not need to be included with the software. Commented May 22, 2023 at 4:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.