[Numpy-discussion] performance matrix multiplication vs. matlab

Benoit Jacob jacob.benoit.1 at gmail.com
Sun Jan 17 13:11:23 EST 2010

2010/1/17 Robert Kern <robert.kern at gmail.com>:
> On Sun, Jan 17, 2010 at 08:52, Benoit Jacob <jacob.benoit.1 at gmail.com> wrote:
>> 2010/1/17 David Cournapeau <cournape at gmail.com>:
>>> There are several issues with eigen2 for NumPy usage:
>>>  - using it as a default implementation does not make much sense IMHO,
>>> as it would make distributed binaries non 100 % BSD.
>> But the LGPL doesn't impose restrictions on the usage of binaries, so
>> how does it matter? The LGPL and the BSD licenses are similar as far
>> as the binaries are concerned (unless perhaps one starts disassembling
>> them).
>> The big difference between LGPL and BSD is at the level of source
>> code, not binary code: one modifies LGPL-based source code and
>> distributes a binary form of it, then one has to release the modified
>> source code as well.
> This is not true. Binaries that contain LGPLed code must be able to be
> relinked with a modified version of the LGPLed component.

This doesn't apply to Eigen which is a header-only pure template
library, hence can't be 'linked' to.

Actually you seem to be referring to Section 4 of the LGPL3, we have
already asked the FSF about this and their reply was that it just
doesn't apply in the case of Eigen:


In your case, what matters is Section 5.

>In addition, binaries containing an LGPLed
> component must still come with the source of the LGPLed component (or
> come with a written offer to distribute via the same mechanism ...
> yada yada yada).

Since you would presumably be using vanilla Eigen without changes of
your own, it would be enough to just give the link to the Eigen
website, that's all. Just one line, and it doesn't have to be in a
very prominent place, it just has to be reasonably easy to find for
someone looking for it.

> These are non-trivial restrictions above and beyond
> the BSD license that we, as a matter of policy, do not wish to impose
> on numpy users.

The only thing you'd be imposing on NumPy users would be that
somewhere at the bottom of, say, your README file, there would be a
link to Eigen's website. Then who am I to discuss your policies ;)

Finally let me just give an example why this is moot. You are using
GCC, right? So you use the GNU libc (their standard C library)? It is
LGPL ;) It's just that nobody cares to put a link to the GNU libc
homepage, which is understandable ;)


More information about the NumPy-Discussion mailing list