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