不久前微软在德国的一家刊物上刊登了一则广告,令人深思。广告图片是这样的:四只企鹅站成一排,第一只跟人们通常在画上见到的企鹅没什么两样;第二只企鹅长了一双长长的野兔耳朵;第三只长着青蛙的脑袋,脑门上还有两只鹿角;第四只更可笑,有一双猪耳朵和硕大无比的象鼻子。底下有一行文字:“一个没有任何用处的开放操作系统。”熟悉Linux的人一眼就能看出来,这个广告所影射的是正在蓬勃发展,对微软的Windows操作系统霸主地位形成挑战的“小企鹅”——Linux。
不管出于何种用心,微软的广告的确道出了一定的事实,它指出了Linux面临的严重问题:虽然Linux操作系统拥有统一的名称,然而现在市面上却存在着各种各样纷繁复杂的不同软件版本,这将为用户的使用带来相当的麻烦。如果存在一个统一的标准产品,各家的产品只需要在这个标准版的Linux中进行测试就可以的话,那么可以大大降低应用软件厂商的开发成本,从而增加可以运行在Linux平台上的应用软件,最终推动Linux平台的普及。
稍微熟悉软件发展历史的人都知道,Linux的前辈Unix就是因为各厂商各自为政,开发出各不相同的Unix版本而导致Unix的发展受阻的。为了避免重蹈覆辙,Linux厂商都对建立Linux标准达成了共识,然而标准的实际建立和应用,却远非人们想象中那么简单。
一国际上的Linux标准化现状
国际Linux业界为了促进Linux的健康发展,在Linux标准化方面做了很多努力,建立了很多标准和产业联盟,主要有:
1.POSIX标准
POSIX(Portable Operating System Interface for Computing Systems)是由IEEE和ISO/IEC组织开发的标准。该标准是基于现有的UNIX实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行。
1991-1993年Linux刚起步时,适逢POSIX标准的制定正处在最后定稿的时候,POSIX标准为Linux提供了极为重要的信息,使得Linux能够与绝大多数UNIX系统兼容。最初的Linux内核代码(0.01版、0.11版)就已经为Linux与POSIX标准的兼容做好了准备。从Linux的发展进程也可以看出,Linux的成长一直有POSIX标准的辅佐,没有POSIX的指导,就不会有Linux的今天。
2.FSG(Free Standard Group)标准系列
Linux标准化规范和工作组——LSB(Linux Standard Base)工作组是Free Standards Group的成员工作组。LSB是Linux领域最重要和最有影响的标准化组织。LSB工作组以达成“standardizing the penguin”为目标,制定最基本的标准,如公众命令集和文件传输的格式等,为应用之间的兼容奠定基础。它致力于开发和推广一系列的标准,提高不同Linux发行版本的兼容性,使得软件应用得以运行在各种符合LSB标准的系统中,同时也帮助协调软件开发商向Linux移植和开发产品。目前国际上流行的Linux版本基本都遵循LSB标准,该规范是Linux世界统一的重要力量,可以说是Linux的工业标准。在LSB的发展历程中较为重要版本是v1.3和2004年推出的LSBv2.0。目前LSB的最新版本是2005年推出的LSBv3.0,不过LSBv3.0也不能完全解决当前Linux应用中所面临的兼容性问题。
OpenI18N(Open Internationalization Initiative)致力于增强国际化背景下的软件应用的可移植性和互操作性,提供一个通用的开放源码环境,使得全球不同文化、语言的应用程序可以正确地运行和正确地表达。OpenI18N也制定相关的标准并开发验证和测试工具包。符合OpenI18N标准的前提条件是符合对应的LSB标准。Linux国际化英文是从internationalization里,将i到n之间的18个字母略称为“i18n”,再加上Linux就变成li18nux,以此作为推展国际标准化的国际名称。
在FSG中除了LSB和OpenI18N外,还有许多有影响的标准组,如LANANA (Linux Assigned Names and Numbers Authority)、OpenPrinting、Accessibility、DWARF、Open Cluster。它们主要关注于特定的领域应用。
3.OSDL(Open Source Development Lab)标准系列
CGL(Carrier Grade Linux)是由OSDL资助的项目,致力于制订一个符合电信运营商要求的Linux标准。它针对网关, 信令服务器、管理服务器等电信应用提出了对Linux的增强,满足集成电信、数据和Internet的新一代通信基础设施的需要。CGL承诺遵守LSB标准,保持Linux版本的一致性,并遵守开放源码的许可协议和开放源码的开发流程。CGL支持相关软件包的测试和认证,是一个完整的体系。
DCL(Data Center Linux)也是OSDL资助的项目,致力于制订一个满足企业数据中心需要的Linux标准。它面向金融行业和制造业等运行关键性业务系统。其特征是积极采用新技术,使大型系统能运行关键性业务并承担高风险和重负荷。
DTL(Desktop Linux)是OSDL新近资助的项目,旨在推进Linux企业级的桌面应用。该项目目前处于筹划期,对外发布的信息较少。
4.United Linux(UL)
2002年6月,Caldera、 Conectiva、SuSE以及TurboLinux公司宣布成立United Linux组织,计划使Linux的开发与认证工作围绕一个全球统一的商用Linux版本进行。United Linux将满足企业用户对标准的商用Linux版本的需要,该版本能跨越软件及硬件平台,从而加速企业采用Linux。根据达成的协议,四家公司合作开发一个通用核心的Linux操作系统环境,称之为UL软件。四家合作公司在UL操作系统上捆绑自己的增值产品与服务,并以各自的品牌进行市场与销售。大量IT厂商都表示支持UL,包括AMD、Borland、CA、富士通-西门子、HP、IBM、Intel、NEC等。UL提供了一个真正基于标准的Linux操作环境,使供应商需要认证的Linux版本显著减少。随着Novell收购SuSE以及其他原因,United Linux组织已经瓦解,但对于如何防止Linux的分裂、如何简洁Linux生态链提供了有益的参考。
二我国在Linux标准化方面的努力与成果
中国政府积极推动Linux产业的健康发展,在Linux的产业标准和产业合作上开展了大量工作。
科技部863项目于2003年就专门设立了《中文Linux和办公软件相关标准与规范》软件重大专项课题。主要是从学术角度出发为Linux标准的方案做前期的研究和准备工作。
2003年12月,信息产业部科技司开始筹建Linux标准工作组。2004年4月9日,信息产业部科技司正式成立“Linux标准工作组”,着手制订一个能够保证Linux系统的操作一致性及开发、编程接口一致性的基础标准。首批加入工作组的成员有13个,包括各科研机构、操作系统厂商和应用软件厂商。项目组主要由中国电子技术标准化研究所、中国科学院软件研究所、中软网络技术股份有限公司、中科红旗软件技术有限公司、新华科技系统软件有限公司等公司在参与相关标准的起草。主要内容包括:
lLinux标准体系研究,主要起草单位为中国科学院软件研究所;
lLinux应用编程界面(API)规范,主要起草单位为中软网络技术股份有限公司;
lLinux桌面系统技术要求规范,主要起草单位为上海中标软件有限公司;
lLinux服务器系统技术要求规范,主要起草单位为北京中科红旗软件技术有限公司;
lLinux用户界面规范,主要起草单位为北京中科红旗软件技术有限公司;
l嵌入式Linux技术规范,主要起草单位为新华科技系统软件有限公司。
2005年11月,“Linux标准工作组”的工作取得重大进展。《中文Linux应用编程界面(API)规范》等4份Linux标准已完成送审并即将报批,相关的标准符合性测试工作也正在筹备中。据专家估计,该标准将于2006年正式发布。这将对中国Linux产业的发展产生重大的影响。
2006年1月13日,Linux国际标准测试实验室(简称LSB)正式落户中国,这是继英国之后,世界第二家、亚太地区首家Linux国际标准测试实验室。
除了在国内积极推进Linux的标准化以外,中国政府还在亚洲地区积极推动Linux标准的建立与应用。
2003 年,中日韩三国政府在Linux问题上达成共识,在Linux领域展开紧密合作。2004年4月3日,中日韩三方联合签署了《开放源代码软件合作备忘录》。这是三国政府间合作推进可替代Windows的操作系统平台的举措,也是三国在认识到Linux所带来的机会后达成的共识。
经数次讨论,中国方面提出了第一套统一的亚洲版Linux标准。根据中国国家标准工作组网站上公布的信息,该标准分为API标准、台式标准、服务器标准、用户端口四个标准。国家标准工作组有关代表在论坛上表示,希望以这一主导标准为基础,进一步形成中日韩三国的标准,并将其他国家吸收进来,最终实现统一标准化。
但这样的成果并没能得到日本和韩国方面的支持,大部分的日本企业认为这一标准的草案更多地只是中国政府主导下的政府意志的体现,而政府主导下的标准化如果不具备强制效力,往往很难最终被市场接受。
“软件标准的形成过程是随着时代的变化而不断变化的。”日经BP社在报道中声称,“由标准化组织自上而下地制定标准的方式只适用于涉及对象不多的领域,而由更多的用户和开发人员所支持的事实标准则将最终成为主流。”
三 Linux标准化的主要困难与问题
虽然Linux厂商都知道建立统一的Linux标准的重要性,并且也纷纷承诺遵守已经建立的各种Linux标准,但实际上,处于商业利益考虑,很多重量级厂商的实际行动与口头表态背道而驰。比如RedHat和Novell 纷纷开发出自己独有的功能以加强自己产品的竞争力。商业公司从商业利益的角度出发支持Linux以取得和微软的谈判权,同样也是在商业利益的驱动下他们在Linux平台中加入不同功能的行为将无法阻止,而这就是当年UNIX悖论产生的原因。
目前,中国Linux厂商数量众多,但普遍规模较小,在市场上的地位和影响力都比较弱,还没有出现一家市场领袖。因此,企图依靠市场自身的力量,通过市场竞争形成事实上的工业标准还比较渺茫。因此,为了避免重蹈覆辙,由政府牵头引导,通过产业合作制订Linux产业标准是非常必要的。
在引导推动Linux产业合作,组织制订Linux产业标准的过程中,需要注意解决以下几个重要问题:
1、广泛吸引Linux产业生态链上的众多企业参与
Linux产业标准的建立,仅仅依靠政府部门和少数几个骨干Linux企业的参与还不够,必须广泛吸引Linux整个产业生态链上的众多企业参与。受商业利益因素的影响,在少数几家骨干Linux企业主导下产生的Linux标准将不可避免地具备一定的倾向性,难以得到其他Linux厂商的认可。因此,应当注意发动整个Linux产业链上的企业的积极性,尤其是像Intel、AMD、IBM这种虽然并不亲自从事Linux的开发,但对整个Linux产业具有举足轻重作用的IT巨头。
2、根据应用有的放矢地制订标准
众所周知,中国在Linux核心技术上贡献不多,大部分工作集中在Linux的汉化和具体应用上。因此,对整个Linux核心技术制订标准既难以实现,又缺乏实际意义。在制订Linux标准时,应当根据中国企业的应用重点,有针对性地确定标准的覆盖范围和重点。达到以标准化推动应用的目的,而不是为了标准化而标准化。应依据当前的技术能力和应用需要而量体裁衣地制订标准,以当前能解决问题为标准的立足点,阶段性、步骤性实施标准制订过程。
3、处理好与现有Linux标准的兼容性
标准贵在统一,标准太多了,就等于没有标准。目前在国际上,已经存在大量Linux标准,并且也已经达到IT业界的广泛认可。因此,中国要建立自己的Linux标准,就必须处理好与现有Linux国际标准的兼容性。闭门造车、重起炉灶早已经被证明是不可取的。中国的Linux标准,应该是建立在现有国际Linux标准之上的,针对中文应用环境进行了具体优化和改进的标准,对于一些目前暂时不考虑或难以解决的问题,完全可以采取“黑箱”的处理方法,暂时封闭起来或直接采取国际标准中的相关规定,对外提供一个统一的平台或接口即可。