23

I have read the LGPL license but its so complicated that I couldn't figure out the answer for my questions.

I want to use a LGPL library in my project. No change will be done in the LGPL library. This project is a website application used by registered users. The registered users are not charged to use the website.

So my question is can I use the LGPL library for this scenario?

Peter Lillevold
  • 33,668
  • 7
  • 97
  • 131
Bhushan Bhangale
  • 10,921
  • 5
  • 43
  • 71
  • 6
    The short answer is: don't ask non-lawyers for legal advice. The comments given below (unless explicitly identified) are the private opinions of various individuals, and do not constitute legal advice. :-) – Stobor May 28 '09 at 07:32
  • I like this question: http://stackoverflow.com/questions/687053/should-i-ask-online-programming-communities-like-stack-overflow-for-licensing-adv – Alex B May 28 '09 at 07:38
  • 12
    @Stobor: the complexity of law and the entrenchment of lawyers is a plague of society. If ignorance of the law is not an excuse, and the only people qualified to know the law are lawyers, what does that make us? – Unknown May 28 '09 at 07:43
  • 4
    @Unknown: inexcusably ignorant? :-) – Jeffrey Hantin Oct 04 '10 at 21:28
  • This question appears to be off-topic because it is about licensing. – Bill the Lizard Aug 07 '13 at 17:11

5 Answers5

28

Firstly, you can definitely use the library. Whether you want to, is a separate question.

If you do not modify the source code, and do not statically link to the library, or rely on internal data structures of the library, then you do not have to distribute the source code of your application to anyone who gets the binaries from you, but you have to distribute the original source code of the library.

If you do modify the source code, but do not statically link to the library, or rely on internal data structures of the library, then you do not have to distribute the source code of your application to anyone who gets the binaries from you but you have to distribute the modified source code of the library.

If you statically link to the library, or rely on internal data structures of the library, then you have to distribute the source code of your application to anyone who gets the binaries from you, and you have to distribute the original (or modified, if applicable) source code of the library as well.

If you are not distributing the binaries, or you are okay with the above constraints, then you can happily use the library.

HTH.

Stobor
  • 44,246
  • 6
  • 66
  • 69
  • 2
    The library is a jar file and my Java code uses the api. What do you mean by statically link to the library? – Bhushan Bhangale May 28 '09 at 08:25
  • 3
    If it's Java, you probably want to read http://www.gnu.org/licenses/lgpl-java.html However, as most other respondents have pointed out, if it's purely a server-side application, and you don't distribute binaries to anyone else, then you don't have to take any of this into consideration. – Stobor May 28 '09 at 23:25
11

If you do not distribute your web application but just host it and provide access to it (i.e. people just use their browser) then you can use the LGPL library. Giving someone access is not distribution according to the (L)GPL. You can even use GPL libraries and code this way. You are even allowed to change these libraries. Because it is not distribution you can do whatever you want and you do not need to give away the source code.

The only libraries that you cannot use are those licensed under the AGPL (Affero General Public License). The AGPL is like the GPL but with the explicit requirement that if you provide access to a hosted application, you need to distribute the source as well. That means, visitors of your website need to be able to download the soure code of the website. So, if you use an AGPL library then you need to give your users the possibility to download the entire source code for your web application.

Disclaimer: I'm not a lawyer.

Sander Marechal
  • 22,978
  • 13
  • 65
  • 96
4

You can use it without distributing the source code if you are not distributing the program. Are your users downloading a web client program or is everything serverside?

If it is clientside, then you need to dynamically link the library in order to avoid the need to release source code. However, you are still bound to the agreement to link or host the source code of the library(I'm not sure if you need to do both or just 1).

Unknown
  • 45,913
  • 27
  • 138
  • 182
4

Summary of LGPL License:

Proprietary Software linking - Allowed (since the software that links to the library is not considered a derivative work).

Distribution of "the Work" - Allowed with some restrictions: You have to provide source code of the distributed LGPL library with (if any) modifications, changes to the LGPL library should be allowed to third parties and if BC your app/lib should still work with the modified LGPL lib/app.

Redistributing of the code with changes - Only if the derivative is GNU LGPL or GNU GPL.

Compatible with GNU GPL - Yes

So in summary, you should be okay.

aleemb
  • 31,265
  • 19
  • 98
  • 114
3

Yes. You can.

Pavels
  • 1,256
  • 1
  • 12
  • 19