一切福田,不離方寸,從心而覓,感無不通。

Apache License 2.0 关键点总结

1. 授权范围

  • 免费、永久、全球性的授权。

  • 允许使用、修改、复制、分发源代码和二进制形式。

  • 可以用于商业、闭源软件,不强制开源。


2. 主要条件

  • 保留版权声明:必须在源码或分发包中保留原作者的版权、许可声明和 NOTICE 文件。

  • 修改说明:如果修改了源代码,需要明确说明已修改。

  • 专利授权:贡献者自动授予用户相关的专利使用权。

  • 无担保:软件“按现状”提供,不保证适用性或无缺陷。


3. 再分发要求

  • 如果分发源码 → 必须附带原始许可证、版权声明、NOTICE 文件。

  • 如果分发二进制包 → 也要提供许可证和版权声明,并在文档中包含 NOTICE 文件。


4. 与其他协议的关系

  • 兼容性好:可与 GPLv3 兼容(但不能和 GPLv2-only 兼容)。

  • 与 MIT、BSD 等宽松协议类似,但 Apache 2.0 额外强调 专利授权


5. 适用场景

  • 适合企业和个人开源项目,允许代码被商业化使用。

  • 常见于大型项目(如 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:最严格,衍生品必须继续开源,具有“传染性”。