深思 | 國產(chǎn)軟件發(fā)展,我們能做什么?
軟件國產(chǎn)化,是中國軟件工程人的一場突圍戰(zhàn)。如何在夾縫中求生存,在飽和的生態(tài)圈中拼出自己的位置,是我們這一代國產(chǎn)軟件開發(fā)者必須要解決的問題。從軟件工程的角度和大家探討國產(chǎn)軟件的發(fā)展現(xiàn)狀、困境與未來。
一、國產(chǎn)軟件發(fā)展現(xiàn)狀
SUMMER
目前,國產(chǎn)軟件的發(fā)展在關(guān)鍵基礎(chǔ)軟件領(lǐng)域相對落后。這體現(xiàn)在操作系統(tǒng)、數(shù)據(jù)庫以及依托自主操作系統(tǒng)的集成開發(fā)環(huán)境、編譯器、驅(qū)動程序、資源管理程序等軟件發(fā)展尚不成熟,并未形成規(guī)模。關(guān)鍵基礎(chǔ)軟件是整個軟件體系中最基礎(chǔ)、最底層的部分。國產(chǎn)軟件在該領(lǐng)域發(fā)展較慢,原因是多方面的。除了技術(shù)方面的原因之外,另一個重要原因是軟件的發(fā)展需要建立自己的生態(tài)環(huán)境。正如種子的開花結(jié)果離不開土壤,一款軟件要想生存就要培養(yǎng)自己的用戶群體。國外軟件發(fā)展較早,搶先占據(jù)了很大部分的市場份額,導(dǎo)致國產(chǎn)軟件的生態(tài)環(huán)境十分有限,無法形成從軟件開發(fā)、用戶反饋到軟件迭代升級的良性循環(huán)。

圖1 市場上常見的三種操作系統(tǒng)
二、軟件國產(chǎn)化面臨的“卡
SUMMER
在軟件國產(chǎn)化方面,國產(chǎn)軟件主要面臨以下四個“卡脖子”難題:
1、軟件生態(tài)環(huán)境有限
一款軟件不是獨(dú)立存在的。以操作系統(tǒng)軟件為例,如果一個操作系統(tǒng)不支持目前常用的社交軟件、通訊軟件或娛樂軟件,那用戶很可能因為自身的使用習(xí)慣和需要而放棄這個操作系統(tǒng)。只有形成一套完整的生態(tài)環(huán)境,才能保證軟件長期存活與發(fā)展。
2、硬件支撐不足
軟件與硬件相輔相成,軟件的運(yùn)行離不開硬件資源的支持。操作系統(tǒng)軟件需要調(diào)度硬件接口,影視制作和游戲軟件需要針對不同的硬件資源進(jìn)行性能優(yōu)化。因此,國產(chǎn)設(shè)備在硬件上受到的約束最終也會對軟件層面產(chǎn)生影響。當(dāng)前,由于國外勢力的制裁,國產(chǎn)高性能芯片的發(fā)展受到了制約。國產(chǎn)軟件在性能較差的芯片上運(yùn)行,會導(dǎo)致在拓展軟件功能和提升用戶體驗方面遇到瓶頸。

圖2 由中芯國際代工的麒麟710A芯片
3、工業(yè)領(lǐng)域裝備的缺乏
目前,我國在一些高精尖的工業(yè)領(lǐng)域裝備(如光刻機(jī))上遇到了“卡脖子”難題。這些高精尖裝備所對應(yīng)的控制軟件的發(fā)展也因此受到了阻礙。另外,航空航天等領(lǐng)域的裝備及其配套儀器同樣需要軟件和控制系統(tǒng)的支持。在這些軟件上,國產(chǎn)軟件的發(fā)展也相對滯后。工業(yè)領(lǐng)域裝備的缺乏使得配套軟件的生態(tài)無法形成閉環(huán)。產(chǎn)業(yè)鏈和供應(yīng)鏈的缺口以及用戶圈的狹窄使得工業(yè)配套軟件的發(fā)展受阻。
4、人才方面的匱乏
目前國內(nèi)高校的學(xué)生,甚至高校老師,都在使用國外的軟件,所接受的也多是與國外軟件相關(guān)的教育。這使得我們在做軟件國產(chǎn)化時需要面對生態(tài)圈變化所帶來的陣痛與不適應(yīng)。我們中國的軟件人才能否拿出勇氣去面對這種陣痛并克服這種不適應(yīng),是影響軟件國產(chǎn)化進(jìn)程的重要因素。
三、從軟件工程的角度如何解決以上難題
SUMMER
要解決軟件生態(tài)環(huán)境有限的難題,需要把軟件生命周期與用戶的需求緊緊捆綁在一起。軟件工程是一門用工程化方法構(gòu)建和維護(hù)高質(zhì)量軟件的學(xué)科。在需求調(diào)研、分析設(shè)計、實施開發(fā)、運(yùn)營維護(hù)的全流程中,軟件工程師需要充分考慮并滿足用戶對于軟件生態(tài)的需求。例如,在確定一個國產(chǎn)操作系統(tǒng)的落地技術(shù)方案時,要考慮該方案能否支持國產(chǎn)數(shù)據(jù)庫、開發(fā)工具等國產(chǎn)軟件。只有從軟件工程的角度把支持國產(chǎn)化生態(tài)這一需求融入軟件生命周期的全流程中,才能解決這一難題。
在高精尖裝備配套軟件領(lǐng)域,我國目前的技術(shù)基礎(chǔ)比較薄弱。例如邊緣計算、航空航天等領(lǐng)域,很少有國產(chǎn)軟件或架構(gòu)。這些高精尖領(lǐng)域的配套軟件大部分是軍工開放的,或者直接使用國外知名機(jī)構(gòu)和網(wǎng)絡(luò)開源的產(chǎn)品。國內(nèi)雖然也有團(tuán)隊研發(fā)了一些平臺和架構(gòu),但是推廣力度不大。因此,從軟件工程的角度,首先要有更多人去研究和開發(fā)這種架構(gòu)和軟件,而不是過度依賴國外現(xiàn)有的或是開源的軟件。另外,要積極推廣現(xiàn)有的軟件成果,加大宣傳力度,讓更多人了解和使用我國自主研發(fā)的軟件。

圖3?Linux:一種可以免費(fèi)使用和自由傳播的
類UNIX操作系統(tǒng)
國產(chǎn)軟件的開發(fā)離不開安全問題,隨著先進(jìn)裝備的軟件化程度不斷提升,由軟件缺陷和漏洞引發(fā)的安全問題日益凸顯,必須引起高度重視。在目前大環(huán)境下,國產(chǎn)自主可控的軟件測試工具就顯得至關(guān)重要。
凱云科技推出的國內(nèi)首款符合ATML標(biāo)準(zhǔn)的國產(chǎn)自主可控的半實物仿真測試系統(tǒng)集成開發(fā)環(huán)境ETest,具有跨平臺的運(yùn)行能力,可利用ETest開發(fā)出運(yùn)行于國產(chǎn)計算平臺測試系統(tǒng),廣泛應(yīng)用于第三方測試機(jī)構(gòu)的測試環(huán)境搭建、裝備研制部門的測試工裝開發(fā)以及檢測設(shè)備研發(fā)單位的產(chǎn)品研制。

目前,凱云科技已經(jīng)為航空航天、船舶、兵器等軍工行業(yè)研發(fā)制造單位以及軌道交通、汽車、醫(yī)療等領(lǐng)域的多家企業(yè)提供測試/測控解決方案。主要客戶包括中核集團(tuán)、中國航天科工集團(tuán)、中國兵器工業(yè)集團(tuán)、中國船舶、中航工業(yè)、中國電子、中國電科、中國中車、中國能建、廣汽傳祺、長城汽車等行業(yè)領(lǐng)軍企業(yè)。
四、國產(chǎn)軟件的發(fā)展趨勢
SUMMER
盡管面臨重重困難,國產(chǎn)軟件的發(fā)展還是充滿希望的。這與我國的大國體制和制度優(yōu)勢密切相關(guān)。在黨的領(lǐng)導(dǎo)下,我國具備集中力量辦大事的優(yōu)勢,有能力完成包含軟件國產(chǎn)化在內(nèi)的一個又一個偉大事業(yè)。隨著國家對國產(chǎn)軟件的重視,大量資源流入軟件工程。相信在全社會的群策群力下,國產(chǎn)軟件一定能克服發(fā)展過程中的種種難題,更上一層樓。
軟件工程領(lǐng)域的工作者一定要樹立自立自強(qiáng)的觀念,不能因為國外現(xiàn)有的軟件使用方便就不去研究國產(chǎn)軟件,更不能因為在一些軟件上沒有被卡過脖子,就居安而不思危。隨著軟件國產(chǎn)化被擺在越來越高的戰(zhàn)略高度,我們每個軟件工程人更要提高自身覺悟,投入更多的時間和精力到國產(chǎn)軟件的研發(fā)中。一些企業(yè)之前可能迫于生存和盈利的壓力放棄了國產(chǎn)軟件的開發(fā),但是隨著越來越多相關(guān)政策的出臺,國有軟件的發(fā)展將迎來重大變革機(jī)遇。
五、高等教育如何適應(yīng)產(chǎn)學(xué)研深度融合新模式
SUMMER
高校教師不能局限于紙上談兵,不能只待在學(xué)校里讀國外文獻(xiàn)和產(chǎn)品說明書、教學(xué)生使用國外軟件,而是需要深入國產(chǎn)軟件企業(yè),看看國產(chǎn)軟件生產(chǎn)線和產(chǎn)品。在親身調(diào)研后,高校教師需要制定有關(guān)國產(chǎn)軟件的教學(xué)方案,逐步引導(dǎo)學(xué)生從事國產(chǎn)軟件方面的實踐和實訓(xùn)。
一方面,學(xué)校要鼓勵教師和學(xué)生走進(jìn)企業(yè),讓學(xué)生學(xué)到真正接地氣的東西。學(xué)校課程應(yīng)與國產(chǎn)軟件深度融合,培養(yǎng)貼近產(chǎn)業(yè)需要的學(xué)生。另一方面,企業(yè)專家要走進(jìn)高校,與高校學(xué)生交流互動,讓學(xué)生將課堂上學(xué)到的知識應(yīng)用到實踐中,彌補(bǔ)高校教師在實踐經(jīng)驗上的不足。