What effect does including another open-source utility in your source repository have upon your code if they use different licenses?

  • I tend to use more permissive licenses such as the Apache and MIT.
  • To allow others to use a project with as little setup as possible I want to include utilities used by the build scripts in the repository (documentation generator, JavaScript minifier, etc).
  • I understand that things generated by these utilities (documentation, minified JS files) are not derivative works.
  • What is not as clear to me is the question of whether including some utilities which have more restrictive licenses will create conflicts with my code?
  • Does the "viral" nature of the GPL threaten to "infect" my code by including GPL utilities in my repository and referencing them from my build scripts?

None of the code will be intermingled, appropriate licenses will remain with each item. I should mostly just be using binaries from the outside sources (.jar, etc). I just want to make sure that "distributing" them in my repository when I upload it to GitHub won't taint everything else.

  • When talking about your code repository, is it a public or private repository?
    – Oded
    Feb 4, 2012 at 7:44
  • Currently private but I'm going to upload it to GitHub eventually and thus make it public. I have other projects that already have code publicly released but I haven't put the repository online because of worries about this. My assumption is that it isn't a problem since they are just being used by the build script and not actually part of the project but I was hoping that someone with a better grasp of licensing issues could alleviate those worries. Feb 4, 2012 at 7:50
  • If the tools are binary and the license allows distribution, I see no problem.
    – Oded
    Feb 4, 2012 at 7:56
  • I might add that copying a load of other projects into your own repository is probably not a good idea unless you have a good reason. There are tools (npm, yarn, etc) that should make pulling down dependencies trivial for anyone who wants to build your code, and avoids the maintenance nightmare of having a bunch of static dependencies that can only be updated one by one. Oct 20, 2017 at 13:26

1 Answer 1


If you include a GPL tool with your project, then you're distributing that tool, which means that you're supposed to provide the source. If it's something that's commonly available, then I doubt that anybody will care - but if you want to make absolutely sure that everything is kosher, you might want to make the sources available (separately from your main project, since most people won't need them).

If you've made any modifications to the GPL tool, then you must make the source available - but I think you knew that already.

As far as "tainting", that won't be a problem. The fact that two pieces of software are distributed together is irrelevant - what matters is how they fit together. For example, the Apple developer kit contains GCC, GNU make, and a bunch of other GPL tools, along with closed-source tools. And that's perfectly legal.

  • Thanks for the answer. So including tools written in PHP would be fine too since they already are the source code. Feb 4, 2012 at 20:50

Your Answer

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

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