I have written a piece of software using the Microsoft Solver Foundation. Now the work is done I want to release the code under the Terms of the GPLv3, if that is possible.
The problem is, the GPLv3 states in section 1:
The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The way I see it, the Solver Foundation does not fall into this definition, making it incompatible with the GPL (which is not a surprise by itself).
Now, I do not want to distribute any form of the MSF (or the included Gurobi license for that part) and I will not provide any binaries for the software, so I am unsure whether thew MSF not being a system library does affect my licensing options at all (first time I have to choose a license myself for anything).
The rest of the libraries I used use Apache2 and (L)GPLv3 licenses plus the zlib license for NUnit (which allows everything for binary distribution), so those should not be a problem (please correct me if I'm wrong).
But the MSF and Gurobi part bothers me a bit. What I had in mind was to provide the Visual Studio solution (which lists the MSF as a dependency) and instead of including the gurobi plugin dlls, there would be a readme on how to include them after acquiring the gurobi solver along with the MSF.
So, is this possible? If it isn't, maybe a different FOSS license could be found?