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 recently >> FFTW, which is GPL with commercial licenses available). My proposal >> is >> that 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 >> certain >> functionality 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 module > which 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.