虽然GITHUB上超过85%的开源软件并未声明开源许可协议,但是开源许可协议确实是保障大型开源软件项目发展的一个重要的保障。最近这十年是开源软件发展十分迅速的十年。在开源许可协议上,也衍生出了两大派别,copyleft和 Permissive。这两类许可证协议都属于开源软件许可,都允许软件被自由的拷贝和使用,但是在许可授权方面存在一定的差异,其主要的区别在于使用开源代码的人对代码的处置权限的不同。在copyleft类协议的许可下,使用者必须沿用原有协议去使用该开源代码,比如GPL要求代码的使用者必须继续开源对该开源软件的修改。GPL(V2,V3),LGPL,AGPL等协议都属copyleft类的开源协议。而Permissive类的开源协议对使用者的限制则少得多,使用者可以任意修改与使用代码,并用于包括商业用途在内的大多数领域。
昨天老白看到了一篇whitesource网站上的关于开源软件在开源协议方面2020年的情况分析的文章。列出了2020年TOP 10开源软件协议在开源协议中的占比情况。

whitesource发布的开源协议2020年数据该数据是基于whitesource数据库中超过4百万个开源软件包,超过130万个开源软件文件的统计得出的。从上面的数据可以看出,apache 2.0和MIT这两个Permissive开源许可排TOP 2的位置,总的占比超过50%。这在十年前是不可思议的,2012年的时候,GPL家族的开源许可协议还占据着主导的位置。
现在开源社区存在的这两种阵营中,Copyleft支持者关注确保他们的工作对每个人都可用,并且希望开源代码的受益者如果想获得商业利益,那么他们必须同时对这个开源软件做出贡献,也就是开源自己的修改。他们认为唯有如此才能确保开源项目以健康的模式发展下去。基于此,Copyleft阵营的GPL许可协议族目前仍然在开源社区广受欢迎。但是,宽松许可的拥护者的立场类似于社会自由主义者的立场。对他们来说,许可限制意味着GPL根本不是免费的许可。虽然“ copyleft”这个名称是为了暗示传统版权的一种替代。宽松许可的支持者认为,copyleft许可只是用另一组限制代替了另一组限制,即使copyleft限制比Copyright版权限制要温和得多。Copyleft支持者关心的是保留对其创建内容的某些控制,并让软件在这种控制下继续开源下去,而宽容的支持者只是想看到他们的软件尽可能广泛地使用。从这些年copyleft开源许可和Permissive开源许可的发展中,我们可以看到这样两条曲线:

开源协议的占比在2012年,Copyleft还占据近6成比例,到了2020年,Permissive的占比达到了76%。从这张图上可以看出,Permissive许可逐渐流行。其中Apache 2.0许可协议的增长尤为令人关注。连k8s等近年来大热的开源项目都选择了apache 2.0许可协议。从这些年开源协议的趋势上看,越来越多的开源代码贡献者希望选择更利于开源软件推广的宽松许可。一些大企业对Permissive许可阵营的强力支持也是Permissive占比逐年增加的主要因素之一。很多开源社区的人都担心Permissive开源许可会让开源软件变成大厂的提款机,从而丧失持续发展的动力,实际上好像这种情况并未发生。实际上Permissive阵营的壮大给我们的国产软件厂商带来了巨大的商机,基于宽松开源许可的软件,发展我们自身的软件产业实际上并不丢人。基于开源社区的力量发展软件产业也是一种新型的软件生态,Redhat就给我们做出了十分好的榜样。一方面我们要从开源社区吸取营养,真正投入资金,以时间沉淀为代价来发展我们的自主软件产业,另外一方面我们也应该加大对开源社区的贡献投入,用我们的资金来支持开源社区的发展。在postgresql开源社区,日本的企业的巨大成功已经给我们做出了十分好的示例。