当前位置:Linux教程 - Linux文化 - “Linux中文化”,真正该警惕的是什么?

“Linux中文化”,真正该警惕的是什么?


蓝点开发组 李凌 (11/27/1999)     近段时间,Linux汉化的问题备受关注,对此深圳蓝点Linux开发组的李凌提出了不同的意见:

  近日为配合美国某Linux开发商的外挂中文linux升级版在中国的市场推广,国内多家媒体纷纷发表了该公司某专家题为《警惕“LINUX内核汉化”带来的误导》的宣传文章,该文章对国内Linux内核汉化技术的进行了攻击。

  从技术创新和学术争鸣的角度上,我们欢迎任何技术交流和评论。但是看完该篇耸人听闻的文章,我们却为某些LINUX开发商到悲哀:表面借以“技术评论”手法,实际上却通过隐瞒或歪曲一些事实、偷梁换柱,玩偷换概念的把戏;甚至引用对手的过时技术参数来做对比,企图混淆非专业人士的视听,意图在舆论上抬高自己,在技术上贬低竞争对手,对受众进行心理暗示。更让人遗憾的是该Linux公司自恃在外国刚刚获得风险投资,拥有一定资金实力,不把主要精力放在linux改进产品、追赶对手技术水平和提高服务质量方面,却把重点用来打击中国国内其他Linux公司宣传和市场炒作上。

  无论为了市场炒作还是学术探讨,这种技术上不顾事实、唯我正宗的标榜或是企图独霸中国市场的市场炒作都是有违Linux与生俱来的自由精神。

  做为国内首个“内核中文化”技术的开发者之一,我觉得有必要向大家澄清一些技术事实并与大家交换一些看法。

  就蓝点而言,目前Linux到底有哪些中文技术?我们自主开发了两项中文技术。一是内核中文化,另一个是中文Xwindow。

  一,内核(kernel)中文化的实现与国际化兼容

  1999年初我们首创了直接利用内核对帧缓冲(Frame Buffer)支持,对内核部分代码进行双字节内码支持的修改,注意是“修改”,不是所谓的“嵌入”,使之可以支持双字节,目前我们首先加入了中文简体和中文繁体内码的支持,以同样技术我们以后还可随时加入韩文和日文等双字节支持,这便是我们所称的“内核汉化”。

  那么“内核汉化”能带给用户什么好处呢?内核汉化直接反映出来的功能就是控制台(命令行)中文,实际上做出来的效果就象UCDOS一样,这样的界面用户普遍反馈是“觉得好熟悉,很舒服”;而在使用方面也照顾多数用户的使用习惯让大家使用起来不费太多精神。控制台中文给那些需要在控制台工作又需要中文的用户一个很大满足感。更重要的是在内核上做控制台的汉字支持的好处是速度快、占用资源少,并可利用显卡的硬件加速功能。额外的好处是随处可得到中文环境而不必启动外部程序。从用户实际反馈来看,我们这样做非常有意义。

  据该Linux公司的宣传——“内核中文会走向国际不兼容的路”,我看这种说法完全歪曲事实和不负责任。了解Linux的人都知道,目前Linux上的中文应用软件非常少,如果我们不支持西文,那岂不是自掘坟墓?事实上,我们对西文软件的支持非常好,在预览版到测试版发行的数个月时间我们发出拷贝已经近20万份,从没有收到任何不兼容西文的反馈报告,我们的目标就是使Linux更兼容和更开放。

  某Linux公司的“专家”称“如果Linux内核支持Unicode,那才算内核汉化”――这种说法似是而非,且不论庞大的Uni-code转换表是否有可能进入到标准核心,姑且认为这种假设有成立的可能,那么这个东西应该被称为“国际化内核”,而不是他们企图打击的所谓内核汉化。

  该“专家”还称,为攻击中文平台的解决方案“双字节操作是中文平台不能解决的”,――不错,“双字节操作是中文平台不能解决的”的说法100%是大实话,但这又能说明什么呢?大家都明白,这些正是应用程序本身的责任,跟平台无关。难道可以在X Server上或者外挂中文平台上“强制”单字节X应用进行双字节操作?控制台上的道理是一样的。“中文平台将起到越来越小的作用甚至消失”――请不要把X上的一个预言套用到控制台上来。越来越小?控制台的中文显示和输入都消失掉了,如何i18n?

  实际上,蓝点的zhcon控制台采用的方案类似于codepage的方式,可以随时切换内码。除了两种内码的汉字支持外,今后加上日文,韩文支持也不难。事实上,一些系统,比如Windows NT的控制台,用的就是codepage。蓝点的这种方案是经过了仔细的分析对比后才做出的设计,这种实现方法是干净的、高效的、完善的。

  归根到底,难道只有在控制台应用上走外国人主要为了解决单字节多国语言支持而制定的i18n API―一个应用API,才能算的上“内核国际化”?否则的话,甚至连“内核汉化”都不能叫,叫了就是误导?如果一定要做“内核国际化的中文支持”,难道控制台中文系统要越俎代庖,替现有控制台应用做双字节处理?或者改写所有控制台应用?其实,zhcon也好,cce也好,别的功能类似的东西也好,都应该属于l10n范畴:显示和输入本地语言文字。至于应用的底层,或者核心的底层是否Unicode,则是完全不同的另外一个问题。

  二,何谓中文Xwindow

  我们自主开发了另一项中文技术是中文Xwindow,众所周知Xwindow不属于系统内核,所以Xwindow的中文化不是所谓“内核汉化”,该项产品名为CXWIN。

  我们从1998年初就已经开始了中文Xwindow技术的研究,此项技术相当复杂,从原型到成熟,耗费了近两年时间。中文Xwindow技术实现是直接修改Xserver底层完成的。为了更好的实现中文化,我们还对其进行了扩展。某“专家”居然在描述我们的产品时称“将外挂中文技术转到Xserver上,只需几个小时就可以完成”,且不讲这种技术判断上的错误,就其表达方式本身就不应该出自一个有着科学严谨态度技术人员之口。

  至于CXWIN的所谓兼容问题,用过蓝点中文Xwindow的朋友都知道,我们中文Xwindow整体效果是非常突出的,至今亦未收到任何与“国际”不兼容的报告。

  三,国际化(i18n)和本地化(l10n)的实质是什么

  在该“专家”宣传文章中,把“内核中文化”工作与国际化对立起来,事实上是如何呢?

  i18n是“国际化”的简称,l10n是“本地化”的简称。

  事实上,它们应用范围上有着非常大的不同:前者着重于在系统库上提供一种多国语言的支持机制;后者则着重于应用程序支持各国家地区语言习惯上的具体实现。比如,Linux里的glibc提供了i18n支持,X下的*FontSet支持也属于i18n的范畴,而应用程序输出信息的翻译、文档翻译、汉字输入工具这些都属于l10n的范畴。

  但是提出il8n,并不意味着可以就可以把现阶段的应用通通甩掉,直接走向所谓“国际化”。事实上目前包括某linux公司的外挂中文平台在内的linux版本的所有外挂中文平台乃至我们的中文Xwindow都不是i18n,都是为了解决现有单字节应用程序正确显示和输入汉字的临时方案。

  就此问题,某LINUX公司“专家”在所发表《警惕“Linux内核汉化”对用户的误导》宣传文章中,无视自已已开发外挂平台不是il8n的事实,却企图移花接木,假定自己是100%的i18n,甚至在此前提下暗示“内核汉化”的linux不是i18n或者不打算支持i18n的应用。

  为了市场炒作,这种声称拥有自己目前未有的技术的“圈地占地盘”做法我们尚可理解,但某Linux公司的“专家”居然以已技术所无攻击他人目前所无,甚至以算命先生态度曲解对手未来技术发展方向,乃至混淆视听自立技术权威,把外挂中文平台说成“国际化”的唯一途径,什么是对用户“误导”?这便是真正的“误导”!

  i18n是一整套的API,需要改写应用。使用了i18n API的应用程序就可以直接输入输出中文(或其它语种),根本无需外挂中文平台如:ZWinPro(指里面的处理汉字显示的部分)和CXWIN。那么用了ZWinPro或CXWIN的Linux发行是否就不支持i18n了呢?答案是否定的。因为,只要一个发行没有刻意地拿掉库里面的i18n部分,它就是支持i18n应用的。现今几乎所有的Linux发行,即使非中文版的,也都支持i18n。“提供i18n支持”和“使用i18n”是两个概念:前者指的是系统库,后者则说的是应用程序。概念不可混淆,CXWIN、i18n并无冲突。

  以下我们顺便谈谈蓝点linux的i18n(国际化)方案。

  蓝点是支持i18n应用的。举个例子,在蓝点1.0 RC1里的gvim 5.4使用了FontSet,在蓝点的CXWIN上跑得很好,gvim通过FontSet实现汉字的整字显示、用自己的代码(不是i18n API,而是类似DBCS)实现整字处理,这些都很好,很支持,很i18n。因为蓝点没有把glibc里的i18n砍掉,也没有把X Lib里的i18n砍掉。――这年头,想不提供Linux的i18n支持是很麻烦的一件事,但是有人举一举i18n的大虎皮倒是不难。

  另外,目前的蓝点(截止到1.0 RC1)没有XIM Server(一个i18n的多国语言输入协议的实现)。但CXWIN的输入可以在使用XIM协议的应用程序正确无误地输入中文,没问题。用户除了发现速度更快之外,不会察觉到任何差异。当然了,今后的蓝点也会带上一个XIM Server的,提供给有需要的用户使用。

  至于蓝点的l10n(本地化)实现,蓝点的优点除了在控制台上,还在桌面的整合性上下了不少工夫。在KDE下便可以方便指定应用的内码,而不是所谓的“不能对每一个窗口进行控制”。恰恰相反,在窗口标题栏上按鼠标右键,可看到“改变内码”一项。蓝点CXWIN的缺省内码也可在KDE桌面语言设置中自动配置,完全自动,不需用户额外干预,也不必要额外启动一个外挂平台,用户设置到什么语言,桌面就是什么语言。

  至于有人说CXWIN的实现不稳定的说法,实际也是莫名其妙,毫无根据,典型的FUD。X Server的稳定性问题,绝大多数是硬件的不匹配所导致,问题主要集中在国内的低价显卡上。这些卡的用料不够考究,稳定性不好。(关于这点,蓝点已经尽量做了一些测试和调整工作)蓝点配不上的,或者运行不稳定的显卡,其他的发行版,只要它用的是同一版本的XFree86问题一样或者更糟。蓝点甚至把国内低价硬件的兼容性问题也提升到了l10n的高度,来认真对待。至今为止我们没有收到或发现一例因为中文支持导致Xserver不稳定的情况。

  在某LINUX公司的“专家”宣传文章中,我们还可以看到大量的对我们技术进行错误表述和判断,然后进行“打击稻草人”式攻击,这实在是一个科技人员不该有的科学态度。

  三,蓝点Linux的未来发展方向

  i18n是目前Linux国际化的大方向,相信所有的中文Linux公司都不会排斥。从以前到现在到将来,蓝点都没有排斥过i18n。

  目前国内linux业界公认的蓝点在l10n上技术领先,在兼容西文单字节X应用上成果突出,以至在首届中国国际高新技术成果交易会列为重点推荐产品,我们“本地化”技术的领先并不意味着蓝点没有i18n或者反对国际化。

  同时蓝点开发组也清醒地认识到i18n亦存在某些不完美的地方。作为双字节语言地区开发的一个Linux发行,蓝点将来会对i18n的实现进行细致优化,以确保Linux系统在国内的相对配置较低的硬件上顺畅运行;确保不论是现在还是将来,提供最兼容的多语言应用支撑环境,让Linux更易使用。当然这一切都有赖于蓝点的各类广大用户的大力支持。

  我们的希望

  有志于中国Linux应用的团体和个人,都应该在l10n上多下工夫。这一点上,大家的目标其实是一致的。内核汉化也好,外挂平台也好,技术实现上走上不同的道路,性能敦优敦劣广大用户自有公论。反复地重谈老调,再次发起“嵌入”和外挂的争论;利用舆论的记忆效应,利用字面上的联想、暗示,以文字游戏攻击“内核汉化”,除了浪费时间之外,对Linux在中国的发展和自身发展没有任何好处。

  Linux在中国的开发工作,真正需要警惕的正是某些开发商不负责任的市场炒作。

  我们几位来自全国各地的LINUX志愿开发人员聚集起来,将开发地点选择在远离北京的深圳,目的正是为了继承深圳人“空谈误国,实业兴邦”的实干传统,避免把精力放在无谓的市场炒作和做“技术SHOW”上,我们真诚希望中文Linux开发者们应该致力研究出更新技术,为用户提供更多实实在在的优质产品及服务,发布更多实事求是的技术文章。


——摘自:网易