现在的位置: 首页 > 自动控制 > 科技·视野 > 正文

移动互联网:漫谈智能机操作系统的自主性

2012-09-22 09:30 科技·视野 ⁄ 共 4078字 ⁄ 字号 评论 1 条

1 引言

    近一个月是个多事之秋(2012年9月),IT 和互联网领域也不平静。阿里云操作系统受到谷歌的打压,华为任正非提出要开发自己的操作系统,中兴也宣布今年第四季度将发布自己的操作系统。一时间,微博上有关自主知识产权操作系统的讨论如火如荼。这样的讨论,就如同“水木清华”某些板面上的“月经贴”一样,每隔一段时间就要火一次。但大部分讨论其实讨论不到点子上,就如同“瞎子摸象”一般,大家基本上只是站在自己的立场,基于自己的经验在判断孰是孰非。

》》》移动OS大战:阿里云OS触动了谷歌利益

    这样的讨论效率低下,本人认为有必要写一篇科普性的文章,从政治、技术、工程、法律等几个方面给“自主”操作系统来一个比较清晰的定义,并尝试给出一些技术、工程等方面的建议。

1.1 作者的资格

    为了说明本人有足够的资格来写这篇文章,给大家介绍一下本人的经历。

    本人码农出身,1993到1998年期间主要在微软平台上做程序开发,曾编写过 DOS、Win32、MFC 程序,期间涉及 C/C++ 语言,SQL 数据库、网站后台等。从 1998 年底开始专注于 Linux 和嵌入式系统。主要作品为大名鼎鼎的 MiniGUI。在创办飞漫软件的近十年时间里,作为企业创始人和研发负责人,组织研发团队持续开发 MiniGUI,开发了多个版本的嵌入式浏览器产品,也曾和美国公司合作,开发过类似 Android 这样的移动操作系统,还将 Android 运行在了 MeeGO 上(也就是国际上有点名气的 ACL,飞漫是主要开发者)。除了极其丰富的软件开发、管理经验之外,本人还编写过几本操作系统相关的书籍,不过比较老了,比较出名的是本人主持翻译的《Linux 设备驱动程序》第二版、第三版。有这些经历和相关经验做基础,我相信本文所述将是比较客观和完备的。希望本文对政策制定者、大型企业的决策者、自主操作系统的开发管理者,以及一般的码农们或多或少有一些帮助。

1.2 限制和定义

    操作系统的类型很多,粗粗算起来,从小到大,有针对嵌入式系统的实时操作系统,比如 VxWorks、Nucleus 等;有现在大家熟知的针对移动终端的 Android、iOS、Windows Phone 等;有 Windows、Ubuntu Linux 等针对 PC 的操作系统;还有针对服务器的操作系统,比如 Windows NT 等。

》》》三足鼎立的智能机操作系统

    从技术上讲,操作系统的概念可大可小。小的话,一个内核就可以称为一个操作系统,比如 Linux 内核、BSD 内核、Minix 内核等;大的话,则通常指的是整个软件平台,比如 Android、iOS、Windows Phone,有时还会将软件商店、开发社区等包含在内,从而外延到整个生态系统。

    本文所指“操作系统”,以及大家近期讨论的操作系统,其实基本上被限制在移动终端领域当中,就是指能够和 Android、iOS、Windows Phone 等相提并论的操作系统,主要用于智能手机、平板电脑,而不是实时操作系统、操作系统内核或者服务器操作系统——准确讲,应该是指一个针对智能手机和/或平板电脑的软件平台以及对应的生态系统。不过,我们当前还是把它称为“操作系统(OS)”吧。

2 到底要不要“自主”操作系统

    对此问题,不同的人有不同看法,但其实都很偏颇。码农,尤其是喜欢 Google 的码农,通常会说,Android 是完全开源的,没有必要重复造轮子;企业决策者或者政策制定者,则往往会认为必须有自主的操作系统。其实两者都有道理,但两者都没有看到事物的本质。

2.1 “自主”操作系统的不必要性

    在谈“自主”操作系统的必要性之前,笔者先谈谈“自主”操作系统的不必要性。

    在开源软件大行其道的今天,操作系统不再那么神秘,任何有足够财力的企业,依赖现有的开源软件,都可以比较容易地推出一个能够运行的操作系统。出于此观点,很多人认为有 Android 这样的开源操作系统,就没有必要再开发一个自己的操作系统了,到底谁拥有开源操作系统的知识产权,是无所谓的事情。

    这个说法是有一定道理的。

    从法律(指开源软件许可证)和技术上讲,就算 Google 不打算开源新的 Android 版本,不允许某些厂商使用 Android,我们一样可以在已经开源的 Android 之上继续发展自己的 Android 系统——只要遵循已经开源的 Android 的许可证约束即可,而 Android 系统主要使用的开源软件许可证有 GPL(Linux 内核)、LGPL(各种运行时函数库)、Apache(Dalvik 虚拟机及 Java 类库),其实是非常宽松的。

    这个说法的不足之处在于,未考虑到可能的专利(软件相关的专利通常和实现无关,就是说,你重写一段代码,并不表示你可以规避对应的专利),以及是否有能力自行发展 Android 的问题

    前者非常要害。谷歌在开发 Android,尤其是 Dalvik 虚拟机以及 Java 类库的过程中,肯定积累了大量专利,而这些专利是凌驾于软件的著作权和许可证之上的。也就是说,如果你基于现有的 Android 派生了一个分支,要想将运行有这个 Android 派生版本的软件放到自己的手机里边销售,谷歌马上可以拿出专利大棒来限制你。当前,谷歌尚未拿出专利大棒来限制各种派生于 Android 的系统。拿阿里云 OS 和谷歌最近的争论当中来看,谷歌也只是说阿里云 OS 导致 Android 不兼容。但一旦有厂商真的使用了阿里云 OS,谷歌马上就会拿出专利大棒,这将毫无疑问。

    至于有没有能力来自行发展 Android 的问题,在中国有大量码农基数的基础上,只要有源代码,就可以在短时间内组织团队自行发展 Android。

2.2 “自主”操作系统的必要性

    强调需要“自主”操作系统的主要有两类人:政府中的政策制定者以及大型企业的决策者。

    对政策制定者来讲,面向未来由中美两国主导的国际环境,作为两极世界中的中国,有没有自主的芯片、有没有自主的操作系统,关系到两个层面的东西,一个是国家安全,一个是面子。在这样的认识下,“核高基”的出现自然而然,其目的是支持国内企业发展核心电子器件、高端通用芯片及基础软件产品。我们暂且不谈核高基项目在实施过程中存在的制度性问题,它表明的国家是在战略上的一种布局,是一种国家意志,涉及到政治领域。

    作为企业决策者,没有自主的操作系统,他将在很多方面受制于人。就拿阿里云和谷歌的争议事件来看,宏碁受到了来自谷歌的压力,然后就乖乖投降了。这里边有两个值得思考的地方:(1) 既然 Android 这么好,为什么宏碁还要和阿里 OS 合作?后者肯定没有 Android 成熟啊。(2) 为什么谷歌一施压,宏碁就放弃了和阿里 OS 的合作呢?显然,宏碁有动机选择另一个 OS 给自己的智能手机,可能的原因无外乎两种:阿里给钱了或者宏碁不希望被谷歌控制;另外,宏碁又那么容易地被谷歌搞定,说明谷歌能带给宏碁的利益远远大于阿里。

    另外联想到微软向 Android 厂商收取专利许可费的事情,像宏碁这样的厂商,肯定也会被微软勒索,也包括中兴、华为等国际化的 Android 手机厂商,无一例外。对企业决策者来讲,这很难受——给别人做嫁衣啊,有时候还两头受气!所以,小的厂商需要投靠大树来庇护自己(大多数乖乖就范于谷歌或微软),大的厂商就要考虑是不是开发一个“自主”的操作系统来抗衡了。

    这样的思路下,华为、中兴等大的智能手机厂商,开发“自主”操作系统的动机非常强。像阿里这样的公司,开发OS,其目的是要复制 Google 的商业模式,加上阿里 OS 又没有撇清和 Android 的关系,受到 Google 的打压就在情理之中了。

2.3 “自主”应强调在“有效知识产权保护下的自己主导”

    根据上面的分析,看来我们还真的需要有“自主”的操作系统。但是,“自主”到底是自主什么呢?

    在功能手机和实时嵌入式系统领域,我们不是没有“自主”的操作系统,比如 MTK 或者展讯的操作系统,以及诸如早期的 Hopen、道系统等。在通用操作系统领域,国家也长期支持了诸如麒麟操作系统红旗 Linux中标 Linux新华 Linux 等多家本土操作系统厂商。但市场表明,国家支持的这些操作系统都将消亡或者正在消亡。

    本人认为,国家支持下进行“自主”操作系统的开发有合理之处,毕竟开发操作系统是一件比较困难的事情。但是,这里边有一个重要的误区和制度设计上的错误,就是只强调了“自有知识产权”,而没有强调“自己主导”

    在强调“自有知识产权”的情况下,政府对受资助企业的“自主”操作系统进行考核时,大部分情况下考核的是企业有没有获得对应的知识产权,就是软件的著作权和/或对应的专利,而并没有考核能否主导一个产业链。就如同 Google 那样可以控制这个产业链一样,受资助的企业,能不能做到让别人用了你的操作系统,就没法不继续用?在这样的思路下,政府需要在更长的周期内,考核受资助企业的市场份额是否有扩大,是否建立了良好的生态系统,让使用者、开发者欲罢不能,而不是简单的著作权证书和专利数量,或者是否达到了一个给定的出货量(因为出货量是可以作假的)。

   也就是说,我们应该重新定义“自主”这两个字,从“自有知识产权”向“有效知识产权保护下的自己主导”转移。

    为什么这里强调“有效知识产权”呢?这是因为,在开源软件成为趋势的情况下,构建一个自己的操作系统,可以使用很多已有的开源软件,我们没有必要所有代码都自己编写,而且越底层的代码就越没有必要自己重写一遍。这如同一只桃子,好吃的是果肉,而不是果核。像内核、基础库、常用运行时函数库等等,都不必自己重新开发。而且这么做几乎没有任何潜在的法律问题,当然,前提是你要告诉大家你用了哪些开源软件,而且你也尊重了这些开源软件的许可证。这样下来,一个操作系统的软件著作权已经不再重要,重要的是相关的专利、自己独有的创新以及围绕操作系统建立起来的生态系统

》》》移动互联网:自主操作系统的特征、开发与建议

作者:魏永明(飞漫软件CEO)

专题移动互联网

目前有 1 条留言    访客:0 条, 博主:0 条 ,引用: 1 条

    外部的引用: 1 条

    • 移动互联网:自主操作系统的特征、开发与建议 « 求索阁

    给我留言

    留言无头像?