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