I have a dependency on GPL-licensed library in the library I maintain. My library is BSD and must remain as such. Wondering if I can automate the download and installation of the GPL dependency in the cmake configuration for my program without impinging on my library's license.

No changes to the GPL code at all, I just want to use it.

  • There's no single answer. Many people, including I think the FSF who created the GPL, would say that because your software requires the GPL library then your software needs to be GPL. Personally I think that if you don't distribute the GPL software yourself then you're not bound by the license (though I wouldn't want to automate the installation of the GPL library in your software, just say in the documentation that it is required.) Commented May 5, 2017 at 9:33
  • I should have been more clear in my initial message I guess. My library doesn't have to use said GPL library, rather it is an installation option. You can run fine without it using a BSD alternative. Commented May 6, 2017 at 18:34

1 Answer 1


I am not a lawyer, and this is not legal advice.

If your library has a linking dependency on a library (e.g. dynamic linking at runtime or statically linking it into your library at build time) and that dependency is licensed under the GPL, then your library must also be GPL.

However, if your project is just a collection of scripts that downloads and installs the GPL-licensed library, then you can probably continue to license your project under BSD.

  • I'm not sure I follow this comment. There are many projects that use a multitude of licenses, and they all link, whether at runtime or statically, to the GPL-licensed components of GNU/Linux and associated libraries. And yet they are not GPL licensed. As I noted above, I'm wondering whether I can instruct cmake to download the GPL library (which is actually a header-only library, so no linking at all) as an option. You can run without it, but GPL variant gives the more optimal code. Commented May 6, 2017 at 18:39
  • 1
    @MaddyScientist Those software you talk about may not be considered derivatives, especially if they use a standard C library (which has open source implementations but also proprietary implementations). What you just said "you can run without it" is critical IMHO and should be added to your question: this may imply that your software is not a derivative and can be licensed in any fashion.
    – Zimm i48
    Commented May 11, 2017 at 10:37

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.