歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Java與Linux 一對開源運動的婚姻

  【IT168 分析評論】在2004年開源運動的積極倡導者Eric Raymond就給Sun 當時的CEO Scott McNealy寫了一封信要求Sun對Java進行開源,允許開發人員自由修改。與此同時開源運動的另外一位積極倡導者、GNU計劃的創始人Richard Stallman大聲疾呼開發人員不要安裝封閉源代碼的Java,痛批Sun的不開源行為。

  兩年後Sun終於發布了開源的OPENJDK,同時發布了基於開源協定GNU GPLv2的用於桌面西系統的Java 標准版(Java SE),以及用於移動設備的Java 移動版(Java ME),Sun希望GPLv2能夠為Java帶來更多的用戶,並且宣稱Java會繼續保持“一次編寫、到處運行”。

  另外Sun還就如何簡單容易地發布OpenJDK到Linux廣泛征求意見,意圖能夠把Java推向新的平台、新的市場。Richard Stallman改變了他的態度,對於Sun的這一舉措給與了積極評價。

  兩年後,Sun的這一舉措達到他的 初衷了嗎?要求Java開源的呼聲停止了嗎?Sun的CEO Simon Phipps稱至少達到了設定的目標,Sun做的不錯。那這項舉措對於日常使用Java開發的程序員來說,生產效率得到改善了嗎?Phipps說如果你是一個基於Windows平台的開發人員可能感覺不到這一變化,但是如果你是一個工具提供商的話,你得產品的應用范圍會擴大很多,你的產品也會在Linux上順利運行,換句話說你的市場也會在瞬間增大。。

  Java也在與時俱進

  Java的市場顯然擴大了很多,OpenJDK現在已經被包含在四個最著名的開源Linux產品中,Fedora 10、Ubuntu 8.10後的所有版本、OpenSUSE 11以及Debian的最新版本。另外Red Hat Enterprise Linux 5.0和CentOS 5也包含了OpenJDK。Sun同時宣稱其Glassfish計劃也獲得了成功,截止目前為止已經有8百萬份的下載,另外在過去的一年中有25萬份的產品進行了注冊。

  但是還有一個難題在等待著Sun,Java並沒有一個特定的版本或者API庫百分百與Linux兼容。這就使得在Linux上安裝以及維護Java變成一件頭痛的工作,他要求Java開發人員為不同的Linux版本編寫差異化的代碼。

  怎麼辦?鎖定一個Java的發布包,如果用戶需要使用新的API的時候才去下載更新的版本。但是注意到在不同的Linux平台上安裝以及使用Java都是不同的,並且Java的實現也是不同的,同時Java的更新也非常多。那麼下一個問題就是用戶需要安裝什麼版本的Java,最新版還是最被廣泛使用的版本。

  直到現在Sun還對Linux發布商進行一對一的支持,這樣就缺乏一種廣泛的推動力,還需要標准化一些東西。

  不過改變說來就來,最近Linux基金會宣布了Linux基礎標准(LSB)4.0,在這個標准中要求Linux發布商必須支持Java SE 6.0。根據Linux基金會的信息LSB 4.0會被Asianux 3.0、Mandriva Corporate 5.0、RHEL 5.0、SLES Enterprise 10以及Ubuntu LTS 8.04中直接支持。盡管如此還是有一些Linux版本沒有支持LSB 4.0,這依然要求開發人員考慮兼容性的問題。

  但是並不是所有Linux開發人員都會采用Java作為其開發語言的,他們會堅持他們自由與開放軟件的理念。

  下來我們談一下TCK,一個用來監測Java應用程序是否與Java虛擬機相兼容的工具。現在看起來Sun不會對TCK開源,Sun也因此備受指責。Sun並沒有開放其所有的東西,Sun仍然牢牢控制著Java的知識產權。

  Java 開源帶來的影響

  值得一提的一件事情是OpenJDK帶動Java 6 SE進入了Mac OS X平台。另外開發人員還可以將Java Runtime Environment放在你的產品中發布,盡管必須取得Sun的授權認證。

  但是就現狀來講,如果沒有OpenTCK的話,Linux開發人員可能不會一直使用Java來進行應用開發,OpenJDK只會作為茶余飯後的閒談。

  看來Sun在推動Java開源的路上還有很多的路要走,但是無論怎麼說Java開源都是正確的舉措,我很期待著兩年後OpenJDK能有更多的進展。

Copyright © Linux教程網 All Rights Reserved