免费、永久、全球性的授权。
允许使用、修改、复制、分发源代码和二进制形式。
可以用于商业、闭源软件,不强制开源。
保留版权声明:必须在源码或分发包中保留原作者的版权、许可声明和 NOTICE 文件。
修改说明:如果修改了源代码,需要明确说明已修改。
专利授权:贡献者自动授予用户相关的专利使用权。
无担保:软件“按现状”提供,不保证适用性或无缺陷。
如果分发源码 → 必须附带原始许可证、版权声明、NOTICE 文件。
如果分发二进制包 → 也要提供许可证和版权声明,并在文档中包含 NOTICE 文件。
兼容性好:可与 GPLv3 兼容(但不能和 GPLv2-only 兼容)。
与 MIT、BSD 等宽松协议类似,但 Apache 2.0 额外强调 专利授权。
适合企业和个人开源项目,允许代码被商业化使用。
常见于大型项目(如 Hadoop、Spark、Android 部分组件)。
✅ 一句话总结:
Apache License 2.0 是一种 宽松开源协议,允许商业使用和闭源分发,关键要求是 保留版权和声明,同时提供了 专利授权,比 MIT/BSD 更全面。
特点 | Apache 2.0 | MIT | GPL v3 |
---|---|---|---|
使用/修改/分发 | ✅ 允许 | ✅ 允许 | ✅ 允许 |
是否必须开源衍生作品 | ❌ 不要求 | ❌ 不要求 | ✅ 必须开源(传染性) |
是否可商用/闭源 | ✅ 可以 | ✅ 可以 | ❌ 不允许闭源 |
版权声明要求 | ✅ 必须保留 LICENSE 和 NOTICE | ✅ 必须保留版权声明 | ✅ 必须保留版权声明 |
修改说明要求 | ✅ 必须注明修改 | ⚪️ 不强制 | ✅ 必须注明修改 |
专利授权 | ✅ 有 | ❌ 无 | ✅ 有(但方式不同) |
责任担保 | ❌ 无担保 | ❌ 无担保 | ❌ 无担保 |
与其他协议兼容性 | 与 GPLv3 兼容 | 与 GPLv3 兼容 | 不兼容 Apache 2.0(除 GPLv3 情况外) |
代表性项目 | Hadoop、Spark、Android | jQuery、Rails | Linux、GCC |
✅ 简要总结:
Apache 2.0:宽松 + 专利授权 → 企业常用,兼顾开源与商业化。
MIT:最宽松,几乎只有“保留声明”这一个要求。
GPL v3:最严格,衍生品必须继续开源,具有“传染性”。