I have a node.js project to be published as an open source, and would like to set MIT license to it.

However, if my project is depending on a package licensed GNU GPL, I need to set the same license to the entire project (I can maintain MIT for my work but the entire project must be under GNU GPL, right?).

So, how can I know if it's okay to set MIT license (or another specific license)?
Do I need to went through all the packages contained in my package.json and check the license of them one by one? Or is there any good tool or method to know the license restriction?
In addition, if one package in my project is published as MIT but it (possibly by mistake) depends on GNU GPL how should I do?

  • "my project is depending on a package licened GNU GPL" - Are you actually redistributing or combining your work with GPL software, or are you just saying (e.g. by writing to a configuration file), "you as the user must download software X to use my software", and software X just so happens to be under the GPL? – Brandin Oct 10 at 5:15
  • I'm going to publish a web app and distribute a desktop app in each of which the package.json contains set of packages to run the software. – K. Makino Oct 10 at 5:24
  • For the thing you are publishing, the package.json almost certainly does not contain the GPL software; it just gives instructions such as "requires package X." For the desktop app, are you including the GPL software as well, or only your "package.json" file? – Brandin Oct 10 at 5:27
  • Well, now I understood. So even if my development environment contains the GPL packages, it is okay to license it under MIT. It is now clear for the web app. The desktop app also contains only references to other packages, but I think I will distribute the software as an executable file. – K. Makino Oct 10 at 5:46
  • The license is about what you may redistribute. If you distribute a desktop app, you are almost certainly redistributing the GPL packages and/or derivatives of them (e.g. compiled versions are derivatives). For your desktop app, you must consider the software you are distributing. Yes, you must comply with each license of the code you redistribute. – Brandin Oct 10 at 6:08

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.