Apache License 2.0(简称 Apache 2.0)是由 Apache 软件基金会(ASF)发布的一种宽松式(Permissive)开源软件许可协议。
它是目前全球最受欢迎、被企业级项目采用最广泛的开源协议之一。简单来说,它允许你自由地使用、修改和分发代码(甚至用于商业闭源软件),但要求你必须保留原作者的版权和许可声明,并明确授予专利使用权。

核心权利与义务速览
表格
| 维度 | 说明 |
|---|---|
| 商业使用 | ✅ 允许。你可以将代码用于商业产品,甚至销售盈利。 |
| 闭源使用 | ✅ 允许。修改后的代码不需要开源,可以作为专有软件发布。 |
| 专利授权 | ✅ 明确包含。这是它比 MIT 协议更安全的地方,贡献者自动授予专利使用权。 |
| 署名要求 | ⚠️ 必须保留。分发时需保留原始版权、专利、商标声明及 LICENSE 文件。 |
| 变更说明 | ⚠️ 需要标注。如果你修改了文件,需要在修改过的文件中添加说明。 |
可以做什么?
Apache 2.0 给予了使用者极大的自由,你可以把它想象成一份“爱心菜谱”,原作者希望你用好它,但不限制你用它开餐厅赚钱:
- 自由使用与分发:你可以免费复制、分发软件的源代码或二进制形式(编译后的程序)。
- 商业盈利:你可以将该软件集成到你的商业产品中出售,或者作为付费服务的一部分,无需向原作者支付版税。
- 修改与闭源:你可以随意修改代码。最关键的是,修改后的衍生作品不需要开源。你可以基于 Apache 2.0 的代码开发闭源的商业软件。
- 专利保护:协议包含明确的专利授权条款。这意味着贡献者同意你使用他们包含在代码中的专利技术,这为企业用户消除了“专利地雷”。
必须做什么?
虽然协议很宽松,但你必须遵守“游戏规则”,主要是为了尊重原作者:
- 保留声明:在你分发的任何副本(源码或二进制)中,必须保留原始的版权声明、专利声明和归属声明。
- 附带许可:必须向接收者提供Apache 2.0许可证的副本。
- 声明修改:如果你修改了某些文件,必须在这些文件中添加显著的说明,指出你更改了该文件。
- NOTICE 文件:如果原项目包含一个
NOTICE文本文件,你在分发衍生作品时,必须包含该文件中可读的归属声明(通常是在你的软件关于页面或文档中展示)。 - 商标限制:未经明确授权,不得使用原作者或项目的商标、产品名称进行广告宣传。例如,你不能说你的产品是“由 Apache Kafka 官方出品”。
Apache 2.0与MIT协议的区别
很多人会在两者之间纠结,它们的区别主要在于严谨性和专利保护:
- MIT 协议:极简主义。条款非常短,几乎没有任何限制,只要求保留版权信息。但它没有明确提及专利授权,这在法律上留有一点点模糊空间。
- Apache 2.0:严谨派。条款更长,明确规定了专利授权和商标使用限制。对于大公司或涉及核心专利的项目,Apache 2.0被认为更安全,因为它明确防止了贡献者日后利用专利起诉使用者。
哪些知名项目在使用?
由于其商业友好性和法律确定性,许多顶级开源项目都选择了Apache 2.0:
- 人工智能:阿里巴巴的Qwen(通义千问) 系列模型、智谱AI的GLM-TTS、Mistral AI的部分模型。
- 基础设施:Kubernetes、Hadoop、Android操作系统、Spring Framework。
建议:如果你是开发者,想要你的代码被广泛使用(包括被大公司商业项目使用),同时希望规避专利风险,Apache 2.0 是最佳选择。如果你是使用者,看到Apache 2.0的代码,你可以放心地用于商业项目,只要记得在“关于”页面里给原作者留个位置致谢即可。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



