Licensing

178 views
Skip to first unread message

Ramesh Nethi

unread,
Aug 7, 2012, 5:38:50 AM8/7/12
to nx...@googlegroups.com
Hi Yaroslav,

Any chance of using Apache/BSD like license for this project ?

thanks
Ramesh

Yaroslav

unread,
Aug 7, 2012, 8:48:47 AM8/7/12
to nx...@googlegroups.com
Hi Ramesh,

Could you please explain why would you need that?

Yaroslav

Ramesh Nethi

unread,
Aug 7, 2012, 9:46:03 AM8/7/12
to nx...@googlegroups.com
Most enterprises still have a problem with using GPL/LGPL components because of internal policies. I understand that LGPL linking flexibility (esp in embedded environment), but still can't be used in many enterprise environments because of those existing policies.

I would rather go and use an apache/bsd licensed components rather than fight with nternal open source policy.

regards
Ramesh

Yaroslav

unread,
Aug 8, 2012, 2:15:16 AM8/8/12
to nx...@googlegroups.com
This topic is hard for me. I am not a lawyer. One point is that nxweb already uses GNUTLS, which is LGPL. Not sure if I can use it if I am under Apache/BSD.

Nikos Mavrogiannopoulos

unread,
Aug 8, 2012, 10:36:40 AM8/8/12
to nx...@googlegroups.com
On Wednesday, August 8, 2012 8:15:16 AM UTC+2, Yaroslav wrote:
This topic is hard for me. I am not a lawyer. One point is that nxweb already uses GNUTLS, which is LGPL. Not sure if I can use it if I am under Apache/BSD.

You  can use GnuTLS under any license even proprietary. About nxweb, it is up to you, but I see no much reason to use a non-copyleft license such as Apache/BSD. The advantage of LGPL is that anyone modifying your code has to use the LGPL license. In Apache/BSD I can improve your code and provide the result as a binary-only proprietary software.

regards,
Nikos

Giulio Paci

unread,
Jun 17, 2015, 2:12:39 PM6/17/15
to nx...@googlegroups.com
I would also like to see a BSD like license for this project.
My reasons are:
1) I found very difficult to respect LGPL whenever I want to keep part of my application closed source;
2) I do not like viral licenses and licenses that pose copatibility problems.

LGPL in general asks you to either comply with GPL or, at least, allow everybody to rebuild a modified version of the application you are distributing that uses LGPL libraries. This is easy to achieve whenever the LGPL code is in a shared library, because most of the issues are handled by the OS. However on some systems (e.g. iOS) it will not be possible to respect the LGPL license without opening the whole application.
Moreover with "difficult" licenses like LGPL it is a nightmare to understand the implication and compatibility of different pieces of code. For example what about mixing LGPL-3 and GPL-2 code sources? If you make a research you will find that they are not compatible (http://www.gnu.org/licenses/license-list.html). The nightmare is even worse when developers add exceptions to the "standard" licenses and are using others, because you have to understand why two licenses are compatible.

Essentially when using LGPL, you must have both the knowledge of a lawyer and the one of a skilled developer simultaneously.

The main problem with LGPL for me is that it is meant to protect users, not developers (which is not necessarily a bad thing, but is not what usually developers want): it is meant to let the users modify the application they obtain, not to enforce other developers to contribute back the changes they do.

Bests,
Giulio.

Yaroslav

unread,
Jun 17, 2015, 2:58:02 PM6/17/15
to nx...@googlegroups.com
Hi Giulio,

I am not an expert in this but as far as I've been told it should be no problem to use nxweb as a library to build closed source or even commercial application. Do you really need to modify its code? If you can tell me what you need to modify I can probably add some hooks so you do not need to modify anything.

And nxweb won't run under iOS anyway. It's Linux-only.

Yaroslav

--
You received this message because you are subscribed to the Google Groups "nxweb" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nxweb+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Nikos Mavrogiannopoulos

unread,
Jun 17, 2015, 4:18:57 PM6/17/15
to nx...@googlegroups.com
On Wed, 2015-06-17 at 11:12 -0700, Giulio Paci wrote:

> The main problem with LGPL for me is that it is meant to protect
> users, not developers (which is not necessarily a bad thing, but is
> not what usually developers want): it is meant to let the users modify
> the application they obtain, not to enforce other developers to
> contribute back the changes they do.

LGPL is to protect developers. As a developer I would like to see code
written to enhance a tool contributed back. There is no issue with
linking with LGPL code, as long as the changes to the _LGPL code_ are
placed under LGPL.

regards,
Nikos


Giulio Paci

unread,
Jun 18, 2015, 11:38:27 AM6/18/15
to nx...@googlegroups.com, nm...@gnutls.org


On Wednesday, June 17, 2015 at 10:18:57 PM UTC+2, Nikos Mavrogiannopoulos wrote:
On Wed, 2015-06-17 at 11:12 -0700, Giulio Paci wrote:

> The main problem with LGPL for me is that it is meant to protect
> users, not developers (which is not necessarily a bad thing, but is
> not what usually developers want): it is meant to let the users modify
> the application they obtain, not to enforce other developers to
> contribute back the changes they do.

LGPL is to protect developers.

This is plain wrong. It has never been a priority for FSF to protect developers.
They reports on every page of http://www.gnu.org/ that their “mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users.”
In LGPL-2.1preamble you also read: LGPL is "intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users."
In the same preamble they also state "We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License."

They never mention developers.
 
As a developer I would like to see code
written to enhance a tool contributed back.

Actually as an opensource developer, my goals are more or less like yours: if there is anything useful that I can add to the project. I also was a fan of LGPL until I had to mix code under several licenses. It was just a nightmare to understand if a license was compatible with LGPL or not and then why. Because even if two licenses are compatible with LGPL, you are not guaranteed that you can use both at the same time (e.g.: compatible closed source software and GPL software are both compatible with LGPL, but an LGPL application cannot load simultaneously GPLed and closed source plugins). And this is detrimental to every developers. In gstreamer they know this: http://gstreamer.freedesktop.org/documentation/licensing.html. The document still does not cover new issues that are coming up as technology evolve (e.g.: the document was written before LGPL-3 and issues with LGPL software on iOS http://roadfiresoftware.com/2013/08/the-problem-with-using-lgpl-v2-1-code-in-an-ios-app/).

If you want to receive back contribution, it is much better to provide infrastructure for it (e.g.: use git or mercurial, publish on the right place, help people get in touch with you) rather than trying to enforce it using a complicate and viral license. Moreover one day you may want to change the license of the project and you will have to discharge every contribution in order to do that, or, at least, contact every contributor to see if they agree.
If you still want to enforce contributions, you should use something like Affero GPL: LGPL does not force anybody to contribute back code (you are forced to distribute the code only if you are distributing the software, but if you are building a webservice, you are not forced to do that).

There is no issue with
linking with LGPL code, as long as the changes to the _LGPL code_ are
placed under LGPL.

There are issues with distribution of the software: you have at least to grant that relinking is always possible. And this is not possible if you are dealing with signed object code. Moreover be aware that LGPL-3 adds an additional level of complexity and you are not even able to use GPL-2 code...

Giulio Paci

unread,
Jun 18, 2015, 11:54:13 AM6/18/15
to nx...@googlegroups.com
On Wednesday, June 17, 2015 at 8:58:02 PM UTC+2, Yaroslav wrote:
I am not an expert in this but as far as I've been told it should be no problem to use nxweb as a library to build closed source or even commercial application.

Well, actually I am still looking at the project and see if it can fit my needs.
I plan to use mainly in opensource projects (mostly released under Expat/MIT license).

I was just trying to explain why many people (me included) does not like GPL/LGPL, especially for this kind of project: I do not see any benefits in using it. It is frustrating trying to understand all the issues that it poses, people are not forced to contribute any bugfix back, as they will probably just use it in webservices...

Moreover, as far as I understand nxweb is released under LGPL3. This makes impossible to use any code under GPL2, plugin and modules included... We are not even talking about proprietary software in this case.
 
Do you really need to modify its code? If you can tell me what you need to modify I can probably add some hooks so you do not need to modify anything.

No, I did not need to modify anything yet. I just tried to adapt hello world to my needs and it was working.

And nxweb won't run under iOS anyway. It's Linux-only.

I know that nxweb is Linux only, but I guess that one day it will be possible to try to port to some embedded platform and face similar issues to those that we may face today with iOS development (that is that you cannot allow everybody to perform relinking).

Yaroslav

unread,
Jun 18, 2015, 12:16:52 PM6/18/15
to nx...@googlegroups.com
Moreover, as far as I understand nxweb is released under LGPL3. This makes impossible to use any code under GPL2, plugin and modules included... We are not even talking about proprietary software in this case.

I do not think nxweb poses any limitations on plugins you use in your program. It comes as a plugin itself, and you can plug it anywhere including proprietary software.

Giulio Paci

unread,
Jun 18, 2015, 12:58:16 PM6/18/15
to nx...@googlegroups.com


On Thursday, June 18, 2015 at 6:16:52 PM UTC+2, Yaroslav wrote:
Moreover, as far as I understand nxweb is released under LGPL3. This makes impossible to use any code under GPL2, plugin and modules included... We are not even talking about proprietary software in this case.

I do not think nxweb poses any limitations on plugins you use in your program. It comes as a plugin itself, and you can plug it anywhere including proprietary software.

Any license impose some limitations, or, better, gives some permissions and reserve some rights. When you try to mix two code bases with two different licenses essentially you have to apply the intersection of the permissions they give.
According to FSF (http://www.gnu.org/licenses/license-list.html#LGPL) LGPL-3 cannot be linked with GPL-2 code, so nxweb is posing actual limitations on plugins.

Yaroslav

unread,
Jun 18, 2015, 1:39:56 PM6/18/15
to nx...@googlegroups.com
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

Here is my understanding of this. There is a composite software product and there are components it uses (aka libraries, modules, plugins). The composite has some license, and every component has its own license. There must be compatibility between composite product's license and the license of each of its components (one-to-one). But there is no requirement for different independent components licenses to be compatible with each other (there is even no such relationship defined).

So unless you want to license your program under GPLv2 and link it to nxweb there should be no problem. And if you really need that then I can probably change LGPLv3 to LGPLv2.1+ so you can do it. Otherwise this seems to be rather phylosophical discussion, which I am not very interested to continue as I am not a lawyer.

Giulio Paci

unread,
Jun 18, 2015, 4:02:59 PM6/18/15
to nx...@googlegroups.com


On Thursday, June 18, 2015 at 7:39:56 PM UTC+2, Yaroslav wrote:
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

Here is my understanding of this. There is a composite software product and there are components it uses (aka libraries, modules, plugins). The composite has some license, and every component has its own license. There must be compatibility between composite product's license and the license of each of its components (one-to-one). But there is no requirement for different independent components licenses to be compatible with each other (there is even no such relationship defined).

As soon as they are linked simultaneously, they should be compatible each other. If you are using only one component at time, or if components are not linked, then your understanding is right.

So unless you want to license your program under GPLv2 and link it to nxweb there should be no problem. And if you really need that then I can probably change LGPLv3 to LGPLv2.1+ so you can do it.

I guess this would be a good start.
 
Otherwise this seems to be rather phylosophical discussion, which I am not very interested to continue as I am not a lawyer.

You are not a lawyer, but you are the copyright holder of your code and the only person that can decide what to do with it and its license terms. As soon as you will accept contributions and you will not ask contributors to give you the copyright, then you will not be allowed anymore to change these terms. I have seen several projects where this became a problem after several years and several contributions, especially when companies were involved and none of the authors work for the companies anymore.

The whole discussion was just to let you know about issues with LGPL 3 and possible future issues with LGPL 2.1.
Up to now I have seen issues with LGPL 2.1 only with compilers targeting iOS, that makes it impossible to mix LGPL and proprietary code. I am not aware of any other unsolvable problem.
Reply all
Reply to author
Forward
0 new messages