Mahlet-Inc / hobbits

A multi-platform GUI for bit-based analysis, processing, and visualization
https://mahlet-inc.github.io
MIT License
660 stars 45 forks source link

Hobbits WidthFramer plugin uses FFTW, which is GPLed. #82

Closed KOLANICH closed 10 months ago

KOLANICH commented 3 years ago

And FSF position is that it is not allowed to use GPLed plugins for a non-GPL program to circumvent GPL virality.

If the main program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single combined program, which must be treated as an extension of both the main program and the plug-ins.

It may make sense to replace FFTW with something else, i.e. https://github.com/clMathLibraries/clFFT

If you don't want to depend on OpenCL, you can use https://cr.yp.to/djbfft/install.html

hello-adam commented 3 years ago

oh, wow, thanks for pointing this out. I will try to make the license compliant ASAP

hello-adam commented 3 years ago

I added a warning in the license as a stopgap until a different FFT library can be used.

The good news is that you can build the program and most plugins without FFTW if you want.

hello-adam commented 3 years ago

pocketfft seems like a popular choice (numpy uses it), and they have a C++11 API (on the cpp branch) : https://gitlab.mpcdf.mpg.de/mtr/pocketfft/-/tree/cpp

pffft claims to be fast and might be sufficient for the use cases in the width framer and spectrogram (it is single vs double precision, but I doubt that matters): https://bitbucket.org/jpommier/pffft/src/master/

hello-adam commented 10 months ago

I think this was fixed a while ago