December 26, 2009

I’m looking right now at a library called FFTW (link deliberately omitted), used for computing fast Fourier transforms on various types of data. I’m sure it’s a very good piece of work at a technical level, but the reality is it’s a load of crap.

FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). We believe that FFTW, which is free software, should become the FFT library of choice for most applications.

This seems reasonable until you realize that FFTW is not free software. It’s an example of the abomination known as Free Software, GPL license and all. Now they are free to choose whatever license they want for their work, but I feel equally free to call them out for it. Especially when their homepage manages to be so pompous despite having so little text.

If nothing else, I’m proud that SlimDX and SlimTune don’t attempt to force an abusive ideology on the world. They are free in the truest sense of the world. They don’t pretend to espouse freedom while obsessively restricting it. At least proprietary software vendors (usually) have the spine to say what they mean. Myself, I’ll keep things closed or open them for real. I’m not interested in the GPL protection ring.

UPDATE: May as well point out:

The non-free licenses are for companies that wish to use FFTW in their products but are unwilling to release their software under the GPL (which would require them to release source code and allow free redistribution). Such users can purchase an unlimited-use license from MIT. Contact us for more details.
We could instead have released FFTW under the LGPL, or even disallowed non-Free usage. Suffice it to say, however, that MIT owns the copyright to FFTW and they only let us GPL it because we convinced them that it would neither affect their licensing revenue nor irritate existing licensees.

This is a rather reasonable set of terms, and I personally think they should mention that right on the homepage.