Fork me on GitHub

陆首群:提升开源与微软的互操作性来谋共赢

      开源与微软的互操作性

  当今时代呼唤开放标准。

  开放标准是指通过在应用编程接口(API)、通信协议(Protocol)以及数据和文档格式(Format)方面使用公开发布的规范,来实现各种异构信息系统之间的互操作性。

  对开源与微软来说,互操作性是他们的共同追求,决不是“一头热”的问题。早在2005年,我应开源组织和微软双方关于实现互操作性的共同要求,曾邀请双方专家一起讨论,企图搞出一个共同的、高效的互操作方案,但终因双方利益不同,讨论无果而终。

  开源产品的API是公开、透明的,微软产品的API是属“暗箱操作”,因此在实现开源与微软的互操作时,出现了不对称、不公平的局面。

  微软要与开源实行互操作,可以很方便地设计转换器(或翻译器)。开源要与微软实行互操作,在设计转换器时就遇到很大困难,因为开源无从了解微软的API。过去开源一般采用逆向设计工程或模拟技术的方法,来搜索、解析微软产品的API函数;在取得初步成功时,微软就站出来说,微软的API具有知识产权和很多专利,对开源的“侵权行为”微软要诉诸法律,且矛头直指开源的用户;这时开源也祭出反制之道,在加强开源社会团结的基础上,正面应对微软的所谓“诉诸法律”问题:“互联网是开放标准、开源结构的直接产物,互联网上大多是开源技术,具有‘左版’版权,只要你微软上网,开源也有反制资源,用‘右版’版权来保护‘左版’”。从而迫使微软主管知识产权的副总裁Horacio Gutierez出来说话:“微软不会进行诉讼,如果我们想这样做,几年前就做了”;微软负责开源平台和战略平台的主管Bill Hilf和Sam Ramji更针对微软这样的“法律恫吓”说:“其实是我们干了一件错事”。

  开放协议层次的互操作

  2007年10月15日我与微软首席研究与战略官Craig Mundie会晤时,他认承:在相持三年后,微软终于接受欧盟的反垄断处罚。我问他,微软承诺:“将向同行开源竞争者开放互操作性的信息”,在向欧盟开放同时是否也向包括中国在内的全世界开放?Mundie答复很肯定:同时也向中国开放。

  去年12月14日微软负责协议计划的总监Ajay Sikka来京与我会晤时,通报微软执行美国与欧盟的裁定,他说:在中国也与欧盟一样,要落实微软关于开放互操作性信息的承诺。我问他:“微软是否开放 API源代码?”他说:“不是”;他说:“我们开放全部内外协议”,“在这些协议中也包括有关知识产权、机密文档、专利、版权、源代码(参考性许可)以及授权等”,我说:“欧盟对此满意吗?”,他说:“欧盟官员和参考系:‘文件共享管理Samba’对此是满意的”。其实,我在以前发表的关于互操作性的系列文章(可参见本博客网站“我的文章”)中早就指出,实现互操作是分不同层次的,其中包括开放API源代码和开放通信协议等不同层次的互操作;当然开放通信协议层次的互操作不如开放API源代码的互操作效率高(我也向Ajay Aikka当面指出,“你们开放协议层次的互操作不是最好的方式”);但既然欧盟(包括Samba)“满意”,我也无话可说,总算在互操作方面前进了一步。

  M/N结盟

  2006年11月2日,微软与Novell(M/N)“结盟”,双方合作开发转换器,实现Windows与Linux(Novell/SuSE),在办公套件方面的兼容性或互操作,这是基于API之上实现Novell-Open Office(ODF)与微软-Office 2007(.docs或XML)的兼容性或互操作,Novell与微软合作,在“法律”上或在技术上均属于排他性的,他们的“结盟”在国际开源社会有两种不同反应,一种表示支持,以期实行真正意义上、更高效率的互操作,另一种表示反对,认为这是微软对开源社会“实施分化瓦解的伎俩”。随后微软分别与Xandros、Linspire、日本 Turbolinux也进行了“M/N模式”的合作(并曾提议与Red Hat合作未获成功),微软(中国)有关主管也希望我能帮助促进中国有关Linux企业与微软实行“M/N模式”的合作;我曾了解Novell自“M/N 结盟”后的业绩,似乎并未达到其预定目标,我也广泛征求一些国内同行的意见,认为M/N作为一种“合作模式”也可考虑在国内进行试点。

  文档系统三个层次的互操作

  在我已发表的文章中谈到了各种类型的互操作,现在拟重点谈一下文档系统方面的互操作。文档系统的互操作分三个层次:

  1、关于文档生成,信息处理,基本应用程序的兼容性或互操作

  办公套件的兼容性属于这个层次的互操作。

  办公套件分文档(Word)、电子表格(Excel)、幻灯片(PPT)等几个部分,主要是文档。

  办公套件的兼容性分层为:内容兼容、格式兼容和版面兼容,涉及文档格式、操作习惯、接口和二次开发接口等。

  一般来说,国内中文Open Office(.SXW ODF)与微软Office 2003(.doc,支持XP)的兼容性(主要是文档格式)为95%或略差一些,可以实用(二次开发接口的兼容性约70%,偏低一些,还不至于影响大局);国外英文Open Office与微软 Office 2003的兼容性大约为90%,比中文Open Office的兼容性要差些(国外对Open Office的使用也比国内差);而微软Office 2007(.docs或XML,支持Vista)与微软 Office 2003(.doc,支持XP)也不完全兼容,其兼容性大致为95%或略高一些;为了兼容Vista操作系统和微软Office2007,微软最新的Office2003升级包(Office2003 SP3)将导致很多微软的老版本不兼容,无法访问新版本(这也可能为开源提供了机遇)。

  2、关于文档(信息)的规范、格式的兼容性或互操作

  这涉及到ODF、UOF、OOXML三个标准的互操作性。

  ①经国内有关单位核查测试,UOF与ODF具有一致性的条款约占70%,能互相转换的约占25%,兼容性约95%;②微软与北航合作,设计 UOF/OOXML转换器,经核查测试,UOF与OOXML一致的条款约占60%,可转换的约占25-30%,兼容性约85-90%(在演示现场我曾指出,目前这样的兼容性水平尚低);③ODF与OOXML一致的条款约占65%,可转换的约占25-30%,兼容性约90-95%。

  微软要将OOXML提升为国际标准,去年曾在国内外引起一场风波,未获通过,今年3月底在ISO将对微软的修正稿进行第二次表决。微软曾征询我的意见,我认为OOXML原本是一个企业标准,如欲提升为国际标准,其条款要增加公开性、透明度;因为将来一个国家存档的重要文件,如果绑定在一个企业“暗箱操作” 的条款之上,将会带来很大风险。

  3、关于文档(信息)存储的兼容性或互操作

  目前已解决在Windows操作系统的环境中可以在其磁盘上读、写(Linux的)ext2、ext3文档;同时,也已解决在Linux操作系统的环境中可以在其磁盘上读、写(Windows的)NTFS文档,从而实现在异构系统环境中文档存储的互操作。从在Source Forge上发表的这方面成果来看,也有我们中国人的贡献。

  总之,无论开源或微软,在互操作性问题上,都需要互动、开放、妥协和合作,才能做到双赢;均要以互相尊重(决不可辱骂恫吓、恶言相加)和理性务实的态度,实现更深层次、更富效率的互操作性。

posted @ 2008-01-29 08:03  张善友  阅读(470)  评论(0编辑  收藏  举报