The most permissive liscense known to me, Creative Commons Zero disallows patenting of the source but I would like to grant all permissions except warranty.
-
1Are you aware that if somebody else patents the ideas in your source you would not be able to use it any more?– Philip KendallMay 21, 2022 at 8:53
-
@PhilipKendall Ah, I was not aware. Apoligies for not doing the research before-hand.– AnmMay 21, 2022 at 9:08
-
1@PhilipKendall I'm not sure I entirely agree with that. It seems to me that if someone else already has a strong patent on any of the ideas in your source you may have a problem regardless of licence, and if they don't yet have one, publication can serve as evidence of prior art.– MadHatter ♦May 21, 2022 at 9:28
-
1@AaravPrasad when you say "grant all permissions except warranty" do you mean that you don't want to offer any warranty on your freely-available source, or that you don't want anyone else to be able to offer one on it, or something else entirely?– MadHatter ♦May 21, 2022 at 9:29
-
@MadHatter Yes, I did mean to not offer any warranty for it. I presume delving further into this topic would be a dead end since I did not know and would not want conflicts on my source if someone decides to patent it. However I do want to be able to the allow code being present in the patent (if the patent is only not the whole code itself) if it would not cause any conflicts but I assume the license already does allow that.– AnmMay 21, 2022 at 9:52
1 Answer
You are probably looking for a permissive Open Source license.
The most common permissive license might be the MIT or ISC licenses. They allow all kinds of uses and have a warranty disclaimer, but require attribution.
There are some ultra-permissive licenses that get rid of the attribution requirement. For example, the 0BSD license is the ISC license minus the attribution requirement. The Boost license eliminates its attribution requirement for binary versions, but not for the source code of the software.
There are some devices that try to dedicate the work into the public domain, such as CC0 (and arguably the Unlicense). But it's important to understand what public domain means here: it means that the work is free from copyright restrictions, but it completely ignores other kinds of IP such as patents. It is in principle possible that a software is public domain, but that other people can't use or distribute it because it implements a patented technique, for example a proprietary media codec. Normal Open Source licenses like the MIT license give broad permission to actually use and distribute the software, without restricting their grant to certain kinds of IP such as copyright.
Still, this distinction only really matters if one of the copyright holders in the software is also a patent holder. No license can grant a right to use someone else's patents.
In your question, you voiced the concern that CC0 “disallows patenting of the source”. This is a misunderstanding on multiple levels.
- CC0 only touches on copyright. It explicitly ignores patent-related issues. It does not grant or forbid anything in relation to patents.
- Patents are granted for novel inventions. Source code itself is not patentable, but software might implement a patentable invention.
- Since the invention must be novel, patents won't be granted if there's prior art for the invention. Thus, publishing a software which implements an invention, before a patent application for the invention was filed, counts as “prior art” which means that no patent should be granted. In some cases, the inventor can apply for the patent some time after publication. In any case, only the inventor but no third party can apply for a patent.
In this sense, any publication of software regardless of license or copyright status prevents later patenting of the inventions therein.
With patents, there is some concern about “submarine patents” or “patent treachery”: that someone might (secretly) hold a patent for a technique, then make software using this patent freely available – but without actually granting a patent license. Later, they might shake down users of the software for patent royalty payments. This scenario is feasible with CC0 since CC0 explicitly ignores patent issues, which is also why CC0 is not recognized as an Open Source license. Typical permissive licenses like MIT or ISC do not mention patents, but their positive grant to use and distribute the software is generally construed as an implicit patent license. To provide legal certainty, some licenses include explicit patent licenses.
For example, the Apache-2.0 license is a permissive license that says contributors grant a license for any relevant patents. It also contains a clause to deter patent trolling: if anyone claims that the licensed software constitutes a patent infringement, their patent license through the Apache-2.0 license is terminated so that they might not be able to use the software themselves. Thus, the Apache-2.0 license is very popular in an enterprise context such as Android where multiple patent-wielding actors must peacefully work together.
To summarize this discussion, I'd recommend the following licenses:
- If you want a well-written permissive license that explicitly covers patents, use Apache-2.0.
- If you want a simple permissive license, use MIT, ISC, BSD-3-clause, or BSD-2-clause.
- If you want a simple permissive license without an attribution requirement, use 0BSD.
- If you want to release copyright, use a public domain dedication tool such as CC0 – with the understanding that this might actually give less rights to users than a permissive license.