纠正Linux认识误区

发表于:2010-9-27 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陆首群    来源:51Testing软件测试网采编

  国内有这样一种言论:Linux是免费的,搞国产Linux只是为了骗钱(从过去的政府采购到今天的核高基都是如此),要打假。这种言论有很大欺骗性,诱导不明真相的人们由此对Linux产生认识上的误区,对国内Linux的发展具有很大伤害,为此有必要进行科学分析,以正视听:

  一、Linux内核

  有人把“Linux内核(Kernel)”叫成“Linux”。其实Linux内核虽然是操作系统最重要的部分,但仅靠它用户还无法使用。

  一个完整的Linux操作系统是多层结构,分为底层、中间层和上层三个层次。底层主要是Linux内核,中间层包含各种功能服务模块,上层为用户体验层,由用户界面和各种应用程序组成。

  不同的多层Linux操作系统(包括一些“基于Linux”的操作系统在内),均选择不同版本的Linux内核作其底层。

  Linux(内核)是采用GPL协议的自由/开源软件,其各种版本源代码均可免费下载。不能说因为Linux(内核)是完全开放和免费的,可以推而广之,说Linux(即Linux多层结构的一般形态)也是完全开放免费的。

  二、Linux社区版

  一般Linux的发行版可分为社区版和商业版。

  社区版Linux是由采用分布式开发机制的社区开发的。社区在选择某个版本的“Linux内核”的基础上,集成、开发中间层和一些应用程序(一般的社区开发没有路线图,不会充分考虑用户需求,因此社区版不会具有深入开发的用户体验层)。

  社区版Linux,其底层内核当然采用GPL协议,中间层有的采用LGPL协议(如Ubuntu、MeeGO等),有的采用其他开源协议(如Android中间层采用Apache协议)。

  社区版Linux均是完全开放并可免费下载的,一般来说,社区版Linux在产品化上还未臻成熟。

  三、Android的挑战

  Google的Android是基于Linux内核的。Google在开发Android过程中,据称为了更好地实现用户需求,开发了很多独立的增强功能模块(在标准、功能和放置问题上,Google与Linux社区产生了摩擦),而且将驱动程序单独地分离出来(Linux社区一般将驱动程序放置在内核中,Google认为,从维护成本和维护工作量上考虑,宜将这些模块放置在内核官方主干之外),从而产生了与Linux内核的融合与兼容问题。这时Linux内核驱动维护者Greg Kroah-Har tman认为,Google开发了不少怪异的驱动程序,其在自己分支上的很多代码与Linux官方主干上的内核代码不兼容,因此在今年年初恰逢“Linux内核”最新版本Linux2.6.33发布之际,将所有Android代码从Linux内核中删除了,以致有人惊呼Android已被Linux所抛弃或逐出。Linux基金会执行主席Jim Zemlin于今年6月31日在北京的开源峰会圆桌会议上回答质询时说,当时Google确实承受着巨大的压力,但Linux社区和Google关于Android代码融合到Linux内核中去的问题已获得很大进展。今年4月,Greg Kroah-Hartman又在Linux内核中恢复了Android代码。

  四、Linux商业版

  Linux要作为一款成熟的产品出售时,尚需在Linux社区版的基础上进一步做好产品化开发工作,做好测试、定制、认证、配置、优化、整合等工作;做好用户体验(UE,包括用户界面UI设计和各种应用程序开发)工作;做好专用软件模块(如安全模块等)的设计工作;做好本地应用软件的开发或引入,以及相关应用软件的内置工作。

  将Linux社区版通过这样产品化过程的二次开发(创新活动),才能形成商业版,在产品化过程中开发了新的价值。正如一位Linux社区的核心人员所说,只有注入新价值,Linux商业版才可成为付费的Linux。

  当然也可引用一位Ubuntu/Canonical工程师的话这样说:“我们的产品对用户是免费的,但对用户的支持和服务是要收费的”。他说的支持和服务包括如上所述在实现产品化过程中所做的事;也包括今后在产品运行的生命周期内向用户提供的支持和服务。

  其实Linux目前已经找到了更好的商业模式,即Linux(商业版)可以与服务、硬件、内容、运营、广告等捆绑在一起,这时Linux(商业版)对用户是免费的,但可从捆绑伙伴的收费中提成。

  五、U盘Linux

  把Linux社区版(本来在网上是可以免费下载的)放在U盘上使用,这种事谁都可以做,用户自己也可以做,但并不能创造新的价值。所谓“国内Linux发展要依靠U盘”的这种说法更是荒唐。所谓U盘Linux使用的Mint桌面,原来是基于Ubuntu(桌面版)的,最近才改为与Debian100%兼容的桌面发行版(与Ubuntu反而不兼容),反映了开发资源调度上的困惑。当然Mint有很多创新特点,但其应用主要还局限于发烧友的圈子,而要成为Linux桌面市场的主流产品尚不成气候。

  六、国内Linux发行版

  国内早期的Linux版,在产品化(二次开发)方面是欠缺的,虽然也通过一些测试考核(当然测试是Linux开发的主要手段),做了一些BugFix,Patch工作,但总的来说,注入的创新价值很少,早期Linux在使用中卸载率也很高。针对早期Linux处在萌芽、幼稚的发展阶段,当时政府在采购中确实采取了一些扶持政策。这时我尚未介入,今天看来也没有什么不当之处。奇怪的是,当年参与其中的某些人今天却要来打昨天的“假”,不知他们自己是否会脸红?

  随后,国内Linux发行商(企业)在Linux产品化过程中把重点放在加强用户体验上(如共创开源开发农村电子政务,作了大量测试改进,并在平谷试点运行,中科红旗开发邮政业务,作了大量的测试改进,并在邮政部门从试点到广泛运行,中标软件开发金融中低端业务,作了大量测试改进,并在建设银行试点运行),在用户体验框架内,他们还设计、改进了新的用户界面,开发适用的应用软件,引进本地应用软件,自行设计专用软件模块等;一些Linux发行商加强了产品质量认证,有的企业还争取到并进行了国际认证;这些企业在产品化二次开发过程中,在为用户做好定制、配置、优化、整合以及挑错、改错的工作中,逐步提升了Linux(商业版)的创新价值。可某些人却对本国企业的这些艰苦努力视而不见或亟力将其贬低,难道这些事实都是假的吗?

  目前,中国的这些Linux企业还以集体志愿者的名义参加了MeeGO、Android等Linux(或基于Linux)社区的开发工作。中科红旗鼓励工程师积极参与KDE社区的研发工作,现有5名工程师拿到社区官方仓库写入权帐号,成为其正式成员。

  需要指出的是,即使是同一Linux版本(如MeeGO),其不同发行版操作系统之间也是存在竞争关系的:在底层,如果大家都选择同一版本的Linux内核,不存在竞争;在中间层,如果大家从相同的软件模块库中为用户定制、优选、配置、整合,其结果也会不同,此时竞争优劣主要取决于各自的开发、测试情况,以及各家企业专业人员的技能和经验;在上层,如Jim Zemlin所说,竞争的优劣主要取决于市场。

  在Linux产品化二次开发中,国内企业注入了大量自主创新的成果和价值。国内的Linux版本在技术上正在走向成熟,在市场上正在创造条件与国外版本一样,努力跻身于全球主流产品的行列。

  上月,我曾应邀为大连高新技术产业园区题词如下:

  自主决定命运,

  创新成就未来,

  软件体现价值,

  开源提供机遇。

  我愿与大家共享。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号