On Apr 27, 2009, at 4:23 PM, Ben Webb wrote:
Daniel Russel wrote:We keep bumping into the useful libraries that are GPL (most recentlyFFTW, which is GPL with commercial licenses available). My proposal isthat we allow dependencies against such libraries as long as - the code which depends on the library is gathered into a self contained module which is, itself, GPL and- IMP as a whole does not require the library to function, only certainfunctionality is missing
I should have added:- the API hides the GPL library so it can easily be replaced by another library or our own implementation later if desired.
Yes, this is a technical solution which would work. However, dynamic linking to GPL is kind of a gray area, and thus since any IMP modulewhich does that would probably need to be GPL, no other IMP module would in turn be able to use that GPL IMP module without in turn becoming GPL.So a GPL FFTW IMP module would be of limited use, since we wouldn't be able to use it inside IMP.em for example.
What we would be doing would doing would not be in a grey area. They key thing is that anything that is LGPL can be automatically "upgraded" to GPL just by linking against a GPL (see the GPL compatibility matrix in the GPL FAQ). So we can release most of IMP under LGPL but anyone can make the choice to make their program GPL just by using a GPL module. The key thing is the GPL/LGPL requirements apply to resulting applications and don't make sense when just talking about source code.
IMP.em could use it as long as IMP.em didn't link against anything that was not GPL compatible.