Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

LGPL doesn't work for languages that don't have good support for dynamic linking. Static linking is mostly incompatible with the LGPL.

That makes it unusable for Rust, Go, and some C++ libraries.

Wheras with MPLv2 the contract is basically "if you make a change to any of the source code files derived from the original work, those changes have to remain under MPLv2". But linking that code from non-copyleft code is OK, and extending it with subclasses or traits is OK, as long as any modifications made to the original library itself are made available. And there is no limitations on linking proprietary libraries from MPLv2 code as there is with (L)GPL.



The LGPL definitely allows static linking, you just have to make it feasible for the user to modify the open source parts of the library and relink them into your proprietary application.


Which is a pain for most non-C languages. And it still doesn't work with templates.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: