I am new to open source licenses and it seems very confusing, therefore need some suggestions. We are developing an application which utilities existing components with following license types:

  • Apache License v2
  • LGPL v2.1
  • MIT License
  • BSD style license
  • Mozilla Public License v1.1

Now my concern is:

  1. What kind of distribution limitations our application might have from commercial perspective?

  2. What kind of license possibilities we have for our application? (e.g. Apache, proprietary, GPL, etc.)


closed as too broad by Bart van Ingen Schenau, GlenH7, user40980, Frank, World Engineer Jun 17 '14 at 22:25

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    What have you found so far? Have you read the corresponding wiki pages, for instance (Apache)? – Deer Hunter Jun 17 '14 at 8:44
  • choosealicense.com/licenses – Idan Arye Jun 17 '14 at 8:52
  • This is a pretty complex question. The BSD license allows you to take to code proprietary, the LGPL only allows the LGPL. But it depends on whether you are changing any of the components or just distributing them. So you need to be much more specific and particularly if you have money involved in this project have some time with a Lawyer. I know that doesn't sound helpful, but realistically nobody here can give a definitive answer. – Jaydee Jun 17 '14 at 9:11
  • Hi, Thanks a lot for your reply and a useful link. I first read Apache license FAQ and there it said LGPL is incompatible license and then I searched some forums and there someone wrote that if licenses are incompatible you cannot distribute them .. Later a friend pointed out to me a project where they used both Apache and LGPL (intelleo.eu/fileadmin/templates/intelleo/…). This made it quite confusing ... – user136853 Jun 17 '14 at 10:02

Both Apache and LGPL are compatible in the way you are using them: as different components. It would be more complex if you were trying to combine in one component code from several licenses under a single one (although the licenses you use above would allow under some conditions to relicense the code to certain licenses).

What you should do¹ is to include with your program a list of components you use with their licenses and their source code (it can be a download link to your website). If you changed the component, publish your modification under the same license.

Given the above licenses of the plugins used, you may publish your program under any license you choose (all of those mentioned are fine: Apache, proprietary, GPL, etc.) Note that for GPL you should include an exception for the components, so there's no need to relicense them for GPL compatibility. Mention the components and their licensing where you place your main program license.²

¹ This is actually stricter than what you are required by some of the licenses, but it's good citizenship (and also keeps you on the safe side).

² It may range from mentioning the components license files on a COPYRIGHT file to including the full text of the licenses in a window which is showing your EULA.

  • Thank you for the reply. It is quite helpful. How does it work with the SaaS model. I read somewhere technically the code is not distributed so unless you use AGPL license component in your offering you could offer Software as a Service and not worry about license issues as you are not technically distributing the code. Does this argument have sound footing? – user136853 Jun 17 '14 at 15:20
  • Nothing technical about it. If you run programs to provide a service but you don't give out copies of the programs (or any part of them) then you are using and not distributing. All these licences let you do that. – david.pfx Jun 18 '14 at 1:33
  • Hi, Thanks again for clarifying it. One final concern ... do Javascripts qualify as code distribution? – user136853 Jun 18 '14 at 18:06

There are two important factors you did not mention.

  1. Do you want to keep your source code private, or are you willing to distribute it?
  2. Do you want to make money out of this, or will you compete with someone who does?

The basic breakdown is this. If you make no money out of it and harm no-one then just do your best, acknowledge the work of others and don't worry too much. If you have GPL in the mix you will probably have to distribute your source code (depending on some rather complex rules) but if not, then you can probably keep it private if you want.

If you make money out of your product or services and/or if you may cause damage to someone or compete with someone who does, then you must take competent legal advice. That won't protect you, but it will warn you about the risks and possibly help to mitigate them. You are at risk, even if you don't realise it, and the more money you make the bigger the risk.

If you do distribute your own source code you will run into the licence incompatibility problem. There is no licence you can put on your own source code that will satisfy everyone else. Go figure.

Not the answer you're looking for? Browse other questions tagged or ask your own question.