I wrote the book on developer marketing. Literally. Picks and Shovels hit #1 on Amazon.

Get your copy
Legal and compliance

Apache License

uh-PATCH-ee LY-sens

A permissive open source license that includes an explicit patent grant and requires attribution for modifications.

The Apache License 2.0 is a permissive open source license maintained by the Apache Software Foundation. Like MIT, it allows commercial use, modification, and distribution. Unlike MIT, it includes an explicit patent grant.

The patent clause is the key difference. When a contributor submits code under the Apache License, they automatically grant users a license to any patents that cover their contribution. If a contributor later sues a user for patent infringement related to that code, their patent license is terminated. This provides meaningful protection in industries where patent litigation is common.

Apache also requires that modified files carry a notice stating they were changed. Kubernetes, Android, Swift, and TensorFlow all use the Apache License. Companies that care about patent protection often prefer it over MIT. Contributor license agreements are common in Apache-licensed projects.

Examples

A company forks an Apache-licensed project.

They modify the source code and distribute their own version. They include the original NOTICE file and add a note in each modified file stating what changed. The patent grant carries forward.

A legal team compares open source licenses.

The team prefers Apache over MIT for their own projects because the patent grant protects their users from patent trolls who might claim the code infringes a patent.

A developer contributes to an Apache-licensed project.

By submitting a pull request, the developer implicitly grants a patent license for any patents covering their contribution. This is baked into the license terms.

Frequently asked questions

Is the Apache License compatible with GPL?

Apache 2.0 is compatible with GPL v3 but not GPL v2. Code licensed under Apache 2.0 can be included in GPLv3 projects, but not the other way around.

Does the Apache License require releasing source code?

No. Like MIT, Apache is permissive. You can use Apache-licensed code in proprietary products without releasing your source code. You must include the license and NOTICE files.

Related terms

Picks and Shovels: Marketing to Developers During the AI Gold Rush

Want the complete playbook?

Picks and Shovels is the definitive guide to developer marketing. Amazon #1 bestseller with practical strategies from 30 years of marketing to developers.