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: fgnievinski
Subject: Re: Octave FAQ update about GPL
Date: Wed, 12 Feb 2014 14:28:58 -0800 (PST)

Several the previous usage cases hinge on the whether or not a given library
can be considered a System Library.  Quoting from the text of the GPL:

    The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major Component,
and (b) serves only to enable use of the work with that Major Component, or
to implement a Standard Interface for which an implementation is available
to the public in source code form. 

Notice that the each clause (a) and (b) has two parts:
   (a.1) is included in the normal form of packaging a Major Component
   (a.2) is part of that Major Component
   (b.1) serves only to enable use of the work with that Major Component
   (b.2) implement a Standard Interface for which an implementation [a
different one?] is available to the public in source code form
So the definition should be read: ( (a.1 AND NOT a.2) AND (b.1 OR b.2) )
Sub-clause (b.1) seems quite wide to me...
The text of the GPL continues to say that:

    A "Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system (if any)
on which the executable work runs, or a compiler used to produce the work,
or an object code interpreter used to run it. 

So the Major Component would be the Octave interpreter.
The GPL goes on to say:

    A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that is
widely used among developers working in that language. 

Initially I interpreted Standard Interface as essentially Matlab, although
now I'm uncertain because of the caveat in sub-clause (b.2), "is available
as source code".
Finally, the GPL says:

        The "Corresponding Source" ... does not include the work's System
Libraries... 

So the very same library can require copyleft or not from the caller,
depending on how the library was installed and distributed.
Here are some specific cases:

* Can Octave Forge submissions be considered a System Library, if they are
shipped along with Octave? Yes.
- Source: GPL System Library definition, sub-clauses (a.1) and (b.1).

* Can Octave Forge submissions be considered a System Library, if they are
shipped along with the caller code? No.
- Source: GPL System Library definition, "Corresponding Source" quoted above
- Source: <http://www.gnu.org/licenses/gpl-faq.html#WindowsRuntimeAndGPL>,
paragraph 2.

* Can Octave Forge submissions be considered a System Library, if they are
downloaded and installed by the final user of the caller code, either
manually or via the pkg install command? No?

* My code calls an Octave function that is considered a System Library.  I
found a bug, wrote a patch, submitted it, and it was accepted and applied by
the Octave maintainers.  Unfortunately the fixed version won't be shipped as
part of Octave before two major releases.  If I ship the patched version
along with my code, is it still considered a System Library? No.
- Source: <http://www.gnu.org/licenses/gpl-faq.html#WindowsRuntimeAndGPL>,
paragraph 2.

* Can a function available in Matlab but currently unimplemeted in Octave
but acknowledged to be missing be considered a System Library: Yes?

-F.



--
View this message in context: 
http://octave.1599824.n4.nabble.com/Octave-FAQ-update-about-GPL-tp4661733p4661885.html
Sent from the Octave - Maintainers mailing list archive at Nabble.com.


reply via email to

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