Hi. I have a quick question for the developers about licensing. I noticed that NetXMS is under GPL v2.0. (Just a tip, there should be a place to find this out on the homepage without having to download the source code).
I was wondering whether you have, or would, consider releasing any portion of NetXMS under LGPL.
To clarify, LGPL is the Lesser GPL, and in a nutshell it says that you can build your own custom code (a derivative work) against a library released under the LGPL license without having to release your custom code as GPL.
I am interested in recommending your software to a customer. NetXMS meets most, but not all, of my customer's requirements and I would be tasked to write some custom software, probably linking against your API, to fill in the missing functionality. But I'm quite certain that my customer would not consent to releasing the code I develop for them as open source. LGPL was intended to address just this sort of situation.
Anyway, there are a wide range of attitudes on whether FOSS should be able to be used to build commercial software or not, and I was wondering whether the lack of mention of LGPL was inadvertent or intentional. Thanks.
Tony
Hi!
You are right, most of the libraries must have LGPL license instead of GPL. One of the main ideas behind NetXMS is to make it a good platform for building customized solutions, so GPL license in each file is mostly because of copy-and-paste then intentional limitations. I'll do review of licensing and change license files appropriately, but anyway you can be sure that you can use all APIs under LGPL license.
Best regards,
Victor
Thanks very much, that's the answer I was hoping to get. Do you have any plans to put anything to that effect in writing? My employer takes license compliance very seriously, so if the only license put forth in writing is GPL, and my proposed use will violate that license, they'll never let me do it, even with your assurance above. Thanks.
Tony
I could change it in upcoming 1.0.5 version, which I plan to release this or next week, depending on resolving few serious issues (mostly issue 305).
Best regards,
Victor
Great! Thank you very much!
Version 1.0.5 just released, where I have changed licensing for most libraries to LGPL. Current licensing scheme is as follows:
NetXMS components:
libnetxms LGPL
libnxcl LGPL
libnxdb LGPL
libnxlp LGPL
libnxmap LGPL
libnxmb GPL
libnxsl LGPL
libnxsnmp LGPL
libnxsrv LGPL
nxagentd GPL
nxalarm GPL
nxav GPL
nxcon GPL
nxcptest GPL
nxevent GPL
nxflowd GPL
nxhttpd GPL
nxlexer GPL
nxlptest GPL
nxmibc GPL
nxnotify GPL
nxpush GPL
nxscript GPL
nxsms GPL
nxsnmpget GPL
nxsnmpset GPL
nxsnmpwalk GPL
nxuilib GPL
all subagents GPL
all DB drivers GPL
all SMS drivers GPL
Third party components bundled with NetXMS:
freetype BSD-like
libexpat BSD-like
libgd BSD-like
libipfix LGPL
libjpeg BSD-like
libpng BSD-like
scilexer BSD-like
sqlite BSD-like
zlib BSD-like
Best regards,
Victor
Quote from: Victor Kirhenshtein on October 05, 2010, 01:39:37 PM
Version 1.0.5 just released, where I have changed licensing for most libraries to LGPL. Current licensing scheme is as follows:
Thanks Victor! My only remaining concern is with subagents. Does the GPL licensing of nxagentd and all the subagents mean that a custom subagent cannot be developed without releasing it as GPL? (I'm still working on getting a build environment configured and do not yet know the dependencies of a subagent, but I assume it would have to link against nxagentd). Thanks.
Tony
Subagent is a shared library loaded by nxagentd, so it's nxagentd linked to subagent. The only dependence for any subagent is libnetxms, which is LGPL. From the GPL FAQ (http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins (http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins)) it looks like a borderline case - core agent calls subagents periodically via few entry points. Also, if I understand license correctly, it doesn't matter until you use your proprietary modules in your organization and not selling them.
Best regards,
Victor
OK,that definitely helps. Thanks again.
Tony