octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Octave FAQ update about GPL


From: Mike Miller
Subject: Re: Octave FAQ update about GPL
Date: Thu, 13 Feb 2014 02:32:39 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Feb 12, 2014 at 14:23:45 -0800, fgnievinski wrote:
> Here it is.  Please don't get too annoyed by the verbosity -- there's some
> redundancy, so that each usage case can be deemed true/false independently
> from the others.  I'll wait for your okay, comments, changes before bugging
> licensing at FSF.  I'll send in a separate message a discussion which I
> think is too esoteric for the FSF folks.

I've commented on each of the cases below. In general, I think you
should start from the default position asserted in the Octave FAQ, that
any m-file may be distributed under the terms of any license of the
author's choosing.

> [...]
> [Label: using the Octave interpreter]
> * Code written entirely in the scripting language of Octave (interpreted
> code in .m files), that invokes only language keywords (such as "if",
> "switch", etc): code may be released under the terms of whatever license you
> choose.
> - Source: <http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL>,
> paragraph 1.

Looks good to me.

> [Label: using libraries shipped with Octave]
> * Code written entirely in the scripting language of Octave (interpreted
> code in .m files), that invokes NOT only language keywords, but also calls
> library functions that are NOT part of the Octave interpreter itself,
> although these specific libraries are considered System Libraries: code may
> be released under the terms of whatever license you choose.
> - Source: <http://www.gnu.org/licenses/gpl-faq.html#SystemLibraryException>
> (related though not exact)

Invoking the system library exception is not the right way to ask for
clarification here. How about something like

  Code written entirely in the scripting language of Octave (interpreted
  code in .m files), that calls library functions that are NOT part of
  the Octave interpreter itself, but are part of the core Octave runtime
  library and are distributed with Octave under the same terms as Octave
  (GPLv3+): code may be released under the terms of whatever license you
  choose.

  There is no existing text to back this conclusion up, other than the
  statement in the Octave FAQ that makes no distinction between m-files
  that call no functions and m-files that do call functions.

  If this is not true because the interpreted code calls GPL-licensed
  library functions distributed with Octave, then we need to clarify
  that better.

> [Label: using parts of Octave Forge and likely most of the user submissions
> to Agora]
> * Code written entirely in the scripting language of Octave (interpreted
> code in .m files), that invokes NOT only language keywords, but also calls
> library functions that are NOT part of the Octave interpreter itself, NOR
> can be considered System Libraries, which are licensed under the GPL, with
> no copyleft exceptions (such as those adopted in the GCC Runtime Library or
> the GNU Classpath for Java): if the code is released publicly, it must be
> under the terms of the GPL.
> (More about System Libraries to follow)
> - Source 1: <http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL>,
> paragraphs 3 and 4.
> - Source 2: <http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL>
> - Source 3: <http://www.gnu.org/licenses/gpl-faq.html#LibGCCException>

Again, don't mention the system library exception here because it does
not apply. I would also assert the default position that the Octave FAQ
states. How about

  Code written entirely in the scripting language of Octave (interpreted
  code in .m files), that invokes not only language keywords, but also
  calls library functions that are NOT part of the Octave interpreter
  itself, NOR are part of the core Octave runtime library that is
  distributed with Octave. These third-party library functions are
  licensed under the GPL without any copyleft exception clauses (such as
  those adopted in the GCC Runtime Library or the GNU Classpath for
  Java): code may be released under the terms of whatever license you
  choose.

  There is no existing text to back this conclusion up, other than the
  statement in the Octave FAQ that makes no distinction between m-files
  that call no functions and m-files that do call functions.

  If this is not true because the interpreted code calls GPL-licensed
  third-party library functions distributed separately from Octave but
  dependent on Octave, then we need to clarify that better.

> [Label: modifying Octave libraries or Octave Forge submissions or Agora
> submissions]
> * Code written entirely in the scripting language of Octave (interpreted
> code in .m files), which was not written from scratch, rather is a
> modification of another code or incorporates parts thereof, regardless of
> whether or not the original code can be considered part of a System Library,
> and the original code was licensed under the GPL: if the code is released
> publicly, it must be under the terms of the GPL.
> - Source: the GPL itself, <www.gnu.org/licenses/gpl.txt>

Take out the part about a System Library, otherwise looks good to me.

> [Label: Octave-incompatible Matlab-compatible GPL code]
> * Code written entirely in the scripting language of Octave (interpreted
> code in .m files), which was written from scratch, and it requires libraries
> unavailable in Octave, only available proprietarily, which may NOT be
> considered part of a System Library: if the code is released publicly, it
> cannot be under the terms of the GPL.
> - Source 1:
> <http://www.gnu.org/licenses/gpl-faq.html#SystemLibraryException>
> - Source 2: <http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs>
> - Source 3: http://www.gnu.org/licenses/gpl-faq.html#MoneyGuzzlerInc>
> - Source 4: <http://www.gnu.org/licenses/gpl-faq.html#WindowsRuntimeAndGPL>

I'm not sure you can say that. Again, start with the default position
stated on the Octave FAQ that any m-file can be distributed under the
terms of any license, including GPL. If this is not true depending on
what functions the m-file code calls or what oct-files or MEX files the
m-file requires, then we need to clarify that better.

I hope my comments are useful.

-- 
mike


reply via email to

[Prev in Thread] Current Thread [Next in Thread]