My understanding is that a program can link dynamically to an LGPL library and include its headers, possibly with modifications, without the program having to be released under the LGPL, but any modifications to the source code that goes into building the dynamic library must be released under the LGPL.
In effect, this allows people to use the library without restrictions, but they have to contribute back any changes they make to it.
I would like to release a C++ library that I wrote as FOSS, and I would like to license it in the same spirit: allow people to use it without having to release the code that uses it, but having to release any changes they make to it. However, the LGPL itself is not a good fit for me because my library is entirely header-only (it's a template library).
What license would serve this purpose?