Can I use Apache Software License, Version 2.0 and GNU LGPL 3 licence plugins in my commercial web application?

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/227639

  •  02-10-2020
  •  | 
  •  

Question

I have two plug-ins. One has the GNU LGPL 3 license and the other has the Apache Software License, Version 2.0. Can I use them in my commercial app? And if yes, what precautions should I take?

Was it helpful?

Solution

Can I use them in my commercial app?

It depends on what you intend to do with the software that you produce.

Firstly, neither ASL1, GPL or LGPL make any restrictions on what you can use software to do inside your organization. The restrictions are all on code that is distributed outside of your organization.

  • For GPL the restriction is that if you incorporate GPL'ed code into your own software, AND you then distribute your software outside of your organization, THEN you must make the source code available under the terms of the GPL or a compatible open source license.

    So if you use GPL'ed code in your application and you distribute it, then your application must be open source ... or else you are violating the license.

  • For LGPL, the restriction (see above) only applies to the source-code of the LGPL'ed library itself; i.e. if you change the library. If you just use the library, you are not required to make your source code available.

    There is also a restriction that the LGPL code in your application must be replaceable by the user of your code. That means (in effect) that if you distribute your code as binaries only, then you cannot statically link your code against that the library. You must use dynamic linking.

  • For ASL, the only significant restriction is that you must say if you have changed anything from the original version the ASL'ed code that you using.

Finally, just to make it clear, neither GPL, LPGL or ASL places any restriction on your purpose in using the software. And that includes whether your purpose is to make money. They just constrain the way you can make money ... and in the case of LGPL and ASL, the constraint is pretty minimal.

And if yes, what precautions should I take?

For LGPL and ASL, no precautions are necessary.

IANAL - I am not a lawyer. If you need to be sure, ask a real, qualified expert; i.e. a lawyer who specializes in software IP law.


1 - For the purposes of this answer, ASL == Apache Software License version 2.

OTHER TIPS

The Apache License does not place any restrictions on software that links to a plug-in or library that is distributed under the Apache license. The LGPL on the other hand has the requirement that either the LGPL library links dynamically (and can be replaced by a user) or the entire work must be released under a GPL-compatible open-source license.

For the use in a closed-source application, this effectively means that you can use the Apache Licensed plug-in without restriction and that the LGPL licensed plug-in must be linked dynamically.

If you distribute either of the plug-ins along with your application, then you must also either provide the sources for the plug-ins or inform your users where they can obtain those sources.

First of all, this is not legal advise.

GPL software is not allowed to be linked to (including over network), be compiled into, or be shipped with non-GPL software of any form. LGPL loosens this up a little to allow non-GPL third party support, including for commercial products. The important part here is that it must be third-party (so to speak), which creates a small loop-hole.

In short, you link to an existing LGPL library (call this the first party), but the software that makes this link must be made LGPL. Call this this software the second party. Although the second party software must be released as LGPL, as the owner of the second party software you can allow other software to use it outside of the LGPL (as long as the second party software remains available under LGPL as well). In other words, the second party software must be made available as LGPL, but is not required to license it as LGPL under all cases. Every individual user of a software must have license to use said software by law. What I'm saying is that as long as each user has access to the software as LGPL, you can also license it using non viral terms. You can create the third-party software as well, in effect licensing the second-party software to yourself for use by the third party software under non-LGPL terms. I have even heard of people writing themselves a contract and license to use their own software. The law can be strange! The third-party software does not have to be LGPL in any case.

So what you do is create a library to link to the LGPL lib as just a wrapper, and release the wrapper as LGPL. You can then link to this wrapper (your wrapper) in non-LGPL software, as long as your wrapper is avaliable as LGPL.

I can't speak for the Apache Software License because I'm not familur with it.

Licensed under: CC-BY-SA with attribution
scroll top