赛迪顾问   钱磊
 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
不久前微软在德国的一家刊物上刊登了一则广告,令人深思。广告图片是这样的:四只企鹅站成一排,第一只跟人们通常在画上见到的企鹅没什么两样;第二只企鹅长了一双长长的野兔耳朵;第三只长着青蛙的脑袋,脑门上还有两只鹿角;第四只更可笑,有一双猪耳朵和硕大无比的象鼻子。底下有一行文字:“一个没有任何用处的开放操作系统。”熟悉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个,包括各科研机构、操作系统厂商和应用软件厂商。项目组主要由中国电子技术标准化研究所、×××软件研究所、中软网络技术股份有限公司、中科红旗软件技术有限公司、新华科技系统软件有限公司等公司在参与相关标准的起草。主要内容包括:
l           Linux标准体系研究,主要起草单位为×××软件研究所;
l           Linux应用编程界面(API)规范,主要起草单位为中软网络技术股份有限公司;
l           Linux桌面系统技术要求规范,主要起草单位为上海中标软件有限公司;
l           Linux服务器系统技术要求规范,主要起草单位为北京中科红旗软件技术有限公司;
l           Linux用户界面规范,主要起草单位为北京中科红旗软件技术有限公司;
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标准之上的,针对中文应用环境进行了具体优化和改进的标准,对于一些目前暂时不考虑或难以解决的问题,完全可以采取“黑箱”的处理方法,暂时封闭起来或直接采取国际标准中的相关规定,对外提供一个统一的平台或接口即可。

转载于:https://blog.51cto.com/opensource/7435

Linux标准化:避免重蹈UNIX的覆辙相关推荐

  1. 【Linux】Linux简介以及 与UNIX区别

    一直以来对Linux.Unix.linux内核.linux发行版的概念比较模糊,最近查找资料并经过自己的整理,主要总结了Linux和UNIX的区别和联系.内核和操作系统的关系.Linux操作系统和结构 ...

  2. linux msgsend 头文件,Unix/Linux进程间通信

    一,Linux下进程间通信的几种主要手段简介: 1,管道(Pipe)及有名管道(named pipe) 管道可用于具有亲缘关系进程间的通信 有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功 ...

  3. 门店故事不好讲,CEO提前减持,万物新生(爱回收)或重蹈“优信”覆辙

    ​配图来自Canva可画 618临近,各大电商平台陆续展开了多轮促销活动,二手电商平台也开始在其中扮演重要角色.与此同时,二手3C行业的市场竞争也不可避免在加剧,作为垂类回收平台的爱回收,也正式递交招 ...

  4. Docker生态不会重蹈Hadoop的覆辙

    2016-08-24 晏东 GoDocker 本文作者:晏东 Ghostcloud 创始人 今早一起床就看见朋友圈内在转发一篇名为<Docker生态会重蹈Hadoop覆辙?>的文章,作为一 ...

  5. linux查看地址和,UNIX/LINUX平台下查看MAC和WWN地址的方法

    归纳了一下,在UNIX/LINUX平台下查看MAC和WWN地址的方法 查看MAC地址 hp-ux #lanscan tru64 unix #netstat -ia aix #lsdev -Cc if ...

  6. Linux下window转unix文件格式

    在window下写了一些linux下的shell文件,然后复制到red hat中,执行shell文件时,提示^M 解释错误,用vi打开一看原来文件中的每一行都加了一个^M字符,才知原来是window与 ...

  7. linux cfs,朴素的UNIX之-Linux CFS一个注释

    朴素的UNIX之-Linux CFS一个注释 发布时间:2020-05-29 08:33:29 来源:51CTO 阅读:604 作者:dog250 本系列名为朴素的UNIX,但是也包括各个类UNIX系 ...

  8. Linux 及其它类 Unix 系统的系统服务管理和控制程序(初始化系统/init system)简单梳理

    文章目录 一.Linux 的启动过程 二.初始化程序 (一)System V init (二)Upstart init (三)systemd (四)Launchd (五)Epoch (六)Mudar ...

  9. unix和linux命令_Linux vs. Unix,在命令行中清理数据,为儿童准备的15本书,以及更多必读内容

    unix和linux命令 上周,关于Linux与Unix的一篇文章是最受欢迎的读物. 查看其他Opensource.com读者对以下内容的了解: Linux与Unix:有什么区别? ,作者:菲尔·埃斯 ...

  10. 搜索一个问题 C、C++判断操作系统 是 Linux还是windows 还是Unix【编译器内置宏 探索(不是特别满意)】...

    得到的答案 都不好.为什么,因为他们都不知道原理.其实原理很简单,编译器 参数或Makefile添加了宏定义,你才可以这样去判断. 比如编译器设置了宏 is_windows,你才能去用.不设置没法用. ...

最新文章

  1. 人为「刷」论文引用量,IEEE高级会员被终身“禁赛”,奖项被撤销
  2. Path Sum II leetcode java
  3. JS获取字符串实际长度!
  4. aspx网页背景图片设置代码_python requests,BeautifulSoup批量下载360图片
  5. yoast造成php内存,php – Yoast SEO |如何创建自定义变量
  6. 让线程等待10秒_把python程序变成多线程
  7. Unix——fprintf与stderr、stdout的使用
  8. SSM学习系列(五) Spring MVC 几种跳转方式
  9. [BZOJ 3207] 花神的嘲讽计划Ⅰ【Hash + 可持久化线段树】
  10. oracle.sql.clob 报错,oracle11g java导出excel报错oracle.sql.CLOB@xxxx问题
  11. 《Android框架揭秘》——2.4节开发Android应用程序
  12. 计算机多媒体制作三级证书,多媒体作品制作员(师)国家职业标准
  13. 京东店铺数据分析工具推荐
  14. 半导体行业深度报告:从应用到行业的全面复苏
  15. 数据可视化—绘制简单的折线图
  16. 后端开发工程师不懂这些就危险了
  17. Word编辑公式时,公式后的序号靠下,不能再行中间显示
  18. 我的世界服务器连接协议,go-mc: Minecraft(我的世界)各种协议的Go实现
  19. 瑞星防火墙导致系统运行缓慢的问题
  20. Nexus私服使Maven更加强大

热门文章

  1. 【POJ 3057】Evacuation【最大流+二分】
  2. 京东极速版上线,“杀”入三四五六。。。线市场,一起瞅瞅
  3. 使用threading多线程模块的demo
  4. JSONP原理及使用
  5. RaspberryPI 3b 技术总结(包括Linux)
  6. 18华工校赛 小马哥的超级盐水 折半枚举
  7. 第二章:WebDriver 打开Firefox浏览器 和 Chrome 浏览器
  8. angularJs完成分页
  9. 如何安装PANABIT?
  10. 虚拟化应用(三)Hyper-V 2.0 初探