On 4/10/14, 12:31, Mike Nolta wrote:
On Thu, Apr 10, 2014 at 11:07 AM, Tony Kelman <t...@kelman.net> wrote:
MPFR and GMP are LGPL, which is not quite as problematic or viral.
Some of SuiteSparse is GPL, parts of it are LGPL, and at least one file of
the Julia code in base for sparse matrices that is based on parts of
SuiteSparse is also LGPL.
IANAL, but doesn't this mean we've crossed the line from "work that
uses the library" to "derivative work", and thus are in violation of
the LGPL? Specifically, this part of section (2):
"These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it."
(apologies if my post gets to the list twice---I just subscribed and
tried to post through gmane, but that seems to not be working...)
If LGPL is a problem, then you might keep your eye on bsdnt for a bignum
library: https://github.com/wbhart/bsdnt. Bill Hart is/was one of the
main guys behind MPIR [1]. This project isn't up GMP speed (yet), but
getting close is an eventual goal (see
https://groups.google.com/d/msg/bsdnt-devel/_1A2vMeUFSQ/946CBtez3XYJ,
which compares the philosophies behind bsdnt and gmp: "[bsdnt is]
essentially targeting programming languages that for whatever reason
don't yet have bignums or don't want to use GMP.")
Thanks,
Jason Grout
[1] MPIR, a fork of GMP, may also be another thing to look at:
http://www.mpir.org/
We switched Sage to using it instead of GMP a while ago.