文章目录
- 什么是开源许可证(License)?
- 开源许可证有什么用?
- 开源许可证分类
- 开源许可证分类及描述
- 公共代码 (Public Domain)
- CC0
- 无License
- 宽松型许可证 (Permissive)
- MIT
- Apache 2.0
- BSD
- 弱互惠型许可证 (Weak Copyleft)
- LGPL
- MPL
- EPL
- 互惠型许可证 (Reciprocal)
- GPL
- EUPL
- 强互惠许可证 (Strong Copyleft)
- AGPL
- SSPL
- 为项目选择一个许可证
- Just Do It
- 下载License模版
- 修改版权内容
- 上传更新
- 开源合规-企业开源许可证合规治理
- 使用开源软件开发闭源产品
- 分发开源软件或包含开源组件的产品
- 修改开源软件并再发布
- 将开源软件作为服务提供(SaaS)
- 组合使用不同许可证的开源软件
- 使用开源软件中的专利
- 开源软件的合规性管理
- 总结
什么是开源许可证(License)?
逛Github时经常看到项目README旁边,有个License tab,不知道大家是不是跟我一样,撇了一眼就过去了,不太清楚这个license具体作用,有点法律意识的朋友可能会意识到这个可能是版权声明,不过难免还是会有其他疑问:既然都开源了,怎么还有各种条件限制?除了GPL还有Apache、MIT等,这些"License"又有哪些区别呢?
很多朋友可能像之前的我一样,二开项目或者使用第三方组件时直接拿来就用了,没有考虑过其背后的"风险"……
开源许可证有什么用?
写在前面的一句话:开源 != 免费
首先来看一下关于开源和免费的定义:
开源:
1、一个源码开放的项目(个人或团队开发)
2、一个友好交流的社区(除了源码的开放,还有社区的开放,人人都可以提issue、pr等)
3、一个产品(好的项目同时也是一个好的产品,例如Linux的产品化,可以说,如果没有 Linux 的产品化,也不会有 Linux 开源的枝繁叶茂)
免费:
1、无任何使用费用
2、闭源或开源:免费软件可以是闭源的,也可以是开源的
互联网的发展离不开开源社区的建设,很多时候,开源发布的产品难以满足用户的需求。所以,在不违反相关开源许可证 (License) 的条件下,有些公司对其加以定制,就变身为自己的产品或解决方案。
很多开发同学都不清楚开源许可证的"存在",更别提Boss有这方面的意识了
开源许可证是指用于授权他人使用、修改和分发软件的一种法律文件。它规定了软件的使用权利和义务,确保开发者和用户了解如何合法地使用软件。
这里可以将开源许可证作用总结为:
- 定义使用权限:明确规定用户在使用、修改和分发软件时的权利和限制,确保软件的使用符合开发者的意图。
- 保护开发者权益:通过许可证条款,保护开发者的知识产权,确保他们的贡献得到适当的认可,并明确他们在法律上的责任和义务。
- 著作权声明:保留原始版权声明和许可证文本,确保开发者的著作权得到尊重,同时为用户提供使用软件的法律依据。
开源许可证分类
下面对一些常见许可证进行整理分析
分类 | 示例许可证 | 描述 |
---|---|---|
公共代码 (Public Domain) | CC0、无License | 理论上无限制,任何人都可以自由使用、修改和分发 |
宽松型许可证 (Permissive) | MIT、Apache 2.0、BSD | 不对使用情景做限制,允许闭源使用和分发,只需保留版权 |