陸首群:開源與微軟API的互操作性
開放標準是指通過在應用程式設計介面(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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 陸首群:為中國開源培養人才
- 陸首群:全面評析Linux 與開源的當前形勢Linux
- IOT語義互操作性之標準與開源
- 陸首群:開源軟體的智慧財產權保護問題(轉)
- 開源軟體為中國軟體提供了發展機遇–陸首群
- IOT語義互操作性之API介面API
- 互操作性對開放標準的新要求
- 陸首群:評人工智慧如何走向新階段?人工智慧
- 發展中的SOAP互操作性
- 微軟開源 Try .NET - 建立互動式.NET文件微軟
- Samba解決了Linux與Windows互操作性的辦法SambaLinuxWindows
- Google AR 互動的開源與幕後Go
- 瀏覽器“聯盟”!蘋果/谷歌/Mozilla/微軟合力解決 Web “互操作性”問題瀏覽器蘋果谷歌微軟Web
- IBM Mashup Center:OpenSocial 互操作性IBM
- 互操作性的區塊鏈系統設計理念區塊鏈
- 評微軟開放“API”的“舉措”微軟API
- Kotlin 1.6.20釋出:更好的Java互操作性 - infoworldKotlinJava
- 微軟.NET Framework的開源之路微軟Framework
- 開源力量公開課第37期-《微軟+開源:如何使用微軟公有云Azure上的開源軟體》微軟
- 微軟開源WinJS微軟JS
- 對Linux既拉又打 微軟與開源的“愛恨情仇”Linux微軟
- 歐盟冷對微軟“API”開放微軟API
- 開源力量公開課第三十七期-《微軟+開源:如何使用微軟公有云Azure上的開源軟體》微軟
- 分享一個國內首款開源企業級go語言API閘道器--GoKu API GatewayGoAPIGateway
- 基於混合雲管理標準化模型,消除差異化與互操作性難題模型
- 開源的api文件管理系統API
- 微軟對華開放互操作原始碼微軟原始碼
- 微軟會開源 Windows 嗎?微軟Windows
- 微軟開源 Kinect 挽留開發者微軟
- c#之互操作性_(非)託管程式碼小記C#
- 開放API未必就等於互通互聯API
- 相比開源,微軟的產品更便宜微軟
- 雲端計算教程學習入門影片課件:互操作性與可移植性講解
- 思博倫與旭創科技(InnoLight)成功演示800G乙太網互操作性
- JockeyJS——優秀的WebView與JS互動開源庫使用和解析JSWebView
- 雲端計算標準化以及互操作性方面的標準
- 互動小說及其開源簡史
- 群控與安卓底層開發安卓