I'm looking for an existing library license which satisfies the following conditions:
- GPL-compatible
- Can be statically linked with closed-source programs
- Binary modifications of the library, including cases where the library is statically linked with another project, must be accompanied by the library source code
Licenses which are close but not quite what I need:
- LPGL - does not allow static linking with non-free software*
- Eclipse Public License - not GPL-compatible due to a patent clause
- GPL linking exception - does not require source code redistribution
*: The LGPL allows static linking with some specific technical conditions - specifically, it must be possible to make modifications or use newer versions of the library, and to do that one would need to make available the object files and build scripts for the non-free components. Generally speaking, this is technically difficult and sometimes impossible (in the case of e.g. templates or inlined functions), and very often (as is my case) the underlying reasons for which static linking is required conflict with these LGPL requirements. For this reason, LGPL is unsuitable for my use case, and frankly I've yet to see a project which used static linking with an LGPL library in this manner, considering all the associated technical and legal (templates/macros/inlining) problems.