Hacker News new | ask | show | jobs
by phkahler 2091 days ago
Isn't LGPL 2.1 is an odd license for something like this? Does it produce a library?
1 comments

> Does it produce a library?

It is a library.

A _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.
Uh, 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.
Paragraph 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.

I 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?
IIRC it’s unclear if static linking LGPL is okay, so most people steer clear
Static 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#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.

The program seems like it would contain inlined code from the header though right?