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