编者注:这是一篇难得的科普及技术分析,从五方面详细地阐述了近日甚嚣尘上的“自主”手机操作系统:为何政府企业都说要“自主”操作系统、考核政策的不足、如何判定一个操作系统是否“自主”(阿里云算不算)、如何开发及相关建议等,长达万字堪称论文,可用如上索引像查工具书一样查看所需。
——政府需要在更长的周期内,考核受资助企业的市场份额是否有扩大,是否建立了良好的生态系统,让使用者、开发者欲罢不能,而不是简单的著作权证书和专利数量,或者是否达到了一个给定的出货量(因为出货量是可以作假的)。
——马云同志啊,光有钱是不行的,你身边还得有个把技术大牛帮你把关、出谋划策才行啊。
——这事儿如果恰好让你负责,那简直是,怎么说呢,是个“扬名立万”的机会啊!可你要知道的是,这事儿和制造“两弹一星”差不多。
魏永明(飞漫软件CEO)
近一个月可谓多事之秋,IT和互联网领域也不平静:阿里云操作系统受到谷歌打压,华为任正非提出要开发自己的操作系统,中兴也宣布今年第四季度将发布操作系统。一时间,微博上有关自主知识产权操作系统的讨论甚嚣尘上。这样的讨论就像水木清华某些版面上的“月经贴”一样,隔段时间就要火一次。但大部分讨论如同盲人摸象,大家基本上只是站在自己的立场,基于个人经验判断孰是孰非。
这篇科普性的文章,将从政治、技术、工程、法律等几个方面说明“自主”操作系统,并尝试给出一些技术、工程等方面的建议。
本文所指“操作系统”,以及大家近期讨论的操作系统,其实基本上仅限于移动终端领域,就是指能和Android、iOS、Windows Phone等相提并论的操作系统,主要用于智能手机、平板电脑,而不是实时操作系统、操作系统内核或者服务器操作系统——准确讲,应该是指一个针对智能手机和/或平板电脑的软件平台以及对应的生态系统。不过,我们当前还是把它称为“操作系统(OS)”吧。
一、为什么政府和企业都说要“自主”操作系统?
对到底要不要“自主”操作系统的问题,不同的人有不同看法。码农,尤其是喜欢Google的码农,通常会说,Android是完全开源的,没有必要重复发明轮子;企业决策者或者政策制定者,则往往认为必须有自主的操作系统。
在谈“自主”操作系统的必要性之前,笔者先谈谈“自主”操作系统的不必要性:
在开源软件大行其道的今天,操作系统不再那么神秘,任何有足够财力的企业,依赖现有的开源软件,都可以比较容易地推出一个能够运行的操作系统。出于此观点,很多人认为有Android这样的开源操作系统,就没有必要再开发一个自己的操作系统了,到底谁拥有开源操作系统的知识产权,是无所谓的事情。
这个说法是有一定道理的。
从法律(指开源软件许可证)和技术上讲,就算谷歌不打算开源新的Android版本,不允许某些厂商使用Android,我们一样可以在已经开源的Android之上继续发展自己的Android系统——只要遵循已经开源的Android的许可证约束即可,而Android系统主要使用的开源软件许可证有GPL(Linux内核)、LGPL(各种运行时函数库)、Apache(Dalvik虚拟机及Java类库),其实是非常宽松的。
这个说法的不足之处在于,未考虑到可能的专利(软件相关的专利通常和实现无关,就是说,你重写一段代码,并不表示你可以规避对应的专利),以及是否有能力自行发展Android的问题。
前者非常要害。谷歌在开发Android,尤其是Dalvik虚拟机以及Java类库的过程中,肯定积累了大量专利,而这些专利是凌驾于软件的著作权和许可证之上的。也就是说,如果你基于现有的Android派生了一个分支,想要将这个Android派生版本运行在自己的手机里并销售,谷歌马上可以拿出专利大棒来限制你。当前,谷歌尚未拿出专利大棒来限制各种派生系统。在阿里云OS和谷歌最近的争论中,谷歌也只是说阿里云OS导致Android不兼容。但一旦有厂商真的使用了阿里云OS,谷歌马上就会拿出专利大棒,这将毫无疑问。
至于有没有能力来自行发展Android的问题,在中国有大量码农基数的基础上,只要有源代码,就可以在短时间内组织团队自行发展Android。
然后,是“自主”操作系统的必要性:
强调需要“自主”操作系统的主要有两类人:政府中的政策制定者以及大型企业的决策者。
对政策制定者来讲,面对未来由中美两国主导的国际环境,作为两极世界中的中国,有没有自主的芯片、操作系统,关系到两个层面:一个是国家安全,一个是面子。在这样的认识下,“核高基”的出现自然而然,其目的是支持国内企业发展核心电子器件、高端通用芯片及基础软件产品。我们暂且不谈核高基项目在实施过程中存在的制度性问题,它表明的国家是在战略上的一种布局,是一种国家意志,涉及到政治领域。
作为企业决策者,没有自主的操作系统,他将在很多方面受制于人。就拿阿里云和谷歌的争议事件来看,宏碁受到了来自谷歌的压力,然后就乖乖投降了。这里边有两个值得思考的地方:(1)既然Android这么好,为什么宏碁还要和阿里OS合作?后者肯定没有Android成熟啊。(2)为什么谷歌一施压,宏碁就放弃了和阿里OS的合作呢?显然,宏碁有动机选择另一个OS给自己的智能手机,可能的原因无外乎两种:阿里给钱了或者宏碁不希望被谷歌控制;另外,宏碁又那么容易地被谷歌搞定,说明谷歌能带给宏碁的利益远远大于阿里。
另外联想到微软向Android厂商收取专利许可费的事情,像宏碁这样的厂商,肯定也会被微软勒索,也包括中兴、华为等国际化的Android手机厂商,无一例外。对企业决策者来讲,这很难受——给别人做嫁衣啊,有时候还两头受气!所以,小的厂商需要投靠大树来庇护自己(大多数乖乖就范于谷歌或微软),大的厂商就要考虑是不是开发一个“自主”的操作系统来抗衡了。
这样的思路下,华为、中兴等大的智能手机厂商,开发“自主”操作系统的动机非常强。
像阿里这样的公司,开发OS的目的是要复制谷歌的商业模式,加上阿里OS又没有撇清和Android的关系,受谷歌的打压就在情理之中了。