Hacker News new | past | comments | ask | show | jobs | submit login

But by it being GPL, you also have to release the source code of your potentially proprietary code as GPL. It's LGPL where you only have to release the modifications to the library.



> It's LGPL where you only have to release the modifications to the library.

Even then, only if you dynamically link to the library.


don't you mean statically? I assumed dynamic linking was largely regarded as exempt from GPL


LGPL:

If you statically link to an LGPL library, then the entire codebase (your code and the library) must be covered under an LGPL compatible license.

If you dynamically link to an LGPL library, then only the library must be under an LGPL-compatible license (ie if you modify the library, those modifications must be made available), but your own code that links to the library can be under any license you wish.

This is because the LGPL considers statically linking as a single work, while dynamic linking as multiple works, which can be licensed independently.

GPL:

Regardless of linkage, your code must be under a GPL compatible library.

The GPL considers the software as a single work regardless of linkage.


> If you statically link to an LGPL library, then the entire codebase (your code and the library) must be covered under an LGPL compatible license.

This isn't right. You can statically link proprietary code to LGPL libraries and the LGPL license does not "infect" your proprietary code.

The only thing you have to do if you go this route is ensure that the people receiving your combined work are able to relink any modified version of the LGPL pieces. This can be done, for example, by providing object files for the proprietary pieces and a script to link them to the LGPL pieces, upon request.

https://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynami...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: