On Fri, 8 Mar 2013 06:39:25 +0100 Michael Haberler <mai...@mah.priv.at> wrote:
> Am 08.03.2013 um 04:06 schrieb Matt Shaver: > > 4. According to this page: > > http://www.zeromq.org/area:licensing > > they say: > > *************************************************************** > > Static linking exception. The copyright holders 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 must > > extend this exception to your version of the library. > > > > ØMQ for Commercial Applications > > > > ØMQ is safe for use in close-source applications. The LGPL > > share-alike terms do not apply to applications built on top of > > ØMQ. > > > > You do not need a commercial license. The LGPL applies to ØMQ's > > own source code, not your applications. Many commercial applications > > use ØMQ. > > *************************************************************** > > This description is spot on. But, the way I read it: "The copyright holders give you permission to link this library with independent modules to produce an executable, REGARDLESS OF THE LICENSE TERMS of these independent modules" Do we need to actually include 0MQ code in Linuxcnc to use it (other than header files which are excepted by the LGPL)? Is our use of 0MQ going to exceed the permission granted by the "Static linking exception"? > > If this is the problem, let's figure out which are the actual > > "roadblock" files. If this is not the problem, or if there are other > > licensing issues, please let me know. > > yes, that is what needs to be done. I'm actually happy to work on this! If you were to say to me, "Matt, you should work on analyzing our current licensing situation and attempt to make it better because it's the right thing to do", I would be pleased to do all I can towards that end. I would just like to understand what the problem is with _actual_ license incompatibility. As far as I can tell, 0MQ would be OK to use _today_ under the "Static linking exception". > the only remarks I have: > > 1) affects not just me, and not just the ZeroMQ package. Folks are > routinely bitten by it, and several packages which would be > attractive for use with LinuxCNC are off limits, for instance the > excellent Kivy touch screen UI project, Link: https://github.com/kivy/kivy/blob/master/COPYING License: LGPLv3 Matt's Opinion: This library could be used with no changes to the Linuxcnc licensing PROVIDED THAT no "linking" occurs between Kivy code and anything in Linuxcnc that is licensed "GPLv2 only". ************************************************************* If you use this library, do the following: 1. Package and distribute the resulting program as an "independent and separate work". 2. Communicate with Linuxcnc only over an interface that does not require the code of the Kivy based program to incorporate any of the Linuxcnc code that is "GPLv2 only", for example, over TCP/UDP, sockets or pipes. ************************************************************* I have assiduously avoided any discussion of "linking" as it applies to the GPL because it is so contentious an issue with regard to the perceived definition of the term. For a more complete discussion of the issues involved, see: http://www.law.washington.edu/lta/swp/law/derivative.html > or the RPCz layer ontop of > ZeroMQ. Link: http://code.google.com/p/rpcz/source/browse/COPYING License: Apache Version 2 Matt's Opinion: Use it with no worries, today, as long as you don't create a Derivative Work. The Apache License says, "Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof". The mere use of this library does not create a Derivative Work. > Those can be worked without; the story on equivalent > replacements for ZeroMQ is short and lacking a wide range of language > bindings in particular. And I simply do not have the time and energy > to work around by re-coding such completely generic tools just > because of the licensing status of LinuxCNC. > > Other examples are libmodbus Link: http://libmodbus.org/documentation/ License: "The license of libmodbus is LGPL v2.1+ and the licence of programs in the tests directory is GPL v3". Matt's Opinion: Use it, as desired, today! See: http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility > and OpenSCAM; Link: http://openscam.com/ License: This is licensed "GPLv2 or later", plus they specifically target the Linuxcnc version of G-code to visualize. Matt's Opinion: Use it, as desired, today! Release any _combined_ code as "GPLv2". > in these cases I could > work around the issue by convince the authors to relicense _their_ > package. This does not scale - it only works for rather small > projects, and those are not the ones which are a huge boost in such > an effort. > > 2) Given JMK's expressed willingness to relicense along these lines > and fact that the list of folks who contributed to RTAPI/HAL is > rather short, this seems to be the easy part. That's true, but with one notable exception: Mr. Paul Corner of England, wrote me in response to my earlier essay on Linuxcnc copyright issues. Since he forbid me to share the content of his communications with anyone, I can't quote him directly, but he made it clear that he will not allow the re-licensing of any of his work. He explicitly stated that he would not allow the appending of the words, "or later" to the GPLv2 license declaration. The ramifications of this will need further study to determine, but several areas that are likely affected (if a license change is desired) are libnml, the backplotter in lklinuxcnc, and RTAPI. RTAPI is the major problem in my opinion. > Since e.g. task and > motion must tie into the middleware by linking to ZeroMQ, and both > are GPL2only, it is one of the hot spots. Same goes for UI components > which will need to tie in. This is a bit ironic given the fact that > task hasnt changed all that much since it came out of NIST with a > public domain status. I think it's possible that all of the work based on the NIST code is _still_ in the public domain, despite the addition of license notices added to the code later. I base this on three things: 1. The NIST portions could be considered "Derivative Works" rather than "Joint Works" due to NIST's overwhelmingly large contribution to the whole. In my previous essay I argued that only a minimal contribution to a work was required to become an author in a "Joint Work", but I don't know where the line is actually drawn. In fact, allowing contributions to a Work by US Government employees which results in a "Joint Work" would vest in those US Government employees an undivided copyright interest therein (absent any other agreement), giving them the right to license it as "Public Domain". This is an incredibly sticky issue and to avoid further damage to my previous good mood this morning, I'll leave it at that... 2. The original copyright notice in the code on Sourceforge (as I remember) said something like, "GPLv2 and other rights". Fred Proctor told me the "other rights" meant that it was in the Public Domain. I need to do some research to confirm this before relying on it. 3. Since changing out NML for 0MQ will likely mean large changes to the NIST code anyway, we could (maybe) try to start from the last Public Domain NIST code, rather than what's in git/master today since the differences are, as you point out, not too large. > I would be very grateful if that work item were picked up. I will do all I can. > I am happy to help, and I know others will too. Thanks! Matt ------------------------------------------------------------------------------ Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the endpoint security space. For insight on selecting the right partner to tackle endpoint security challenges, access the full report. http://p.sf.net/sfu/symantec-dev2dev _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers