Question

I have a basic gap in my knowledge when it comes to open source licensing.

I realize that the answers to this question aren't legally binding :).

With that being said, let's say I am writing a custom application for a client. It will run on their infrastructure.

Assume that:

  • I add a library to the project via NuGet.
  • That library is using the Apache 2.0 license.
  • I am not modifying the library at all - I am using it as is.

Do I need to provide a copy of the license in the source code?

Do I need to provide a copy of the license with the application binaries?

Was it helpful?

Solution

The Apache 2.0 license lists under section 4. Redistribution:

You may reproduce and distribute copies of the Work or Derivative Works […] in Source or Object form, provided that You meet the following conditions:

1. You must give any other recipients of the Work or Derivative Works a copy of this License

[…]

3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work […]

4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file […]

So yes, you must provide a copy of the license with the source code and with compiled binaries. You also mustn't delete existing attribution notices from the source code. Also, you must forward a NOTICE file if it exists. If you fulfil these conditions, you can copy the library and distribute it to your client.

The patent stuff in the license is irrelevant for you if you don't own any patents regarding this software, but is important so that you and your client can use this software without inadvertently infringing on any author's patents. Event though, you do have to copy the license!

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