我有许多Linux朋友,他们对我近期的言论,有些失望。这一点,我心里面明白。但是,我还得讲点心里话。

       过去,我是非常反对OOXML的,只是因为它是出自微软的“文档标准”。但是,自今年221日微软宣布“API开放”之后,我抽空阅读了一些有关OOXML的文字,正反两方面都有,对它的认识进了一步。在这里,我不想给大家泼凉水,预测OOXML的投票结果。有人认为“That might be difficult”(“那很困难”),因为,到今年329日截止的全球投票,如果要使得OOXML成为ISO标准,那么,就必须使得去年9月那些投弃权票的所有P-成员国(共有8个)都投“Yes”票,而且至少还要使得两个投“No”票的P-成员国(共有14个)完全转变“立场”,改投“Yes”票才行(请见35日,Tricia Liebert的分析文章“Defining the standards: Should Microsoft OOXML be an ISO standard?”)。229日,日内瓦BRM会议搞的太让人失望,足见以上“转变”难于完全实现。那么,该怎么办呢?说句实在话,如果这次OOXML投票失利,我心中是不会高兴的,因为,那将使得世界软件界失去了一种“技术平衡”,失去了一种“对话环境”,出现ODF的“一言堂”。那么,在OOXML里面,究竟有什么东西使我产生如此大的“诱惑”?

       微软的OOXML,从整体设计上来看,特别适合未来的“多元环境”(也称为“异构环境”)。它有一个模块化的“文件内核”(“File Container”),里面有许多模块,提供开发者使用。这个“文件内核”很复杂,能够处理文字、图形和多媒体数据,而且还有专供客户定制的对外接口,具有不断扩张的功能。特别是,OOXML强调与其他文档标准的“对话”(也称为“转换器”),从20071月份微软就开始与合作伙伴着手这项工作,由微软提供资源予以支持。德国的DlaLOGIKa、法国的CleverAge和印度的Aztecsoft都在这方面开展了工作。特别值得一提的是,OOXMLODF“转换器”的开发计划,这完全是一个开源开发项目(使用BSD许可协议)。根据网站SourceForge统计数字,可以看出OOXMLODF的“转换器”项目极为受欢迎(欢迎程度是顶级),吸引了大批志愿者参与。目前,微软倡导的“转换器”项目,虽然取得的实际效果并不明显,但是,只要给以“时日”,必大可见其成效。据说,在中国境内也有人在搞“转换器”研究项目,这算是才开始。

       221日,微软(最高级别地)宣布4项“互操作性原则”:1、保证开放连接;2、数据的可移植性;3、提高对各种标准的支持;4、开放对话的约定(承诺)。这是世界软件业发展史的一个“里程碑”事件,从此,世界软件业开始了一个“对话的时代”。我们应该承认,在目前阶段,OOXML还有不少“毛病”(比如,311IBM所举的“反例”),但是,我们不能“一棍子打死”,死了就不能“对话”了。我痛恨ISO“快速通道”的那批官僚,腐败无能,坏了好事。

      (注:311日,IBM代表在美国INCITS会议上说,他们利用随机数发生器随意指定12OOXML文档,竟然发现其中含有19个技术缺陷(defects),而且有4项很为严重,比如:要求把简单字符文件的保密字存储到数据库连接串里面;XML模式定义的错误;与微软浏览器私有特性的连接,等等。可谓抓住了OOXML的“小辫子”,不依不饶。)

 

本文转载:CSDN博客