5 ms·
> Does it produce a library? It is a library.
by microcolonel 6y ago
> Does it produce a library?
It is a library.
- bialpio 6y agoA _header-only_ library. Not sure how LGPL works for those - not much to avoid linking against... Throw it in your own .dll / .so and use that in your closed-source projects? Standard disclosure: IANAL.
- loa_in_ 6y agoParagraph 5 of the LGPL version 2.1 states: A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
- kbumsik 6y agoI am confused with that paragraph. So if I statically compiled a project with Qt without any modification, does it fall outside the scope of LGPL as well?
- rjeli 6y agoIIRC it’s unclear if static linking LGPL is okay, so most people steer clear
- cycloptic 6y agoStatic linking is okay and is allowed as a derivative work, but you need to ship object files. https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDyn... >(1) If you statically link against an LGPLed library, you must also provide your application in an object (not necessarily source) format, so that a user has the opportunity to modify the library and relink the application. This is covered in sections 6 and 6a of the LGPL 2.1.
- kbumsik 6y agoSo then the OP is a LGPL header-only library, which is always statically compiled in every source. Do we need to do the same thing, and if yes, how we provide an application to allow recompiling?
- cycloptic 6y agoIf you can't use the object files to rebuild another version of the program with a modifier version of the library then no that probably wouldn't be compliant. In that case you would probably have to modify the library so it's not inlining every function. (Disclaimer: IANAL)
- DTolm 6y agoHello, I am the author of VkFFT. When I made VkFFT I wanted license to be like this: your project doesn't have to be open-source, but please share your modifications to VkFFT. I think about switching it to MPL 2.0, is this one better for everybody?
- cycloptic 6y agoThat would probably do what you want because it applies on a per-file basis and not to the entire program, but make sure you read the MPL FAQ and the fine print before making such a change: https://www.mozilla.org/en-US/MPL/2.0/FAQ/ https://www.mozilla.org/en-US/MPL/2.0/FAQ/
- snovv_crash 6y agoYes, MPLv2 does what you want. Consider that it's also used by Eigen. I strongly advocate for MPLv2 for math style libraries.
- drran 6y agoGoal of LGPL is to protect freedom of developers to modify code of a library (e.g. to improve it, fix bugs, fix incompatibilities, port to new hardware, etc.) shipped as part of proprietary application. This freedom is important for developers of niche OS'es. This protection works, because of hard consequences for proprietary code in case of license violation: proprietary code must be released under GPL then. MPL doesn't protect such developers, but it "forces" contribution of changes back to original code. In reality, it's ignored. Header-only library cannot be compiled as separate library, so requirements of LGPL cannot be met by proprietary code.
- deleted 6y ago[deleted]
- pabs3 6y agoThe program seems like it would contain inlined code from the header though right?
- formerly_proven 6y agoUh, no, it's not. The shaders are clearly part of the work, so you need to make sure that the shaders are "dynamically linked"; i.e. can be replaced by the end user with their own version in order to comply with the terms of the LGPL.