• git portable binaries are distributed (included in the installer) with a windows commercial app.

  • the app calls the binaries (init, add, commit, push) as command line then handles the output.

does the license of git (GPL) obligate the app to be distributed under GPL (its source code is available)?

1 Answer 1


I don't think it does, no. As the GPL FAQ makes clear:

An “aggregate” consists of a number of separate programs, distributed together on the same CD-ROM or other media. The GPL permits you to create and distribute an aggregate, even when the licenses of the other software are nonfree or GPL-incompatible... 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.

Because the app "calls the binaries as command line", I'm inclined to think that the app and git are two separate programs that you happen to be shipping together in a single installer. You have obligations to make the source code of git available to your users, under GPL, but you're not obliged to extend the GPL to your app as well. However, IANAL/IANYL; take professional legal advice before exposing yourself to liability.

  • so what is the meaning of the linking exception in this library for example github.com/libgit2/libgit2#license
    – geek11
    Aug 12, 2020 at 7:46
  • I don't understand the question. You've stipulated that the git binaries in their entirety are covered by GPL. I've clarified that I don't think the GPL extends past them to anything else. What exactly is left in this scenario to which you were hoping that any linking exception would apply?
    – MadHatter
    Aug 12, 2020 at 8:11
  • 1
    @geek11 libgit2 isn't git. libgit2 is a library, and using a library normally does create a derived work. When you run a program like Git, it's "at arm's length" and you don't have to consider it a derived work (we think. But that's also what the people who wrote the GPL say, so it's pretty reasonable to rely on it).
    – user253751
    Aug 12, 2020 at 14:39
  • 1
    @geek11 suppose you wrote your own program, call it gaffer, which you linked to libgit in order to provide git functionality. libgit being GPL, ordinarily this is thought to require gaffer to be entirely GPL also (though not programs that call gaffer from the shell, see above). Through the linking exception, the authors of libgit have kindly allowed you to make gaffer proprietary if you want. However, the exception has nothing to do with the original question you asked. Is that any clearer?
    – MadHatter
    Aug 13, 2020 at 12:18
  • 2
    That is a complex question, which cannot be answered in a comments field. It's also not this question, so again, not getting answered here. Feel free to ask it as a separate question, but you might want to read the GPL's FAQ answer, that I linked above, again, first.
    – MadHatter
    Aug 13, 2020 at 13:15

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.