On May 6, 4:41 pm, kcrisman <kcris...@gmail.com> wrote:
> Wow, I really missed quite a thread.
>
> So is there any final consensus on this?  Is the following Sage
> program automatically GPL?
>
> {{{
> 2+2
>
> }}}
>
> Or only in the following form?
>
> {{{
> Integer(2)+Integer(2)
>
> }}}

Technically, what's the difference between a GPL'd interpreter
interpreting "2 + 2" and a call to a GPL'ed library "add(2, 2)"?

I think this is the problem with the GPL: any program you write that
uses an GPL'd interface has to be GPL'd. If you add a layer of
abstraction to your program, for instance by defining Integer to be an
user-specified type representing an integer, nothing forces you to use
the GPL for you code, even if you users use you program in conjunction
with a GPL'd implementation of Integer. The point is that your
interface has to be general enough to be clearly not derived from a
GPL'd interface/library/code.
However, circumvention of this kind are debatable. (The nvidia closed
source driver for Linux has an open source interface to the kernel, if
I recall it correctly.)

>From my point of view, GPL'd libraries (and I think sage is also a
library) are practically only usable by GPL'd code. If you don't want
this, use LGPL'd libraries or similar.
The main difference of the LGPL is as far as I know that it allows you
to use an interface to the LGPL'd code without LGPL'ing your own code.


Vinzent

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