On 05/06/2009 06:47 PM, William Stein wrote:
> On Wed, May 6, 2009 at 9:32 AM, Ralf Hemmecke <r...@hemmecke.de> wrote:
>> On 05/06/2009 07:50 AM, William Stein wrote:
>>> On Tue, May 5, 2009 at 3:25 PM, Brian Granger <ellisonbg....@gmail.com> 
>>> wrote:
>>>> Hi,
>>>>
>>>> I have a question about Sage and the GPL.  Here is the main question..
>>>>
>>>> IF I write code in a Sage notebook, AND I redistribute the code, do I
>>>> need to release my code under the GPL?
>>>>
>>>> Here is a bit of background...
>>>>
>>>> At a conference in the last year, one of the Sage developers was asked
>>>> this question, and their answer was...
>>>>
>>>> "You can do whatever you want with your code, you don't have to
>>>> release it under the GPL"
>>>>
>>>> In general, I don't think this answer can be right, but I think it is
>>>> actually a bit subtle.  Here are some of the issues that I see (all of
>>>> this assumes that I do want to distribute my code to others)...
>>>>
>>>> * Is the code pure python or does it use the sage syntax?  If the code
>>>> uses the sage syntax, I think it must be released under the GPL.
>>>> * Does the code being written actually use any GPL libraries (like the
>>>> sage python package)?  If the code uses GPL libraries, I again think
>>>> it must be GPL'd.
>>> Publicly distributed code using GPL'd library must be GPL'd.
>> Suppose Ondrej's program
>> -------
>> from sage.all import x
>> print x**2
>> -------
>> were a bit longer to actually contain some creativity (but no line from
>> any GPL source code). Suppose he puts that in a file aaa.sage and
>> distributes that (without sage). Why should there be any restriction on
>> this source? He may, of course put that under BSD (it's open source
>> anyway). The file itself does not "use" Sage. It's simply a string of
>> characters.
>>
>> Only if somebody downloads Sage, downloads aaa.sage and actually runs
>> aaa.sage, the sage library is used. But then distribution has already
>> happened and there is no obligation for Ondrej to change the license of
>> aaa.sage from BSD to GPL.
> 
> [snip]
> 
> Ralf,
> 
> In this email, what are you basing all your claims on?  Numerous
> claims you make seem to me to contradict statements in the GPL FAQ at
> 
>    http://www.gnu.org/licenses/gpl-faq.html
> 
> So I'm curious if you're basing everything on what you just tend to
> wish/believe is true about the GPL based on your memory, or on
> actually carefully reading the GPL and statements made by the FSF
> lawyers to clarify their intent regarding the GPL.  Generally
> speaking, I think that if one wants to understand the intent of the
> GPL, then
> 
>        http://www.gnu.org/licenses/gpl-faq.html
> 
> is a very good place to look.    Almost every question I have about
> the GPL is clearly answered there.   If one directly disagrees with a
> statement made there, then it is easy to get a lawyer from FSF to
> provide further clarification/answers.
 >
> William

Did I disagree with gpl-faq.html? Show me where?

First, I say it again. If all software were GPL, that would be 
wonderful. So if people think that the GPL requires notebooks to be 
further distributed under GPL that's fine with me and, in fact, I like 
this viral nature of GPL.

But if it comes to Ondrej's code, I think it is ridiculous if it were 
forced to be under GPL. Just suppose Ondrej had mistyped his text so 
that it looked like

-------
from asge.all import x
print x**2
-------
(Note it's asge not sage.)

Who would claim that this text must be distributed under GPL?

http://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF
http://www.gnu.org/licenses/gpl-faq.html#GPLOutput
http://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL

>>>> * If a sage notebook is "source code" does clicking "Share" in the
>>>> notebook constitute "distribution".  In other words, if a bunch of
>>>> people start sharing sage notebooks, do they all have to be GPL?
>>> No.  This is internal distribution, so the GPL doesn't apply.  This is
>>> no different than the NSA (say) distributing a program from one
>>> researcher to another, and obviously they don't have to GPL their
>>> code.

Ooops, I've just found
http://www.gnu.org/licenses/gpl-faq.html#InternalDistribution
However, that doesn't say that the GPL doesn't apply. Why should the GPL 
not apply? The only restriction is:

    ... without giving the staff permission to release that
    modified version to  outsiders

By the GPL each individual inside the company has the right to 
distribute a modified (organization internal) GPL program under the 
terms of the GPL (i.e. with sources). But the GPL does not force 
distribution and the organization may forbid it. So it just means that 
inside the organization, every one who has the binary form of the 
program must be able to get the source.

>> No. But for a different reason. The notebook is a separate piece. If you
>> don't distribute it together with Sage, then it's only a string of
>> characters (and as such not particularly useful) and I don't see a
>> reason why such distribution must be under GPL rules.
>>
>> If, however, you choose to distribute your notebook together with Sage
>> then it can be considered an extension/derivative work of Sage and as
>> such the whole thing (=Sage+notebook) has to be GPL.

http://www.gnu.org/licenses/gpl-faq.html#GPLModuleLicense

But note that this URL points to the "Sage+notebook" case. It says 
nothing about releasing the notebook as a separate work.

The following does not apply, because Ondrej's program text does not 
include any GPL library if it is distributed (as he did) in an email.
http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL

Looks like the first paragraph of
http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL
applies *if the notebook is distributed separately* (not together with 
Sage).

I've given more related links to the FAQ below.

>> The important term is "distribution". Of course, also NSA-internal
>> distribution of a GPL program has to follow GPL rules.
>>
>> Suppose I write a program and *distribute* it to my wife under the GPL.
>> If my wife chooses to *distribute* that program to my child, she can do
>> that, but she must follow the GPL rules. Now three people have that
>> program (and source code) and none of us is forced by GPL rules to
>> publish the source code to anybody else in the world if no further
>> distribution happens.
>>
>> Only if you distribute the work, you must follow GPL rules.

http://www.gnu.org/licenses/gpl-faq.html#NoDistributionRequirements
http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic
http://www.gnu.org/licenses/gpl-faq.html#CanIDemandACopy
http://www.gnu.org/licenses/gpl-faq.html#DevelopChangesUnderNDA

>>>> The usage case I have in mind is using this to teach University
>>>> courses in computational physics.  I know others are already doing
>>>> this (William is right now I think).  If I share notebooks with
>>>> students and they with me, does everything have to be GPL?
>>> No, definitely not.   But if you post the notebooks publicly and they make 
>>> use
>>> of the sage library, then they have to be GPL'd.
>> I'd say if you distribute the notebooks alone without any GPL'ed
>> software, then you are free to choose any license you like.

I don't know much about the notebook server, but I'd argue that if 
somebody puts/saves his notebook there than this notebook can be 
considered as an extension of Sage and is thus distributed from a Sage 
server under the GPL. However, since the copyright of the content is 
still with the person who created the notebook (suppose it does not 
contain material that is not otherwise copyrighted) then this person 
should have the right to also distribute this notebook under any other 
license.

Since IANAL, the above paragraph is just my belief. But I think it would 
be a good idea to explicitly state that if someone saves a notebook on
http://www.sagenb.org/ then this notebook will automatically be 
distributed from http://www.sagenb.org/ under a GPL license (with a 
right of the person to distribute the notebook content under any other 
license).

Ralf

--~--~---------~--~----~------------~-------~--~----~
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