views:

189

answers:

2

I'm uncertain about a few licensing questions. I develop a closed source application, that's communicating with an open source server. Are my assumptions correct?

  1. Can I use an unmodified (L)GPL software on the server-side? I think yes
  2. Can I use and modify (L)GPL software on the server-side? I think yes because I'm not distributing the server application
  3. The client uses an communication library licensed under LGPL. Can I make changes to this library? Yes, as long as I provide the source of the library with the client software
  4. Can I take only certain parts of an LGPL licensed software and make a new project? Yes if it's licensed under LGPL too.
+2  A: 

I think, everything is true, but consider:

3: The library must be linked dynamically (this means: not compiled into the same file). Then this library must be at least LGPL, code must be publicly available (somewhere), LGPL must be included and credits must be given for the library. If you link statically (into the same file), the whole client must be LGPL.

Stefan Steinegger
How does that answer any of the questions?
Joachim Sauer
@Joachim: ?? The question was: "Are my assumptions correct?" I answered with a general "yes" and added some more details. What's the problem?
Stefan Steinegger
I don't think everything is true if he's talking about GPL, which his use of (L)GPL seems to imply. If you link against any GPL code, dynamic or static, you must open up your code. Tons of people violate the license on this front.
SB
@SB: Only item 1 and 2 are about GPL, which both are in client-server environment. Items 3 and 4 are LGPL only.
Stefan Steinegger
I don't think he realizes he'll need to open up his server side if he links against GPL.
SB
@SB: I don't think so, but I'm not 100% sure about it. The point is: he doesn't *distribute* the software, he only uses it internally (on the server). If you could provide some links, put it in your own answer.
Stefan Steinegger
I had provided http://articles.sitepoint.com/article/public-license-explained in my comments. However, I re-read his question again and it turns out he's opening up his server anyway, so my previous comment is irrelevant.
SB
A: 

The license provisions of the LGPL only apply if you are modifying the code and then distributing it.

#1 isn't modifying anything, so you have no problems there.

#2 isn't distributing the modified code, so you are OK there as well. Take note that (for example) modifying LGPL-ed Javascript code and using it on a web page counts as "distribution" since it leaves your server and is transmitted to the user. PHP code is usually not counted as "distribution" since it is processed/transformed before it is transmitted and the page the user receives is fundamentally different than the LGPL-ed PHP source.

#3 will require you to make your modifications available. You don't have to distribute the sources with the client software, having the modified source available on your website and including a note with the client software indicating where they can download the source is usually sufficient. The main point is that they can get to it if they want it. This shouldn't affect the license of your client software, though. As long as you link to the library the same way before and after your changes, your client is unaffected by your changes to the library source.

#4 is essentially the same as #3. Taking part of the code and forking it off into a new project falls under the umbrella of "modifying the code". In this instance you would probably keep the same LGPL license, but you have the option of changing to another license type as long as it is compatible (usually this means the new license cannot be more restrictive than the old one).

bta