I'm about to release a website that uses a lot of open source software. There are likely 30-100 packages, and those probably include more packages. I've made sure none of them are the type of restrictive license that requires my own software to be open source. We've contributed to open source projects along the way, but ultimately we want our website to remain closed source.

Now, most licenses have something like the MIT clause:


All of my code is webpacked when it's delivered to the browsers. Any comments containing licenses are likely ripped away; and not everyone includes their license in comments. Most do it via a LICENCE file.

How are you expected to reproduce these licenses? Do I need to have a license link on the website that then has a reproduction of the hundreds of licenses? How would I go about compiling such a reproduction? I don't want to manually copy/paste licenses from each library. I've found npm libraries like legally that tell you what licenses are in use, but they don't reproduce them in any form.

How is everyone reproducing licenses on their website? Is there a standard way? Do people just generally not reproduce licenses and hope they don't get into legal trouble? That seems wrong. But if people are reproducing licenses, you'd think there would be some kind of software that compiles them all into one giant document.

  • There are so many questions in this. I have these, too. I added a bounty so they all get answered. The answer by @Mureinik only proposes a solution without answering all of them.
    – User
    Dec 18 '18 at 21:08

You can use license-webpack-plugin to add license information to the webpacked output, which should satisfy the license terms.

Alternatively, npm-license-crawler does a pretty good job at consolidating all the licenses you dependencies use, including links to the original licenses, and you could just offer this output, either in CSV or JSON form as a download from your website.

Your Answer

