(//www.tvsmo.com)
【大紀元9月26日訊】Java本身包羅萬象﹐以最簡單的定義來說﹐它是一套含有190余種規格的Java規格提案(JSR﹕Java Specification Requests)﹐內容涵蓋Java在各個層面的運用﹐從企業專用的虛擬機器應用服務器(J2EE)﹐到桌上型計算機虛擬機器(J2SE)﹐到常見的CGI小程序等(servlets﹐用來當作虛擬機器與外部應用程序的溝通接口)。
ZDNet China 9月23日報導,這些JSP技術提案的命運則有賴JCP組織(Java Community Process﹐由數百家廠商組成)旗下的工作小組來進行規格審議。雖然JCP是由SUN設立﹐但基本上都還維持著相當民主的過程。
每個參與審議JSR規格提案的廠商都有相當大的決定空間。例如﹐SUN將多數行動Java規格的決定權留給諾基亞﹑愛立信﹑摩托羅拉等手機大廠﹐由他們來決定手機中的Java要怎麼制訂最好。
不過雖然JCP看似非常民主﹐但擁有Java專利權的SUN還是握有否決大權。同時﹐由於SUN對這項技術擁有智能財產權﹐因此該公司可設立各種Java相關要求。其中最為人所關心的就是SUN向廠商(凡有使用Java品牌者)收取的授權費。SUN實際收取金額多少向來是IT產業的最大秘密﹐SUN不願透露任何數字﹐而授權廠商也不肯稍漏口風。
不過證據顯示每家廠商所付的金額高低並不相同。熟悉授權制的人士表示行動JSR的費用會比其它JSR來得高﹐這或許是手機產品過於流行之故。
甲骨文據聞簽下了相當有利的授權合約﹐條件是它必須退出由IBM主導的openserver.org組織﹐SUN認為該組織對Java品牌是一大威脅(甲骨文的退出重挫了該組織)。
兼容性需求
對Java的另一項附加要求是兼容性。Java號稱「write once, and run anywhere」(寫一次﹐四處通)﹐為了使Java品牌能名實相符﹐JSR還包括了兼容性測試﹐廠商的產品必須通過測試後才能對外宣稱與Java兼容。
而SUN除了收取權利金外﹐兼容性測試還要再收取一次費用。我採訪SUN首席工程師Rob Gingell時﹐Gingell笑稱產品測試全都是非常專業的人在執行﹐而這些專業人士則都是SUN的自己人。懂了吧﹖
也因此當今年初IBM的Sutor跟我說IBM很希望看到Java進入公共領域後﹐理由就再也明顯不過了。任何Java授權商希望Java能開放就是希望不用再向SUN繳交權利金與測試費用。不過﹐不管IBM究竟付了多少﹐對於藍色巨人而言都可能只是九牛一毛﹐因此另一個可能原因就是SUN的否決權。
我很好奇或許IBM曾在JCP中受過傷﹐或許IBM要求變更部份Java規格(如J2EE)﹐但卻被SUN否決掉。還是或許著眼于未來擔心某項規格被SUN擋下來﹐畢竟SUN要祭出否決權並不需要特別理由﹐若它覺得苗頭不對﹐隨時可拿來對付IBM。
當然以上都是臆測之詞﹐即使是真的﹐Sutor也不會承認。他說﹐「IBM真的非常喜歡Java﹐我們敢說在Java的穩定與性能上﹐IBM做出了比其它人更多的貢獻﹐使得Java可以走進企業市場。
展望未來﹐我們希望能更有建設性﹐我們不希望在這方面與SUN起爭執﹐我們只是認為Java標準化可以作得更好﹐因此我們就等著看SUN怎麼實踐自己的諾言吧。」
Java﹕不是標準的標準
所指的部份是SUN對外總是鼓吹採用免權利金的標準。 SUN三不五時會拿出來作例子的就是公司旗下所銷售的計算機系統﹐其產品大致是以兩套標準為依據﹕Sparc的IEEE P1754標準﹐以及Open Group的Unix標準﹐如Unix 98標準及X Windows。
而Sutor更想說的其實是﹐SUN最近堅持不願支持某些要收取權利金的技術(尤其是有IBM支持)﹐例如第一套Web services的安全規格WS-Security﹐之後此一技術確定為免權利金後﹐SUN才表示願意支持。因此﹐就部份情況而言﹐SUN算是言而有信﹐但一碰上Java可就不是這麼回事了。
與許多公司都將Java稱作是一種標準﹐其實這是錯誤的說法。SUN或許認為Java的命運是由數百家加入JCP的廠商所控制﹐流程就跟一般標準組織如W3C或ISO的作法如出一轍。
但就我的看法﹐只要沒有獲得獨立組織(如W3C或ISO)的認證﹐或需要收取授權金的技術﹐通通不能算是標準﹐充其量也只能說它表面打著標準的旗幟﹐但其實是必須付費才能使用﹐諸如英特爾的x86指令集或微軟Windows皆屬此一範疇。
絕對有權捍衛自己的智能財產權﹐但Sutor認為SUN對待Web services規格的態度也應該一體適用在Java上。
「SUN對我們而言是競爭對手﹐而非中立機構。我們希望能有一公正的中立組織來掌管Java規格﹐而非某一廠商擁有比較大的權力。」
為何Sutor會如此堅持要有一個中立機構來作最高統籌單位﹖或許接下來這段可透露部份玄機。「若Java之前就開放為標準的話﹐微軟的C#以及兼容技術(如.Net)今天就不會存在了。」
由於IBM有相當比率的軟件都跟Java有關﹐IBM顯然不希望有任何閃失。正如Web今天會如此發達正是因為建立在許多免權利金的協議﹐如TCP/IP﹑HTTP與HTML等﹐Sutor認為開放Java之後﹐Java的影響力與成長力道都更能發揮﹐如此一來就可限制.Net的成功。雖然擊敗SUN也算是策略上的成功﹐但IBM最終著眼的並非SUN﹐而是要打敗微軟。
雖然我們無法預測Java若成為開放標準後會變成什麼樣的光景﹐但Sutor至少說對了一件事﹕若微軟.Net若要跟開放標準的Java一較高下﹐困難度顯然會比現在高出許多。
甚至認為﹐若Java早先一步開放出來﹐.Net可能都不會出現了。「C#與CLR虛擬機器是什麼﹖其實就跟Java差不多﹐它們都是程序語言與虛擬機器﹐只是有些許不同而已。Java若是開放標準﹐微軟勢必直接支持﹐而不會推出.Net。」
當然現在這些都是白談了﹐.Net早已如火如荼展開﹐Java也非標準﹐IBM只希望所有關於Java的部份都能儘快開放。開放JSR技術提案至少會讓Java比.Net略佔上風。
目前在.Net架構中只有C#與CLR有可能成為開放標準﹐CLR其實只是.Net虛擬機器的陽春版﹐CLR(甚至是.Net)將難以與完全開放Java標準相互匹敵。
(//www.dajiyuan.com)