I don't think these issues are simple.

Interestingly, Magma will not be able to use GMP under LGPLv3 as a
statically linked library, since as a combined work it must satisfy
section 4d of the LGPLv3, which excludes distributing a binary already
linked statically with GMP, since you are supposed to provide the user
with the option of upgrading the library which Magma makes use of,
i.e. provide a drop in replacement.

But, according to that page with the matrix that William linked to at
the start of the thread, ""Use a library" means that you're not
copying any source directly, but instead interacting with it through
linking, importing, or other typical mechanisms that bind the sources
together when you compile or run the code."

But SAGE is not currently designed to just link against GMP at compile
*or* runtime. Rather the source code for GMP is actually included in
SAGE, and in fact in modified form (by adding Pierrick and Jason's
patches), and at runtime the SAGE binary actually includes GMP.

But the problem with this is that to do this with an LGPLv3'd GMP,
SAGE has to convert GMP to a GPLv3 license (permissible under the
terms of the LGPL) *and* upgrade SAGE to GPLv3!!

SAGE couldn't even provide compiled binaries statically linked against
the latest GMP since the compiled binary of a GPL'd program must
exactly reflect the source code that is supposed to accompany it. If
compiling the source code you supply does not result in the binary you
distribute, you aren't in compliance with the GPL.

Regarding GMP, there are about to be lots of additions to it and, over
the next couple of years, much of it will see a rewrite. FLINT will
make use of the new versions of GMP, undoubtedly. I don't see that we
have an option. For FLINT itself, this is not an issue. We simply put
"GPLv2 or (at your option) GPLv3" on our code, since we do not include
GMP in FLINT, but only link against it. Admittedly we'd like to
statically link against it, but this seems to be precluded. But for
SAGE the GMP thing is much more of a problem.

So according to my reading SAGE has two options in the long run:

1) Switch to GPLv3, ensure all code we distribute as part of SAGE is
"GPLv2 or later" or released under a GPLv3 compatible license. Keep
GMP as part of SAGE. This option seems to be best from the perspective
that closed source competitors like Magma cannot do this.

2) Remove GMP and Pierrick and Jason's patches from SAGE and simply
link against whatever GMP version happens to be on the users system,
and go to "GPLv2 or later". Under this option we could not even link
against the latest version of GSL.

With regard to Pari, we really need to ask them what their license is.
I don't see them explicitly granting the right to (at our option) use
Pari under the terms of later versions of the GPL. However, my bet is
they will go to "GPLv2 or later" since they too wish to link against
GMP.

Anyhow, let me congratulate the FSF for creating this mess. It is
clear they are achieving their "mission to preserve, protect and
promote the freedom to use, study, copy, modify, and redistribute
computer software, and to defend the rights of all free software
users."

So far, no FSF licensing option grants us the right to modify and
redistribute all software ever released under a FSF license.
Effectively there is a "no" in every column of that matrix if read
properly.

Bill.



On 24 Sep, 04:10, "William Stein" <[EMAIL PROTECTED]> wrote:
> On 9/23/07, Alec Mihailovs <[EMAIL PROTECTED]> wrote:
>
> > > Well, one possibility is to have GPLv2 in the main distribution and LGPLv3
> > > as an optional package.
>
> > Another possibility is to distribute SAGE-new parts under any of GPL2, GPL3,
> > or GPL2 and later, and distribute all the rest as a collection of packages,
> > each with its own license, without having a unique license for all of that.
>
> Thanks for your idea.  Unfotunately, I don't understand what these
> proposals are suggesting.
> If we plan to use GSL and GMP under LGPLv3 in any way, then it's impossible
> to have any distribution of Sage at all that is GPL v2-only,
> because almost every basic component of Sage depends on GMP, and GMP
> is LGPLv3,
>
> This will be an issue for Singular too -- people won't be able to build 
> Singular
> against GMP v4.2.2 and redistribute the result.
>
> Basically it sounds like this idea is suggesting to try to somehow
> to circumvent the GPL by distributing two incompatible
> programs and having the user combine them.  Intentionally
> circumventing copyright
>
> On Sep 23, 2007, at 10:20 PM, David Harvey wrote:
>
> >> happen release-wise in nearly 2 years. (The most interesting GMP
> >> work has been outside the GMP project.)
> >I'm not sure I agree with this. I strongly suspect GMP is likely to
> >improve a lot in the next few years.
>
> You would know much better than I would.  Thanks for clarifying
> this.
>
> > Does changing Sage to "v2 or later" require Sage to adopted future GPL
> > changes?  My interpretation is that it simply gives users the option
> > to re-distribute it according to later versions of the GPL.  It
> > doesn't obligate Sage to adopt those future changes, does it?
>
> Does it matter?   To give an extreme example, imagine
> that Stallman/FSF in 10 years has
> a vision from God or whatever, and decides that GPLv4 should
> just be the BSD license.  They could do that.  Then "GPLV2 or later"
> would mean that all Sage could be included in Magma, Mathematica,
> etc., and there is nothing that we could do to stop that.
>
> That said, having some trust in organizations like FSF does
> make life much easier, so we can get on with what we really
> want to do (mathematics).   Having no trust is a job for lawyers,
> not mathematicians.   I.e., I personally would be OK with
> "GPLv2 or later" because my main goal is to do mathematics...
>
>  -- William


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to