I'm trying to understand exactly when a work becomes a "derivative work," and how it affects licensing of my project. In my situation, we have a scientific code that we have written which is licensed under the MIT license. It uses the GNU Scientific Library (GSL) which is licensed under the GPLv3 (specifically not the LGPL). It is obvious to me that, once compiled and statically linked, the resulting binaries (and subsequently their source) must be distributed under the more restrictive GPLv3. However, we never distribute any binaries or any source licensed under the GPL. Therefore my question is:
Can I license and distribute source code under the MIT license which requires a GPL'd library to compile if I do not include anything derived from the GPL'd library? That is, does the dependency on a GPL'd library only "kick in" once compiled/linked into a binary? Or does the dependency itself mean that all source files which need to be linked with the GPL'd library need to be under the GPL as well?
I found the following questions before but they don't seem to quite answer my question:
- Using GPL library with MIT licensed code
- GPL-3.0 library in MIT project
- What if I don't know whether my program will be linked to a GPL library or not?
- GPL-2 Derivative works
- Can an NPM package have an MIT license on github if it depends on MIT packages with BSD-2, BSD-3 and Apache 2 licenses