I have an audio library that optionally uses a GPL sub-library for computing the FFT (FFTW3). At compile time, I can disable FFTW3 and use another FFT implementation (which is slower than FFTW3, but with a more permissive license).
If I release this audio library under GPL, everything would be very easy. Nevertheless, I also want to let the users of this library to deactivate FFTW3 and then make commercial softwares, without the need to open any modifications.
I was thinking of a dual license Apache2.0|GPLv3 for this audio library. Users who want to create a GPL-based software can then use this library with the GPLv3 and activate the GPL sub-library FFTW3. Users who want to create closed source development can also deactivate the FFTW3 and enjoy the audio library with the Apache2.0.
The FFTW3 is also an example, I suppose there might be other interesting GPLed sub-library to add.
Does it make sense ? Is it over-complicate ? Do you see a simpler solution for this situation ?