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
A permissive open source license that allows anyone to use, modify, and distribute the software with minimal restrictions.
A copyleft open source license that requires derivative works to also be distributed under the GPL.
A legal agreement that contributors sign before submitting code to a project, granting the project certain rights over their contributions.
The practice of tracking and fulfilling the legal obligations of all open source software used in a product.

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.