This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this questionI'd like to ask this question in two standpoints.
As a library developer, I don't want my work to be used in source closed web apps while most web apps are source closed. (And they are also worthless to distribute, generally a web app is individual-dependent). The trendency of moving towards to cloud-computing, seems there will be less softwares run on PC in future, more and more will be transferred to a centralized cloud infrastructure. This means, to talk about `software distribution' is meaningless because most of applications will be server hosted and no need to distribute at all.
开发者_开发问答So, I'm wondering how GPL/LGPL to protect a library developer in such cases, the derivation won't have to be distributed.
Consider how do people using softwares? Personally, I don't think there's too much difference between distributed software and hosted software(web app). For example, Google Docs and Micorost Word. Assume there is an GPL library libxyz used by both Microsoft Word and Google Docs, does that means, Microsoft Word should be GPL-ed while Google Docs need not, because Google Docs isn't distributed?
Second, as a Commercial web app developer, can I use LGPL/GPL libraries in my web app currently? (LGPLv2 or LGPLv3) I have seen a lot of web pages using LGPL libraries though I personally prefer no, but I don't know whether they have violated with the license.
LGPL is essentially designed specifically so LGPL'd libraries can be used in closed-source apps.
Standard GPL would require that those apps be GPL'd (or compatible licensing), whereas LGPL requires only the library's source to be made available.
At least in the current licensing environment, apps running on your own servers aren't having their binaries "distributed" (only the page output from it), and thus restrictions on distribution do not apply. Client-side code however is, and thus any restrictions on distribution apply.
Note: IANAL, and also StackOverflowINALT (Is Not A Legal Team).
Have a look at the AGPL license:
http://en.wikipedia.org/wiki/Affero_General_Public_License
This protects against software only being used on a server where it isn't technically 'distributed'.
You can use most open licenses on the server and not have to hand out the source. It doesn't effect your licensing situation because (in most cases) you're not redistributing it, you're just running it and people are using it.
As far as LGPL goes, you can use it in closed source software that you redistribute, without releasing source code as long as you don't alter the open source component. As soon as you touch the source of the LGPL'd part, you need to open source the changes you have made.
LGPL libraries can be used also with commercial applications / software; the difference between LGPL, and GPL licensed code is that in the first case the software using a LGPL library can be licensed under a different license (including a custom one).
If you use a GPL library, then also the software using the library must be licensed under GPL.
GPL License requires that you make available also the source code of your application, when you redistribute it.
精彩评论