I have read on the web that following combination exists :
Proprietary Source code + GPL Source code - > GPL Source code ( All code has to be released under GPL)
Proprietary Source code + LGPL Source code - > Proprietary Source code ( All code remains Proprietary )
Now how does statically/Dynamically linking GPL and LGPL code works with the above combination?
TL;DR A component licensed under LGPL can be used by closed source, proprietary software, both internally used and distributed, for free, with no effects on the software using the component. LGPL is not “contagious” in the same way as GPL, so it only affects the component under LGPL.
LGPL does not force you to use dynamic linking. You can instead, for instance, provide object files for your software that the user will be able to link (statically) to any version of the library.
The LGPL License (both versions) allows users of the licensed code to: Use the code commercially: Like GPL, LGPL imposes no conditions on using the code in software that's sold commercially.
In brief: GPL is mostly for programs while LGPL is limited to software libraries. Whenever changes are made under GPL license, source codes are required and changes must also be licensed under GPL, while LGPL may allow non-GPL programs to link to libraries but must still provide source codes.
If you want to distribute a combined work, you'll have to use the following license;
Proprietary Source code + GPL Source code
Proprietary Source code + LGPL Source code
See also executing a (L)GPL program from proprietary Source code.
Update (November 2014): A Comprehensive Tutorial and Guide contains a clear an detailed description of the (L)GPL and its usage, including distribution. I recommend it for more details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With