(去年為《軟體世界》寫的一篇關於 開源軟體趨勢的文字,作者:顧巨集軍)
經過多年的發展,開源已成為一種趨勢,開源理念得到IBM,SUN、Novell等廠商,甚至微軟的認同和支援,開源軟體也成為軟體產業的一股重要力量,在作業系統、程式語言、資料庫等基礎領域,在CRM、ERP等企業級應用領域,出現了一大批開源應用,Lamp開源架構也受到普遍的關注,得到了長足的發展,很多公司都制定了其開源戰略,在開源領域進行投資。進入07年開源軟體又出現了些新的發展趨勢。
1、面向終端使用者
經過多年的發展,開源社群已經創造了大量的應用軟體:包括作業系統,開發工具,資料庫,辦公套件等等,也有ERP、CRM等企業級應用,但是要使用者採用這樣開源產品,光有程式還是遠遠不夠的,還需要有效整合、市場推廣、使用者體驗、技術支援、使用者文件等。
以往開源軟體多隻注重技術層面,而較少關注其他方面的內容,使得很多開源軟體只在部分專業人士和追隨者中間流傳,隨著越來越多的人意識這這一問題,很多專案或公司開始從使用者角度看問題,切實解決使用者遇到的問題,如改進Linux下軟體安裝的CNR專案,專注桌面的Linux發行版-Ubuntu等。
CNR專案統一了軟體安裝的標準,你只需要用滑鼠點選一下就可以實現大多數Linux系統下的常用桌面軟體的安裝和更新,無論這個Linux系統是基於Debian的還是基於Red Hat的,大大降低的普通電腦使用者安裝Linux它同時能夠把專有商業軟體分發給Linux使用者。
Ubuntu專案擁抱開源社群,利用社群的力量,專注於整合優秀開源專案,並持續改善使用者體驗,免費進行CD版分發,使得Ubuntu在短短2年多時間裡擁有裡大量使用者,被Dell、Acer等選中,在部分機型中進行預裝,成為Linux桌面的領導者。
2、面向行業應用
在去年,已經開始大量興起開源ERP、CRM等應用,開源軟體進入企業級應用領域,並取得相當成就。但這些還只是通用企業級應用軟體,今年針對特定行業的特定開源應用開始興起,如面向線上教育的Dokeos系統,醫院資訊管理的Care2x系統等。
面向線上教育的Dokeos系統,已幫助世界上1000多個組織管理教學與合作活動。它採用Lamp架構,還對Openoffice.org、OpenLaszlo、RED5等開源專案進行了有效整合,實現了線上教育所需的課程管理,測驗和調查,作業和成績、課件製作、視訊教室等功能;其功能完善程度完全可比得上同類到商業應用軟體Blackboard。
醫院資訊管理系統Care2x使用了PHP,PostgreSQL。支援外科手術、護理、門診病人、實驗室、藥房、安全、受權、排程器、修理、通訊等等。支援多語言,WYSIWYG窗體,使用者配置,嵌入式工作區,具有模組化和可擴充套件性。一般的醫院有各種不同的專科部門,每天都要處理大量的病人、醫療人員(如醫生、護士) 等資料。這套系統能建立單一的工作平臺,讓不同角色的工作人員快速尋找(如病人)資料、進行採購、排班服務等。
3、引領技術革新
曾經很多人抨擊開源軟體只會跟在商業軟體後面進行模仿,而現在虛擬化技術、面向服務架構等前沿領域也活躍著大量等開源專案。用例項證實了開源軟體不只會模仿。
虛擬化技術可以提高計算系統的利用率,可以讓他們自由決定何時以及怎樣升級系統和應用軟體,而且能夠在需要時迅速部署資源,所有這些都可以幫助客戶降低成本。而開源社群的活力給這項技術加上了飛翔的翅膀。隨著開源思想的深入人心,尤其是Linux核心的成熟提供了最佳的借鑑平臺,開發者將他們的想法付諸實現變得愈發容易。
目前,開源社群已提供Xen、OpenVZ和KVM等多項虛擬化方案。Xen是由英國劍橋大學開發的一個成熟的開源虛擬化產品,最初只支援32位X86體系結構上的泛虛擬化客戶作業系統。現在Xen也支援64位的X86體系結構以及Intel安騰架構和IBM PowerPC架構。 而去年10月剛剛公開發布的KVM虛擬專案以其小巧靈活和簡潔樸素的特點迅速受到業界的歡迎,目前已納入Linux官方核心,給人們帶來了核心級的虛擬技術。
今年的Linux World在會議日程中加入了虛擬機器——這是個受人歡迎的舉動。隨著虛擬機器不斷在Linux作業系統中發展,Linux被看作是未來資料中心基礎架構中的一個強大競爭者。Xen專案已經被Red Hat、Novell等公司採用,Red Hat已在其新版企業系統內提供基於Xen的虛擬化解決方案。
面向服務的體系結構(SOA)當屬目前最為前沿的IT行業趨勢,而把SOA與開源軟體的優點相結合,不僅可以降低客戶的IT成本,同時還能敏捷地應對不斷變化的業務需求。 SOA雖作為新生事物,但它已有Tuscany、STP(SOA Tools Platform、SOA PHP 等多個開源實現。
Tuscany是Apache軟體基金會的孵化專案,由在Apache軟體基金會佔有重要份量的IBM和BEA主導。Tuscany的主要目標是為使用者提供一組SOA基礎設施,其中包括Java和C++實現的SCA/SDO/DAS標準。 STPSTP(SOA Tools Platform)專案是Eclipse基金會的重要專案,STP的目標是為技術人員提供一個靈活可擴充套件的框架,技術人員能夠在這個框架的基礎之上圍繞SOA方便地進行設計、配置、組裝、佈署、監控和管理等工作,STP提供相關工具來支援開發人員使用面向服務的體系結構進行解決方案構建。
Web2.0是開源軟體應用施展才能的又一重要舞臺,可以說Web2.0就是開源軟體。Web2.0應用多構建在開源軟體之上(如Lamp),新創業公司多選擇開源軟體作為其開發平臺;Web所面臨的挑戰:平行計算、系統部署與管理、單點登陸等,其實也就是開源軟體面臨的挑戰。開源社群已提供很多可選的解決方法,如提供OpenMPI、Hadoop、MapReduce、GridEngine、Ganglia等專案解決平行計算問題;Hyperic解決系統部署和管理的問題;OpenID專案解決單點登陸問題。
4、超越開放原始碼
開源運動所帶來的深遠影響遠不只是幾行原始碼,它還帶來了軟體開發方法、硬體設計等多方面的變革。
開發方法變革 從表面來看,開源軟體最大的優勢是“開放原始碼”,但從技術角度來說,歸根結底,是兩個串聯在一起的基本因素髮揮著推動作用:大眾頻繁有效的參與重構運動。開源模式已經被證明是非常成功的軟體開發模式,SUN、IBM等已將部分軟體通過開源的方式進行開發,很多的Web2.0應用也採用和開源軟體類似的開發模式。正如《Open Source Development With CVS》的作者 Karl Fogel 在開篇第一章所說的,“軟體商店裡能得到的不是有用的軟體”,開源軟體的程式碼質量要明顯好於商業軟體(一般是指成功開源軟體)。微軟Vista開發用了6年,而Flickr每天就釋出8-10次,Web2.0應用所推崇的”持續開發”和”一直beta”其實就是開源軟體的”release early,release offen “。
開源硬體 自從 Linux 在開發、聚集程式設計師、佔有商業市場等方面日漸成功後,硬體工程師開始構思硬體設計參考開源軟體的可能性,並開始有同好於網際網路上分享硬體的原始碼 (Verilog / VHDL),最重要的有OpenCores.org。
開源硬體由低端到高階的技術都有,吸引越來越多的工程師加入。同時,由於不少開源硬體都與開源軟體配合良好,加上 FPGA 技術使處理器製作成本大幅下降,打破了以往硬體設計需要購置昂貴軟硬體的情況,推動了更多人蔘與硬體 (尤其是 FPGA) 設計。開源硬體能夠縮減開發週期以及設計耗費。開源IP核既可以以黑盒模式複用,也可以以白盒模式複用。白盒模式使得設計者能夠根據自己特定的需求來定製特定的核。
雖然目前能夠開源的只是硬體中比較軟的那部分——計算機輔助設計軟體和硬體描述語言寫就的原始碼,但是也許多年之後,開源硬體也會和開源軟體一樣流行。目前,已有相當數量的開源硬體專案出現:如開源3D印表機專案RepRap,開源資訊裝置專案Chumby,開源Roland 303 MIDI電子合成器;開源MP3播放器Daisy;開源8080相容CPU等。
開源軟體正在飛速發展和完善中,它已被眾多普通使用者、開發人員所採納,它正在進入越來越廣泛的軟體領域,很多公司也開始採用開源的開發模式,很多開源商業模式也被開發出來。開源的產生和發展是IT行業的必然趨勢,開源軟體將對整個軟體產業的發展產生深遠的影響。 開源運動不是曇花一現,現今它正熠熠生輝,併發散出巨大的生機。