陸首群:開源與微軟API的互操作性

iDotNetSpace發表於2008-09-11
當今時代呼喚開放標準。

    開放標準是指通過在應用程式設計介面(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上發表的這方面成果來看,也有我們中國人的貢獻。

    總之,無論開源或微軟,在互操作性問題上,都需要互動、開放、妥協和合作,才能做到雙贏;均要以互相尊重(決不可辱罵恫嚇、惡言相加)和理性務實的態度,實現更深層次、更富效率的互操作性。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-442869/,如需轉載,請註明出處,否則將追究法律責任。

相關文章