20

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?

2
  • 4
    Note that Android, except the kernel, is under Apache 2.0 license and most vendors do not provide sources of their customizations.
    – Jan Hudec
    Nov 7, 2014 at 15:02
  • 3
    See which licenses require including source code by looking at the "Include Source" column on this table in Wikipedia. Nov 7, 2014 at 18:31

2 Answers 2

25

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.
0
6

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.

4
  • If I include this license with my closed-source commercial application, then do I not also grant my users to distribute my application?
    – user965972
    Dec 20, 2021 at 9:53
  • @user965972 there's nothing in the license that says you must do that.
    – Simon B
    Dec 20, 2021 at 10:40
  • “You may reproduce and distribute copies of the Work” that sounds to me like this Apache license in itself already allows the user to sell my work. I include the apache license for the library I use. What prevents it from applying to my parts or the whole binary?
    – user965972
    Dec 21, 2021 at 12:00
  • 1
    @user965972 check out section 4d of the license. You are allowed to change the terms of the license.
    – Simon B
    Dec 21, 2021 at 13:51