Kubernetes, OpenStack 等被闭源?我礼貌性地慌一下
最近一段时间,有一种观点在流传,一些知名的开源软件有可能被闭源。起因是美国制裁某通讯厂商,制裁内容包括芯片和安卓系统。因为安卓系统是开源的,引起了一种论调,“开源的OpenStack、Kubernetes、Hadoop等软件是美国人发起的,美国政府只要愿意,随时也可以闭源!”
笔者认为这种观点是不正确的,相反,只有积极拥抱开源,才有话语权,才能有利于正真的实现自主可控!
这个问题需要分为几个层面来看:
1.被制裁的是安卓系统,不是安卓源代码
Android最初由安迪·鲁宾等人开发制作,于2005年7月11日被谷歌收购。随后,谷歌以Apache免费开放源代码许可证的授权方式,发布了安卓的源代码。
安卓系统实际分为三个部分:
-
内核,实际是Linux内核上裁剪和开发,因为Linux内核使用的是GPL开源协议,GPL是具有传染性的开源协议,即对Linux内核的任何修改,也必须开源,这也是为什么Linux发行版都要开源的原因。
-
安卓系统,谷歌以Apache许可证的方式发布了安卓源代码。
-
谷歌的安卓应用,比如谷歌Play商店、Gmail、地图等,这部分是闭源的。
谷歌发行的原生版本包含以上三个部分,被制裁的实际是谷歌的安卓框架和应用,如果把安卓的内核和系统源代码拿来,去掉谷歌框架和谷歌的软件,理论上是可以使用的。
亚马逊的Kindle系统就是一个很好的例子,Kindle系统就是亚马逊深度定制的安卓系统,完全不依赖谷歌的安卓发行版。
另外,插一句,关于各种开源协议,阮一峰的博客上有一副图,非常形象,可以参考下:
2.开源是大势所趋
使用开源软件是大势所趋,根据中国信通院《开源治理白皮书》中的数据:
-
开源软件市场应用广泛。据 Gartner 调查显示, 99%的组织在其 IT系统中使用了开源软件,同时开源软件在服务器操作系统、云计算领域、 Web 领域都有比较广泛的应用。
-
开源软件市场规模稳居服务器操作系统首位。 全球公有云上运行的负载有 90% 是 Linux 操作系统。
-
开源软件在云计算领域使用广泛。 2017《OpenStack User Survey》显示: 2017 年, OpenStack 全球部署将近 1000 次。
-
2013 年 Docker 发布之后, 技术日渐崛起。截至 2014 年底,容器镜像下载量高达 1 亿;到 2017 年初,这一数量超过 80 亿。
-
开源软件在 Web 领域占据主要市场份额。 根据 Netcraft《WebServer Survey》显示, 调查发现, Nginx 市场份额增加到 21.4%,较上一年增长 3.84%, 成为了面向 Web 的计算机市场上第三大服务器厂商。
开源软件在安全、敏捷、人才方面有巨大的优势,就连以前对开源嗤之以鼻的微软也一百八十度的大转弯,积极拥抱开源。
3.OpenStack、kubernetes 、Hadoop的运作模式是基金会模式,美国政府也难以干涉
主流的开源软件项目使用的都是基金会模式,OpenStack有自己的基金会,kubernetes属于CNCF基金会,Hadoop属于Apache基金会,Apache基金会托管了许多知名的开源项目。最知名的开源基金会应该是Linux基金会。这些开源基金会都采用相似的运作模式,以Linux基金会为例。
以下数据引用自维基百科。
Linux 基金会(英语:Linux Foundation,简称 LF),是一家非营利性技术贸易协会,致力于促进,保护和推进Linux和协同开发。它开始于2000年的开源码发展实验室(OSDL),并与自由标准组织(FSG)合并后从而成为现在的组织。Linux基金会赞助Linux创始人Linus Torvalds和主管维护者Greg Kroah-Hartman的工作,并由领导Linux和开源公司的支持,以及来自全世界的开发商 。
截至2017年1月,Linux基金会共有超过260多名企业会员:
-
白金会员(12名)每个会员每年捐出50万美元,其中包括 (按字母顺序排列):AT&T[12], 思科系统, 富士通, 日立, 华为, IBM, 英特尔, 微软, 日本电气, 甲骨文公司, 高通, 三星电子
-
黄金会员(19名)每个会员每年捐出10万美元
-
白银会员(244名)每个会员每年捐赠5,000-20,000美元(按雇员数量增加)
基金会董事会成员由公司会员选举(付费高的会员选举更多董事)。开源基金会的运行类似联合国,任何的决议都需要董事会投票,是博弈的结果,基金会的运行只要不违法,美国政府也不能干预。
从上面的数据可以看出,开源社区是全球开发者民间自发创新行为,开源项目(如Linux项目)和基于开源的商业化产品(如红帽的企业版RHEL产品)是两回事,前者不受商业争端和政治行为的影响,所以不存在所谓“闭源”的风险,即使把开源项目产品化,也必须遵守相关的开源协议(红帽的RHEL也是开源的),把中美商业争端和开源闭源放在一起,是一种误导,是对开源协议和开源组织的运作方式不了解。
在法律层面,已经销售License和服务的商业化软件产品的用户使用权是受到法律保护的。知识产权也是受到法律保护的。
4.要增加在开源组织中的话语权,解决方法就是积极参加
要增加在开源组织中的话语权,解决方法就是积极参加,国内这方面做得比较好的就是华为,笔者查了下相关的资料,华为是多个开源基金会的高级会员。
高级会员有能力更进一步的参与开源基金会决策,比如美国时间4月17日,全球顶级开源社区Cloud Native Computing Foundation(云原生计算基金会,以下简称CNCF)正式宣布了基金会的技术监督委员会(Technical Oversight Committee,下称TOC)席位改选结果, 华为和Google进入TOC。这是华为首次,也是亚洲首家公司获得CNCF TOC成员席位。
TOC决定CNCF社区的技术走向,CNCF基金会层面由TOC定义和维护云原生领域技术愿景,对CNCF下所有的项目进行生命周期管理,如项目的创立、毕业、合作、终止等、接受用户委员会的需求与建议,并交由旗下各个项目组来承载和实现,基于代码标准化通用的接口和实践。这样,CNCF TOC在基金会层面从整体技术堆栈角度,自上而下的给予每个项目大颗粒的技术指导,每个项目再根据自己的实际情况做自下而上的技术决策。
另外,在开源项目的代码贡献上,华为也是国内无可争议的第一,根据《2017Linux开发者报告》,华为的代码贡献排名第15名,是前20名中唯一进入的中国公司。
另外,华为还参与了许多开源组织,还是一些开源组织的创始会员,贡献了很多代码。
华为对海思芯片的投入,充分证明了华为的远见卓识。华为对开源项目不计成本的投入,也不断的看到效果,华为在参与的开源组织中有很强的话语权。
5.使用开源软件做自己商业发行版是很好的模式
很多公司,针对基于开源项目,做了自己的商业化产品,是在开源的基础上,基于工程化要求和运营的要求做了改进和产品化。最知名的就是红帽,通过发行Linux的商业产品,一方面服务了用户需求,一方面反过来成为重量的Linux代码贡献者,可以说Linux项目离开红帽将逊色不少。
那么华为为什么要在开源项目上如此投入,笔者认为答案就是华为云。互联网业务的云基础设施1.0以计算、存储、网络等资源型服务为主,在新型互联网业务的推动下,目前互联网业务云基础设施进入2.0时代,云计算服务商开始广泛提供容器、AI、大数据、DevOps等能力型服务,从资源服务向能力服务转型。
在互联网云基础设施2.0时代,云服务多建立在多个开源项目上,尤其是容器,容器是提升企业高效迁移部署、快速迭代开发的和应用上云后自动化运维最佳选择,目前业界都认可的容器项目就是Kubernetes,而华为则在Kubernetes创新方面走在了其他厂商的前面。实际上,华为与Kubernetes的渊源颇深,早在Kubernetes刚开源的时候,华为就以社区创始成员及白金会员的身份加入其中。目前,华为拥有1个SteeringCommittee席位和5个Maintainer席位。所以,在互联网云基础设施2.0时代,企业和政府向云转型的时候,华为云有非常强大的优势。
大中型企业客户面临数字化转型诉求。华为在过去三十年一直是服务全球的企业,华为云提供一个包含公有云在内的混合云的解决方案可能是今天企业最好的选择。同时华为云有全球非常强大的线上和线下服务团队,所以在互联网云基础设施2.0的时代,企业和政府向云转型的时候,华为云有非常强大的优势。
可见在开源的投入上,华为再次体现了远见和大局观,通过在开源项目上的投入和布局,华为将在基础设施软件上构筑优势,注入自己的思路,从而更好的为自己的云服务,将具有主动权,源于开源,高于开源。
总结