I am a bit confused as to what I am/am not allowed to do with a LGPL Library that I intend on using in a small scale commercial C++ Application that I am developing. My current understanding, although I don't know if I am correct, is that I am permitted use the library without releasing the source to the rest of my application if I dynamically reference the library. Does anyone know if this is correct? Are there any restrictions as to how I reference the library? Thank You! I am not a native English speaker and don't understand the licence entirely.
1 Answer
Yes you can use the unmodified library with your own proprietry code - so long as your user can exchange the LGPL library for their own version (this normally means using a dynamic linked library = dll or so)
If you do modify the library you are required to release the source code of the library with your changes.
The only extra complication would be if you used ideas/concepts from the source code of the library inside your own app - then your app could be a derived work . But normally there are no problems using an LGPL library with a commercial app - that was the idea of it.
-
1If I add a reference to said DLL in my own project in Visual Studio, is this considered static or dynamic linking? Commented Oct 17, 2012 at 3:56
-
@RobertHarvey - not sure what you mean by a reference. If you simply link to the dll then no the project file doesn't become GPL. If you mean your make some sort of CLR reference assembly then that wrapper would be a modification to the LGPL Commented Oct 17, 2012 at 3:58
-
+1. Of course if the library were GPL rather than LGPL, this wouldn't be legal.– MarkJCommented Oct 17, 2012 at 6:22
-
@RobertHarvey I'm not sure either, because implicit linking in C/C++ in Visual Studio requires linking against a .lib import library before you can link against a dll. LINK.exe can't link against PE binaries, so does that mean that LoadLibrary at runtime is the only option?– jrhCommented Mar 24, 2021 at 14:01