To avoid an XY question, the general requirements I have are:

  1. The licence should not impose operational complexity for downstream users of a library (users should not be forced to think about linking)
  2. It should protect the author's rights as much as possible, without harming or annoying legitimate downstream users
  3. It should give reasonable protections to users, including protection against patent trolling and full freedom to publicly fork the library with the same licence whether or not it is still maintained
  4. It should be straightforward for downstream users to tell if they have a specific version or fork of that library as a transitive dependency

I'm currently looking at the apache licence and the mozilla public licence. Among those two, which gives better protections against patent trolling (including foundations/lawyers defending them)? Are there any other licences worth considering?

  • 3
    Apaache2 isn't a copyleft licence, so that fails on its face. What about LGPLv3? It's very clear about permitting linking, I think it protects authors rights (although I'm also not sure what those are), it has the same patent protections as full GPLv3, and it does as well as any other free licence with respect to item four.
    – MadHatter
    Dec 19, 2023 at 15:11
  • Well, the thing I really want from "copyleft" as opposed to just "strongly deter against legal action" is item 4. Points 2 and 3 are mainly about ensuring that authors and users both have fairly strong guarantees against being sued for getting work done. Point 1 is that legal constraints should never have to influence engineering decisions. As I understand it the LGPL basically requires you to make your build system open source if you perform static linking, which is not too bad but could be an issue for some users
    – saolof
    Dec 19, 2023 at 16:24
  • I.e. LGPL static linking looks like it would work for bundling an LGPL library in a minified javascript bundle, but there may be issues if it is statically linked with closed source code by an inlining compiler: gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamic so it still requires the statically linked binary to effectively be like a tarball of dynamically linked libraries
    – saolof
    Dec 19, 2023 at 16:38
  • 1
    What does Q4 actually mean? Also, "As I understand it the LGPL basically requires you to make your build system open source if you perform static linking, which is not too bad but could be an issue for some users" you understand wrong. All it means is that end-users must be given the ability to update the LGPL component in their installed statically-linked software without recourse to the software's author.
    – MadHatter
    Dec 19, 2023 at 16:59
  • 2
    @saolof How do you think the 'protection against patent trolling' would/should work? If the use of software infringes 3rd party patents, then a license cannot protect the user. The only protection can be for the user against claims of infringement based on IP rights owned by the author of the code. But patent trolls usually are not authoring code, as they are non-practicing entities. Dec 20, 2023 at 7:57

1 Answer 1


First up, there is no copyright license, open-source or otherwise, that can protect you from a patent infringement lawsuit by someone who control a patent but has not made any contributions to the software covered by the copyright license.

In other words, if patent holder P has never made any contribution to software Foo, then there is no copyright license that the maintainers of Foo can use that would protect them (and their users) from a patent infringement lawsuit by P. The only defense they might have is to get the patent itself nullified.

With that out of the way, the Mozilla Public License 2.0 does fit most of your requirements.

  • It is a weak copyleft license, without the requirement that end-users can replace the MPL parts of a product. They need to receive the MPL source code, but not the ability to update the product that uses the code. That implies there are no requirements around linking.
  • It contains a patent grant on infringing contributions for patents controlled by contributors. This prevents a bait-and-switch tactic by less scrupulous contributors

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.