2011/11/17 Henrik Alsing Friberg <henrik.alsing.frib...@mosek.com>: > 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 >
Dear Henrik, Regardless of the discussion that motivated your answer, thank you very much for this summary. I think it would be a great entry for the Wiki. I will make sure to upload it there. Thanks again. -- M. Sc. Juan Pablo Carbajal ----- PhD Student University of Zürich http://ailab.ifi.uzh.ch/carbajal/ ------------------------------------------------------------------------------ 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