According to the LGPL license, you must release your source code if you statically link a library. Here's an excerpt from tldrlegal.com:

If the software is statically linked (i.e. compiled into) your work, you must release object code or source code such that the user can modify the library. If otherwise (dynamically linked), you must make the source for the library available.

Does this mean that installing a package from npm and compiling it into a client-side JS bundle without releasing source code would violate LGPL? It seems like a license that wouldn't be as relevant to a language like JavaScript, but we've found a library that uses it.

1 Answer 1


In case you are statically linking, you must release source code or object code such that the user can change the version of the library which is used.

In the case of Javascript, source code has to be understood as the source on which the programmer will make modifications, i.e. the non-minified source.

The compilation process is not going to produce a binary but a minified version of the code that should be considered "object code". Bundling the work using the library with the library and compiling the whole should produce about the same result as minifying each part independently and bundling the two in one single JS file.

Thus, you can respect the terms of the license by releasing "object code" (the minified version) of the work using the library without the library itself. You could just put a link somewhere in your application so that users can download it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.