I was intending on using a GPLv3 licensed JavaScript library on a website I'm developing for a client. This library would be part of the theme. Will this necessarily make the entire them GPLv3 so my client would have to release the source to every visitor?

Does it make any difference if the intended use is for a company wide intranet site and will not be of public use outside employees and contractors?


2 Answers 2


If you use a GPLv3 licensed library in the front-end of a website/webapp, then the entire front-end code must be released under the GPLv3 license, when that front-end code is distributed.

The key here is that the source code must only be made available if the code is distributed. For purposes of copyright, a company making software available to its employees for work-related purposes does not count as distribution of the software. This means that if the GPL library is used for an intranet site, then the source does not have to be made available, not even to the employees of the company.

  • 2
    The contractors may be more of a problem, though; see eg the GPL FAQ.
    – MadHatter
    Commented Oct 3, 2019 at 8:48

I don't agree with the previous answer, using a GPLv3 library does not make your website GPL, if you merely include the library in its compiled form provided by the author and exported to the window namespace. Then it's the same as using a precompiled binary in other programs, and using "sockets, pipes and command line interface to communicate with it"

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program. https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation

On the other hand, if have a source code that imports the library, and then compile it with something like Webpack, you're producing a derivative combined work using static linking and must release all JS source code for the website.

Where's the line between two separate programs, and one program with two parts? This is a legal question, which ultimately judges will decide.

I think you have to make a call here, for example if you're using callbacks, that's quite intricate communication, whereas if you're merely passing args in a config object, that's almost the same as command line arguments.

You can ask the author of the library what he meant by GPL as well. For example, the WOW https://github.com/matthieua/WOW lib specifically provides a dual license, one for commercial use, and one for derivative open source work. I still don't think that because they released the code under GPL, I would have to make a non-commercial website open source if I used their library.

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.