Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
When talking about your code repository, is it a public or private repository? – Oded Feb 4 '12 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. – Useless Code Feb 4 '12 at 7:50
If the tools are binary and the license allows distribution, I see no problem. – Oded Feb 4 '12 at 7:56
up vote 1 down vote accepted

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.

share|improve this answer
Thanks for the answer. So including tools written in PHP would be fine too since they already are the source code. – Useless Code Feb 4 '12 at 20:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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