开源协议内容及对比:
可参见:各种开源协议介绍 | 菜鸟教程
这个网址对各类开源协议做了详细的介绍及对比,甚至有下面这样的图解分析。
如果有英语好的小伙伴也可以直接找开源协议的全文进行阅读,如:Apache License, Version 2.0
不同协议间最重要的区别——对衍生产品的要求
笔者个人认为的不同的开源协议间最重要的区别,是对衍生产品要求。如BSD、Apache License等许可 鼓励代码重用,允许基于该产品代码开发商业化衍生产品。
GPL的出发点是 代码的开源/免费使用和引用/修改,包括衍生代码的开源/免费使用,不允许修改后和衍生的代码做为闭源的商业软件发布和销售。Linux便是采用了GPL,这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。
怎么查看开源软件的开源协议
以百度的开源图数据库HugeGraph为例,直接在其github仓库的README.md,就可以明显的看到其使用的开源协议了。如下图: