On Thu, May 7, 2009 at 11:52 AM, Tom Boothby <tomas.boot...@gmail.com> wrote:
> I just found this thread, sorry for weighing in late.
>
> Note: this is a light-hearted response to a topic which I consider
> very grave.  It's been claimed that the script
>
> from sage import Integer
> print Integer(2)+Integer(2)
>
> must be GPL'd.   I claim that the above is a sage-ultralight script.
> I've attached an independent implementation of sage-ultralight that
> has been released under the SACL (Smart Guy Common License).
> Unfortunately, the SACL is also a virulent license, so sage-ultralight
> is GPL-incompatible. Therefore, nobody can redistribute the above code
> without fear of retribution from me, or the FSF. (evil laughter?)
>
> On a more serious note, I do not believe that a Sage script is
> automatically GPL'd -- and I believe that the FSF agrees.  From the
> FAQ
>
>    "When the interpreter just interprets a language, the answer is no.
>     The interpreted program, to the interpreter, is just data; a free
>     software license like the GPL, based on copyright law, cannot limit
>     what data you use the interpreter on. You can run it on any data
>     (interpreted program), any way you like, and there are no
>     requirements about licensing that data to anyone."
>
> I believe that Sage constitutes an interpreter in the case of the
> above script.  Furthermore, I claim that the CLI (Ipython), the
> notebook, and the interpreter are no different in this regard.  Users
> of Sage are free to distribute their input to Sage, and the output
> that they receive from Sage in any manner that they please, as long as
> their input, or the output do not contain derived work*.
>
>    "However, when the interpreter is extended to provide “bindings”
>     to other facilities (often, but not necessarily, libraries), the
>     interpreted program is effectively linked to the facilities it uses
>     through these bindings. So if these facilities are released under
>     the GPL, the interpreted program that uses them must be
>     released in a GPL-compatible way"
>
> The key portion of this is that *the interpreted program* must be
> released in a GPL-compatible way.  A Sage script is nothing but input
> -- it does not link to Sage, it does not depend on Sage to run, as I
> demonstrated above.

That FAQ entry which you partially quoted concludes with "A
consequence is that if you choose to use GPL'd Perl modules or Java
classes in your program, you must release the program in a
GPL-compatible way, regardless of the license used in the Perl or Java
interpreter that the combined Perl or Java program will run on."

Changing "Perl and Java" to "Python" and changing "GPL'd Python
modules" to "the Sage library", this reads:

    "A consequence is that if you choose to use the
     Sage library in your Python program, you must
     release the program in a GPL-compatible way..."

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to