2. 尤其是內(nèi)核,當(dāng)前行業(yè)已經(jīng)形成了一種印象,只要是借用成熟內(nèi)核(比如Linux),就不是自主開發(fā)的,哪怕自主開發(fā)的代碼大大超過了內(nèi)核本身。相反,如果自主開發(fā)一個(gè)內(nèi)核,在此基礎(chǔ)上,移植業(yè)界已有的外圍模塊的實(shí)現(xiàn),哪怕內(nèi)核代碼占比微不足道,也會(huì)被認(rèn)為是自主開發(fā)。因此,自主開發(fā)內(nèi)核,盡量借用已有外圍實(shí)現(xiàn),是一種可行的策略;
3. 基礎(chǔ)模塊的開發(fā)成本和難度都不會(huì)太大。一個(gè)功能完善的內(nèi)核,其代碼量不會(huì)超過100萬行。這樣的工作量,對(duì)大多數(shù)有志于操作系統(tǒng)開發(fā)的單位或公司,都是可以接受的。
當(dāng)前開源文化已深入人心,通過開源,可以充分調(diào)動(dòng)大量的開源力量投入進(jìn)來,一起完善和優(yōu)化操作系統(tǒng)。雖然真正能夠貢獻(xiàn)核心代碼的支援力量非常少(按照我個(gè)人的統(tǒng)計(jì),大約200:1),但是大量的使用者和測試者,可以幫助快速發(fā)現(xiàn)問題,幫助產(chǎn)品快速完善成熟。
內(nèi)部可以保留一份非開源版本,在安全上進(jìn)行深入優(yōu)化,迎合一些對(duì)安全需求苛刻的應(yīng)用場合。
產(chǎn)業(yè)鏈的構(gòu)筑非常關(guān)鍵,但是也沒有想象的那么難
廣泛的產(chǎn)業(yè)鏈支持是操作系統(tǒng)成功的關(guān)鍵,包括應(yīng)用程序?qū)用娴漠a(chǎn)業(yè)鏈,以及硬件支持方面的產(chǎn)業(yè)鏈。對(duì)于個(gè)人計(jì)算機(jī)操作系統(tǒng),以及智能手機(jī)操作系統(tǒng),應(yīng)用產(chǎn)業(yè)鏈?zhǔn)呛诵模渲匾赃h(yuǎn)遠(yuǎn)大于硬件產(chǎn)業(yè)鏈。但是對(duì)物聯(lián)網(wǎng)這種應(yīng)用場景,主要瞄準(zhǔn)的是機(jī)器與機(jī)器之間的交互,機(jī)器與人之間的交互需求大大降低,因此應(yīng)用層面的產(chǎn)業(yè)鏈反而不是非常關(guān)鍵,但是硬件產(chǎn)業(yè)鏈卻非常重要。
要得到產(chǎn)業(yè)鏈的支持,尤其是硬件廠商的支持,根據(jù)我個(gè)人的經(jīng)驗(yàn),開發(fā)的工作量不是很大。譬如一個(gè)網(wǎng)卡廠商,為一個(gè)新的OS適配一個(gè)驅(qū)動(dòng)程序,一個(gè)熟練的工程師,一個(gè)星期基本可以搞定。這點(diǎn)成本是微乎其微的。
但最大的門檻,還是“認(rèn)同”。如果自主研發(fā)的操作系統(tǒng)具備核心價(jià)值,這種核心價(jià)值能夠得到認(rèn)同,那么自然就會(huì)有越來越多的廠商靠攏過來,逐漸就會(huì)形成一個(gè)產(chǎn)業(yè)鏈。因此,歸根結(jié)底,操作系統(tǒng)成功的要素,仍然是“選中應(yīng)用場景,做出核心價(jià)值”。