跟行業(yè)內(nèi)的朋友交流,對國產(chǎn)操作系統(tǒng)的開發(fā)和推廣,有一些個人的觀點,分享出來,歡迎朋友們批評和討論。
以下是我個人的一些思考,基于個人對行業(yè)的粗淺理解,以及個人在推動物聯(lián)網(wǎng)操作系統(tǒng)時遇到的問題的總結(jié)。觀點不一定準確,有的甚至有些偏激,目的在于交流碰撞,“拋磚引玉”,以形成更好的思路,把我國的基礎(chǔ)軟件事業(yè)做得更好。
物聯(lián)網(wǎng)是一個絕好的機會點
個人PC電腦,智能手機,已經(jīng)形成穩(wěn)固的壟斷局面,并形成了相對完善的產(chǎn)業(yè)鏈和生態(tài)系統(tǒng),按照Gartner的Hype Cycle技術(shù)曲線,個人電腦和智能手機已進入穩(wěn)定成熟的產(chǎn)品化應用階段,切入的成本會非常高,而且成功的概率非常低,因此不建議發(fā)展該領(lǐng)域的操作系統(tǒng),而是采取研究和微創(chuàng)新的原則,把現(xiàn)有的成熟操作系統(tǒng)(Windows,Linux,Android等)理解透,具備內(nèi)核級的定制能力。同時結(jié)合具體應用,在某一個核心點上進行加強,比如安全和可靠性等。
而物聯(lián)網(wǎng)則屬新興行業(yè),其特征尚不明朗,存在巨大的機會。縱觀系統(tǒng)軟件的發(fā)展歷史,可以看出任何一款成功的操作系統(tǒng),必然是在一個硬件(或應用)轉(zhuǎn)折點上發(fā)展起來。最初的大型計算機,促成了UNIX的發(fā)展壯大,而以文件服務器為核心的局域網(wǎng)時代,則促成了NetWare的發(fā)展和壯大。再后來到了個人計算機時代,強調(diào)簡便易用和圖形處理,于是Windows發(fā)展起來了。接下來就是移動互聯(lián)網(wǎng)及處理器技術(shù)大發(fā)展,智能手機具備了基礎(chǔ)的應用環(huán)境,于是iOS和Android發(fā)展壯大了。所有這些機會,中國都沒有抓住。這與當時的經(jīng)濟水平和國內(nèi)整體軟件水平也有關(guān)系。
現(xiàn)在到了物聯(lián)網(wǎng)這個轉(zhuǎn)折點上,歷史又給中國的系統(tǒng)軟件事業(yè)創(chuàng)造了一個千載難逢的機會。首先,物聯(lián)網(wǎng)所具備的特征(硬件碎片化,本地交互協(xié)同,智能硬件具備自學習能力等),傳統(tǒng)操作系統(tǒng)無法滿足。就連Linux的創(chuàng)始人Linus也承認,Linux無法適應物聯(lián)網(wǎng)這種碎片化的應用環(huán)境,需要尋找另外的替代方案。其次,我國的經(jīng)濟已經(jīng)發(fā)展到足以支撐在基礎(chǔ)軟件領(lǐng)域大有作為的水平,整體行業(yè)的認知,國內(nèi)的消費和應用,都為操作系統(tǒng)提供了堅實的應用環(huán)境。最后,經(jīng)過十幾年的學習,實踐和積累,中國已經(jīng)具備了很高水平的基礎(chǔ)軟開發(fā)和理解能力,尤其是操作系統(tǒng),在技術(shù)上已沒有太多的門檻。如果能夠有效地整合起包括民間和國家層面的開源力量,必然能夠開發(fā)出非常優(yōu)秀的操作系統(tǒng)。
在這樣一個“天時,地利,人和”具備的機會點上,如果我們能夠抓住,那么很可能會做出“兩彈一星”,“中國航天”,“電信高鐵”等一樣的水平,為中國民族的復興做出可以銘記的貢獻。
堅持自主創(chuàng)新,自主開發(fā),代碼開源
操作系統(tǒng)本身就是一堆程序,本身的價值不大。但是它卻凝聚了對行業(yè)的理解和沉淀。因此,要開發(fā)自主操作系統(tǒng),必須對操作系統(tǒng)應用的行業(yè),要有一個深切深入的理解,或者對行業(yè)未來的準確判斷。把對行業(yè)的理解和判斷,以代碼的形式表現(xiàn)出來,沉淀到操作系統(tǒng)當中。這樣逐步積累,修訂,完善,改進,最終就會達到質(zhì)變的臨界點。
而要做到這一步,唯一的手段就是創(chuàng)新。通過與行業(yè)進行廣泛深入的交流,綜合,提煉,抽象,形成共性的觀點,架構(gòu),算法。然后把這些東西固化為代碼,就形成了具備靈魂的操作系統(tǒng)。這就是創(chuàng)新。只有在這些創(chuàng)新成果的支撐下,操作系統(tǒng)之間才能形成差異化和競爭力,才會逐漸的凝聚上下游的合作伙伴,最終形成一個生態(tài)鏈。
而這部分基于創(chuàng)新的開發(fā)工作,是無現(xiàn)有成果可以借鑒的,而且這部分開發(fā)工作,也是占操作系統(tǒng)開發(fā)比重最大的部分。
對于成熟模塊的開發(fā),比如內(nèi)核,關(guān)鍵的硬件驅(qū)動程序,文件系統(tǒng),GUI等,個人的觀點是盡量不要借用開源實現(xiàn),而是自行從頭開發(fā)。主要有下列考慮因素:
1. 雖然這些模塊的功能相似性非常大,但是在迎合一些關(guān)鍵需求的時候,還是會表現(xiàn)出巨大差異。如果借用開源實現(xiàn),很可能會出現(xiàn)與應用無法調(diào)和的矛盾;