2011/11/11 Carnë Draug <carandraug+...@gmail.com>:
> Hi Henrik
>
> It seems that your package can't be GPL because it's linking octave
> with non-free software. I'm not sure we can include it at the moment.
> I'll try to figure it out first. Would be nice if someone with more
> knowledged on this legal issues could join in.
>
> By the way, are you really one of the MOSEK developers? Is the library
> itself planning to becoming more free as well?
>
> Carnë
>

Okay, let me give you a little background for the project now that you
have asked.. The MOSEK optimization library is currently often used
through the MATLAB interface. Some customers have expressed a wish to
use the Octave interface instead, while other customers yet again have
mentioned an interface to the R-project (another open source program).
So one day, it is decided to hire a guy to develop these interfaces in
the open source environments, and this is where I joined in. Of
course, using MOSEK from Octave should not only be possible, but also
a pleasant experience. So as part of my job, I am allowed (and
encouraged) to make contributions to Octave if it can be regarded as
beneficial to the Octave-to-MOSEK interface users. In the case of the
R-project interface, I have already made several contributions to the
"Matrix" package. Finally, and naturally, all my interfaces,
userguides and other contributions have an open source license - i.e.
GPL / LGPL.

With respect to legal matters of the OctMOSEK package, I can assure
you that everything is in order. OctMOSEK will be distributed under
the Lesser GPL license, with explicit permissions from the copyright
holder (me) to allow dependence on the GPL-incompatible MOSEK library.
There are three legal questions that must be settled in this regard:

---------------------------
(Q1) Can Octave, under the GPL license, make use of packages under the
lesser GPL license?
---------------------------
(A1) Yes, and for several reasons actually.

(A1.1) GPL-licensed code can only be included in GPL-licensed
projects, while code that is licensed under the the lesser GPL can
also be included in other projects. This means that the lesser GPL (my
package) allows inclusions in GPL-projects (Octave). Furthermore, the
lesser GPL license is GPL-compatible (see
http://www.gnu.org/licenses/license-list.html). This means that for
GPL-projects (such as Octave) it is compatible to include lesser GPL
code (my package).

(A1.2) Since packages are dynamically loaded from *.oct files, and
neither package names nor data structures are hard-coded into Octave,
they form a loose plug-in like relationship. That is, as long as a
package is not shipped with the binary versions of Octave, it can not
be considered an integral part of Octave. So with respect to this
question (Q1) it is legal to load packages into Octave, even when they
are not GPL-compatible. This can be compared to operating systems
where closed source software is allowed to execute on the GPL-licensed
linux kernel.

---------------------------
(Q2) Can a package under the lesser GPL license (e.g. OctMOSEK), make
use of a GPL-incompatible library (e.g. the MOSEK library)?
---------------------------
(A2) Yes, but only if permitted by the copyright holder of the lesser
GPL-licensed program (see
http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs). In case
of the OctMOSEK package this just means that I, as the copyright
holder, have to grant permissions in the copyright notice.

Note that the GPL and lesser GPL license are equivalent in this
regard, and that permissions like these would normally have to be
carried forward to all including projects and accepted by the
respective copyright holders of those projects. However, because of
the loose plug-in like structure described in (A1.2), these demands
does not apply. As long as there are no names nor data structures of
the OctMOSEK package hard-coded into Octave, the package is
dynamically loaded, and it is not part of any binary Octave build,
there is no need for a permission to be included in Octave.

---------------------------
(Q3) Can a package under the lesser GPL license, make use of the
GPL-licensed Octave API?
---------------------------
(A3) No, not without permission. In the Linux kernel you find this
exception added to the top of the GPL license (see
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=COPYING):

> NOTE! This copyright does *not* cover user programs that use kernel
> services by normal system calls - this is merely considered normal use
> of the kernel, and does *not* fall under the heading of "derived work".

In case of Sun Java becoming GPL back in 2006, the GNU Classpath
project was created with the following exception added (see
http://www.gnu.org/software/classpath/license.html)

> As a special exception, the copyright holders of this library give you
> permission to link this library with independent modules to produce an
> executable, regardless of the license terms of these independent modules,
> and to copy and distribute the resulting executable under terms of your
> choice, provided that you also meet, for each linked independent module,
> the terms and conditions of the license of that module. An independent
> module is a module which is not derived from or based on this library. If
> you modify this library, you may extend this exception to your version of
> the library, but you are not obligated to do so. If you do not wish to do so,
> delete this exception statement from your version.

Both license exceptions allow their API to be used by non-GPL projects
(such as the lesser GPL). The Octave license actually also has an
exception somewhat like this, but it does not cover packages (see
http://www.gnu.org/software/octave/license.html):

> ...enhancements to Octave that are written as function files in Octave's
> scripting language are not required to be redistributed under the terms
> of the GPL...

If Octave wish to allow packages licensed under something which is not
GPL (such as the lesser GPL), an exception must be added which allows
this! This is your choice completely, and I will respect a decision to
go down the pure-GPL road if that is what you want.

Kind regards and sorry for the late answer,
Henrik Alsing Friberg

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Octave-dev mailing list
Octave-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to