views:

90

answers:

4

I'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.

+1  A: 

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).

Amber
+1  A: 

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'.

Saxon Druce
+1  A: 

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.

Oli
A: 

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.

I hope I understood your question.

kiamlaluno
For what I know, LGPL'ed library can be used in commercial software, ONLY if the user can replace the LGPL library with another interface-compatible ones. I deem it's the main difference between LGPL and BSD license. Thus, both GPL and LGPL claims the rights of the freedom to modify, while GPL concerns about the whole and derivation, while LGPL concerns about the partial and derivation.
谢继雷
Though, in the license contents of GPL/LGPL, it's mentioned on the word 'redistribution', but for the end-user, it's not too much difference between hosted-software and redist-software. As Saxon Druce mentioned AGPL above, though AGPL does resolve the problem, but it's not so well known and widely used. IMHO, Correct me if I'm wrong, people prefer to distribute there work in LGPL rather than BSD must have a reason, though both compatible with GPL. As my own, I choose LGPL do mean that, you won't STATIC link my library with your program,
谢继雷
and similarly, you won't use my library with your closed-source web site -- Because in most case there's no way to replace a library used in web by a user. Some web sites maybe have a preference to allow users to specify a different library/plugin to use in his/her custom site configs, that is what I considered at the least LGPL-compliant web app, the freedom to modify the library itself. My question maybe more likely a propose, because GPL/LGPL is so widely used, and it doesn't concern about the Cloud future too much, which in turns to be harmful to the author of free softwares.
谢继雷

related questions