軟件是IT產(chǎn)業(yè)的重要支柱之一。國內(nèi)軟件發(fā)展的突出問題是軟件的創(chuàng)新路線問題。我們以系統(tǒng)軟件的創(chuàng)新來作分析,系統(tǒng)軟件是基礎(chǔ)、核心、創(chuàng)新難度也的軟件,系統(tǒng)軟件一般指操作系統(tǒng)、數(shù)據(jù)庫、中間件和軟件的開發(fā)工具、編譯器、編程環(huán)境等,其中操作系統(tǒng)又在系統(tǒng)軟件中處于龍頭地位。
開發(fā)一個大型操作系統(tǒng),難度很大。我們以微軟開發(fā)的Windows-Vista及其新版的Office為例,微軟投入了9000多個開發(fā)設(shè)計人員;投入80-90億美元開發(fā)資金(有人估計,圍繞與Vista的配套,微軟及其合作伙伴投入的開發(fā)資金約為其2倍,即160-180億美元),如此,Vista及其新版Office的開發(fā)資金總計約為240-270億美元;開發(fā)工作歷時6年。微軟于去年7月份推出Windows Vista Beta 1測試版,今年5月23日推出了Vista Beta 2測試版,并計劃于2007年1月向全世界發(fā)布Vista正式的產(chǎn)品版。應(yīng)該說Vista的開發(fā),對微軟歷年來推出的Windows版本有一定的繼承性,微軟為了開發(fā)、提升新的性能,也為了防止別人“兼容”仿制,不惜重寫了近60%的源代碼。微軟在開發(fā)、測試Vista過程中,曾發(fā)現(xiàn)27628個程序缺陷(Bug),雖然不斷進(jìn)行改正(或是打補丁),但至今(截止7月5日)尚有5700個程序缺陷未獲解決。比爾•蓋茨本人對明年1月能否準(zhǔn)時(不再拖期)正式發(fā)布Vista產(chǎn)品版也沒有信心。
Windows操作系統(tǒng)是一種私有的商業(yè)軟件,從技術(shù)上看,不可否認(rèn)它是一部偉大的作品(或一種知名品牌的產(chǎn)品),但如果按照Windows-Vista如上的開發(fā)條件,無論從財力、人力、時間的投入上看,目前中國是不具備自主開發(fā)大型操作系統(tǒng)條件的。
為了開發(fā)自主創(chuàng)新的操作系統(tǒng),只有另辟蹊徑,走開源軟件創(chuàng)新之路,以便充分利用開源的軟件資源,在巨人的肩膀上繼續(xù)攀登,才有出頭之日。
目前國內(nèi)企業(yè)雖然推出了幾款Linux操作系統(tǒng)產(chǎn)品的發(fā)行版,作為開發(fā)這種產(chǎn)品的起步,其成績當(dāng)然要加以肯定,個別版本也較突出,但總的來說,自主創(chuàng)新的技術(shù)含量不高,還處于學(xué)習(xí)、模仿階段,缺乏深層次的研發(fā)能力,一些企業(yè)或組織還多少染上浮躁、炒作的毛病。關(guān)于國內(nèi)研發(fā)的“某某”操作系統(tǒng),有人認(rèn)為它違反了自由/開源軟件許可協(xié)議,屬于作假、侵權(quán)行為,它把本來從伯克利(BSD)移植來的大量源代碼資源宣稱是“自主開發(fā)”的成果,起碼也未按FreeBSD許可協(xié)議對資源的來源作出公開聲明;對其真正自主開發(fā)的東西所占比重多少,在評估上也有爭議,至少關(guān)于工程化實現(xiàn)技術(shù)的自主開發(fā)較少觸及。一些企業(yè)主要是做下載國際開源社區(qū)公開的源代碼,作簡單的代碼遷移,比較深入的也不過利用多次測試、糾錯的成果,打補丁作一些相應(yīng)的改進(jìn);面對兩個“BSP”未能進(jìn)行深入開發(fā)。一個BSP,即“主板支持包系統(tǒng)(Board Support Packages)”,意思是指:當(dāng)把一個操作系統(tǒng)移植到一個新的硬件平臺上時進(jìn)行的(驅(qū)動)軟件(及源代碼)的開發(fā)工作,國內(nèi)一些企業(yè)尚未觸及,另一個BSP,即“大量同步平行計算技術(shù)(Bulx-Synchronous Parallel)”,國人雖然開發(fā)了“服務(wù)器集群的并行虛擬網(wǎng)絡(luò)服務(wù)系統(tǒng)”,并已由國際開源社區(qū)登記,但我們的企業(yè)尚未在自己開發(fā)的Linux操作系統(tǒng)中采用;至于目前在國外開源操作系統(tǒng)中當(dāng)作技術(shù)潮流而開發(fā)的“IT虛擬機技術(shù)”(Fedora、OpenSuSE等社區(qū)已開始使用),國內(nèi)企業(yè)更未觸及。在開源軟件的內(nèi)核開發(fā)方面,國內(nèi)企業(yè)一般只是簡單地移植“官方內(nèi)核(Official Linux Kernel)”,并未根據(jù)自已的使用條件和應(yīng)用領(lǐng)域,對圍繞官方內(nèi)核的“上載模塊”進(jìn)一步作度身定制、重新編譯,以便開發(fā)一個增加許多新特性,并更穩(wěn)定、更高效的內(nèi)核出來。國外知名的Linux企業(yè)(如RedHat、Novell等),在其發(fā)布版中公布的內(nèi)核源代碼與官方的內(nèi)核源代碼之間,存在約3-5%的偏差(他們并不是簡單移植,而涉及到他們在短期間內(nèi)在很多不同來源的補丁中選擇的補丁),這是為了他們消除產(chǎn)品缺陷,進(jìn)一步優(yōu)化產(chǎn)品性能的目的。官方內(nèi)核監(jiān)護(hù)人Andrew Morton跟我說,對這種偏差的“度”的把握,主要是依靠工程經(jīng)驗。相對而言,國內(nèi)企業(yè)在開發(fā)中,往往忽視工程化實現(xiàn)技術(shù),尚缺乏把握偏差“度”的能力,因而并無偏差設(shè)計的舉措。國內(nèi)一些人尚未弄明白:開源軟件開放式的開發(fā)機制不同于傳統(tǒng)產(chǎn)品(包括傳統(tǒng)私有軟件)封閉式的開發(fā)機制。開源軟件的開發(fā)過程是:首先建立開源社區(qū)(目前在國內(nèi)自建開源社區(qū)尚缺一些必要條件,只能先利用好國際開源社區(qū)的機制),由開源社區(qū)組織全球“志愿者”(或企業(yè)、測試基地等組織的“Linux/OSS技術(shù)小組/中心”)進(jìn)行“集體開發(fā),合作創(chuàng)新”,并將與產(chǎn)品全面性能相映射的全部源代碼實行公開、開放。這是開源軟件開發(fā)過程中的先導(dǎo)的社區(qū)開發(fā)過程。國人或國內(nèi)企業(yè)只有持續(xù)參與社區(qū)開發(fā)的過程,才能深入了解整個開源軟件(產(chǎn)品)的全部隱性技術(shù),即設(shè)計思想、設(shè)計原理、體系結(jié)構(gòu)、頂層設(shè)計(全局概念)和工程經(jīng)驗等;了解“志愿者”遞交并為社區(qū)錄用的“軟件包”在整個“開源操作系統(tǒng)樹(Linux Tree)”中的位置、歷史變遷和影響,了解各軟件模塊間的協(xié)同、耦合、調(diào)用的關(guān)系,以及它們的配置效應(yīng);并從中增長自己的經(jīng)驗和才干。這種親身參與和從此積累的工程經(jīng)驗,是在以后完成后續(xù)的企業(yè)開發(fā)過程中所必不可少的。目前我們?yōu)閲H社區(qū)所選中的“搶占性(Preemption)”的“代碼行”(或“軟件包”)的人數(shù),或為國際社區(qū)登記加入“開源操作系統(tǒng)樹(Linux Tree)”的“代碼行”(或“軟件包”)的人數(shù)還很少,可喜之點,近年呈逐步上升的趨勢,如“Linux虛擬服務(wù)器(LVS)”、“灰狐社區(qū)”的“Jfox應(yīng)用服務(wù)器”、“智能通用輸入法”等已為國際社區(qū)注冊登記;特別要指出的是:國人對ext3文件系統(tǒng)改寫的部分代碼,對USB串行總線改寫的部分代碼,以及“Linux虛擬服務(wù)器(LVS)”等開發(fā)項目已進(jìn)入了“開源內(nèi)核(Linux Kernel)社區(qū)”。目前關(guān)于在的國際社區(qū)Source Forge開發(fā)平臺上立項并主持有影響力的系統(tǒng)級項目的人,國人也已實現(xiàn)了“零的突破”,而且多起來了,國人關(guān)于“Windows驅(qū)動軟件模塊”在Sourge Forge上的立項,已引起全球廣泛的關(guān)注,這個項目是能在Windows環(huán)境中讀寫Linux ext3文件系統(tǒng)的軟件模塊。我們這里強調(diào)的是“重視社區(qū)開發(fā)”、“重在參與”、“需要更多的國人參與”、“從中積累工程經(jīng)驗、增長才干”。
如果開發(fā)過程停留在社區(qū)開發(fā)階段,這時的社區(qū)發(fā)布版雖然已可展示產(chǎn)品的全面性能,但操作尚不穩(wěn)定,計算效率也未優(yōu)化,靈活擴展性不夠,質(zhì)量有待提高,產(chǎn)品成熟度也待催化。為了開發(fā)出穩(wěn)定、優(yōu)化、成熟的產(chǎn)品,必須緊跟著一個后繼的企業(yè)開發(fā)過程,這樣才能形成完整的開發(fā)過程。在“社區(qū)開發(fā)”基礎(chǔ)上的“企業(yè)開發(fā)”,主要開發(fā)“工程化實現(xiàn)技術(shù)”,是具有“自主開發(fā)、自主創(chuàng)新”性質(zhì)的。當(dāng)然其中也含有“核心技術(shù)”。我們要再次強調(diào),只有廣泛持續(xù)參與社區(qū)開發(fā)過程并從中積累經(jīng)驗、增長才干,才有可能在企業(yè)開發(fā)(即工程化實現(xiàn)技術(shù)開發(fā))中取得成功。對于這一點也是很多人不明白的。Ubuntu社區(qū)的創(chuàng)始人Mark Shuttleworth曾給我寫信,Ubuntu的桌面或服務(wù)器Linux發(fā)布版(產(chǎn)品),雖然源代碼是全部開放的(與源代碼相應(yīng)的核心技術(shù)自然也是公開的),但它還含有不開放的核心技術(shù),并可以進(jìn)行技術(shù)轉(zhuǎn)讓。其所謂“可轉(zhuǎn)讓的核心技術(shù)”,主要就是體現(xiàn)在“工程化實現(xiàn)技術(shù)”中。
我過去就曾多次指出,自由/開源軟件的全部技術(shù)是由全部開放的源代碼所表征的公開性技術(shù)和不公開的工程化實現(xiàn)技術(shù)(或?qū)S屑夹g(shù)、隱性技術(shù)、工程經(jīng)驗、測試技術(shù)和商業(yè)秘密)所構(gòu)成的共生技術(shù)。共生技術(shù)的兩部分都含有核心技術(shù),一部分是公開的,集體開發(fā)、合作創(chuàng)新的;另一部分是不公開的,可進(jìn)行自主開發(fā),自主創(chuàng)新的。
國外一些Linux企業(yè)對其某些自動編譯工具,自動缺陷顯示工具,在CD盤上軟件模塊自動集成環(huán)境,以及某些自動測試工具,一般也是不開放的。
孤立地推出Linux操作系統(tǒng)(產(chǎn)品)還是不夠的,它必須要與IHVs、ISVs、SIs配套、集成,形成生態(tài)系統(tǒng),即在相互連接的界面上要實行兼容、互操作,為終用戶提供共同的技術(shù)支持,為此必須讓這些配套廠商對Linux操作系統(tǒng)進(jìn)行嚴(yán)格的“質(zhì)量認(rèn)證”(測試工作),從認(rèn)證測試中發(fā)現(xiàn)問題,進(jìn)一步修改完善設(shè)計,這是改進(jìn)產(chǎn)品性能,提高產(chǎn)品質(zhì)量必不可少的條件(順便指出,測試技術(shù)是開源產(chǎn)品開發(fā)設(shè)計的重要手段)。目前,一些國內(nèi)的Linux廠商正在與國內(nèi)外有關(guān)配套商協(xié)同展開這方面工作,但工作展開面還遠(yuǎn)遠(yuǎn)不夠。
另外,開源軟件的產(chǎn)品性能還存在一個不斷改進(jìn)、完善,不斷深化、升級的動態(tài)過程,因此要持續(xù)不斷進(jìn)行“社區(qū)開發(fā)”與“企業(yè)開發(fā)”兩個相互銜接、互相補充、不斷循環(huán)的開發(fā)過程,要在開發(fā)設(shè)計的不同階段開展各種測試(專項測試、開發(fā)測試、編譯測試、二進(jìn)制回歸測試、社區(qū)版測試、產(chǎn)品版測試、用戶質(zhì)量認(rèn)證和應(yīng)用測試)和糾錯工作,以及不斷按生態(tài)系統(tǒng)進(jìn)行集成測試和糾錯工作。以便改進(jìn)、完善、提升開源軟件的開發(fā)設(shè)計。
一些外來的Linux操作系統(tǒng)(產(chǎn)品發(fā)布版),由于對中文環(huán)境的二次開發(fā)不足,在國內(nèi)本地市場上的適用性也遇到一些問題。
提高國內(nèi)開源軟件開發(fā)設(shè)計水平,要從大學(xué)生的教育培訓(xùn)抓起。近年來,國內(nèi)已有上百所大學(xué)開設(shè)了Linux/OSS課程,這是可喜的現(xiàn)象。我看關(guān)鍵是要培養(yǎng)學(xué)生的“動手能力”,初步積累“工程經(jīng)驗”。斯坦福大學(xué)的做法值得我們借鑒:他們選擇一個小化的Linux操作系統(tǒng)(約100K左右),輔導(dǎo)學(xué)生開發(fā)設(shè)計(一個學(xué)期能出成果),目標(biāo)是要放在PC機上能跑,(而不是在仿真/模擬器上跑)。
總之,自由/開源軟件是一種低成本(由于全部源代碼開放,構(gòu)成整個軟件的“程序”,以及“文檔”,通常是可以免費的)、高透明(可增加用戶信任度)的軟件;是鼓勵全球志愿者廣泛參與開發(fā)的軟件;在自由/開源軟件中,存在著公開與不公開的共生技術(shù),存在著“社區(qū)開發(fā)”和“企業(yè)開發(fā)”銜接互補的兩種機制,具有“集體開發(fā)、合作創(chuàng)新”和“自主開發(fā)、自主創(chuàng)新”共存的特點。我們要澄清一些概念,理清思路,抓住機遇,明確創(chuàng)新路線,發(fā)展開源軟件,并推動我國系統(tǒng)軟件的自主開發(fā)創(chuàng)新。
開源是中國軟件創(chuàng)新的機遇
更新時間: 2006-08-04 17:56:33來源: 粵嵌教育瀏覽量:576
推薦閱讀
- ·摩通傳動(深圳)有限公司專場招聘會
- ·廣州2515嵌入式開發(fā)就業(yè)班
- ·嵌入式系統(tǒng)代碼功耗與內(nèi)存優(yōu)化策略
- ·粵嵌科技深度參與第二屆全國大學(xué)生職業(yè)規(guī)劃大賽,以產(chǎn)教融合助力高質(zhì)量就業(yè)
- ·移遠(yuǎn)通信科技有限公司專場招聘會
- ·嵌入式系統(tǒng)設(shè)計的核心技術(shù)挑戰(zhàn)與創(chuàng)新實踐
- ·嵌入式實時操作系統(tǒng)的任務(wù)調(diào)度優(yōu)化策略與實踐
- ·湖北精實機電科技有限公司專場招聘會(長沙校區(qū))
- ·信號量與互斥鎖在資源競爭中的協(xié)同控制機制
- ·粵嵌科技2025年中總結(jié)大會召開——擘畫產(chǎn)教融合新藍(lán)圖