Question

I have a private (i.e. no chance of sharing the source) and commercial application, now I would like to use a library which is under the Apache 2.0 license.

I've read the Apache license and FAQ section, but I am not clear about this.

Is it the same as GPL3 which forces the application to provide the source code?

Was it helpful?

Solution

The Apache 2.0 license is very different from the GPL license, in at least two aspects:

  1. Under the Apache 2.0 license, you are allowed to distribute binaries without providing the source code with it. (Under the GPL, you must always provide the source code)
  2. The GPL license carries over to the entire application. The Apache 2.0 license does not and applies only to those parts that explicitly state they fall under the Apache 2.0 license.
    This means that if you use a library with Apache 2.0 license in your project, the permissions/rights/obligations from the Apache 2.0 license do not suddenly carry over to your code.

To distribute a (binary or unmodified) copy of an Apache 2.0 licensed library with your application, you must meet two requirements:

  • The users of your application must receive a copy of the Apache 2.0 license. To avoid confusion, you should also state which parts of the distribution the license applies to.
  • The users of your application must receive a copy of the NOTICES file that came with the library, if there is such a file.

OTHER TIPS

The Apache 2.0 licence is completely unlike GPL. In particular, it says

You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

So provided you meet the conditions listed (which are generally not onerous), then you do not have to redistribute your source code.

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