最近也看了關(guān)于國(guó)產(chǎn)自主知識(shí)產(chǎn)權(quán)的操作系統(tǒng)COS的一些爭(zhēng)論,尤其是有人拿到真機(jī)用同步工具看到其為Android 4.1.2后,網(wǎng)友討論異常激烈。但無非就是兩種觀點(diǎn):一是就是安卓,做的皮膚+內(nèi)置App而已;另外一種就是說為了兼容安卓而做的虛擬層,所以同步工具認(rèn)為是Android 4.1.2。 但是我們跳出圈子想一想,到底什么才是自主研發(fā),自主知識(shí)產(chǎn)權(quán)呢? 其實(shí)從法律層面來說,只要拿到了產(chǎn)權(quán)局辦法的知識(shí)產(chǎn)權(quán)證,就算是有自主知識(shí)產(chǎn)權(quán)。哪怕這后面有金錢交易,甚至是拿刀架在局長(zhǎng)脖子上強(qiáng)迫他發(fā)證。總之只要證件到手,都是合法自主知識(shí)產(chǎn)權(quán)。 不過,就如同專利一樣。不是每個(gè)合法專利都會(huì)為社會(huì)做出有用的貢獻(xiàn)。就軟件工程對(duì)社會(huì)貢獻(xiàn)領(lǐng)域來講,什么才是自主研發(fā)呢? 我們先來回憶一下什么是操作系統(tǒng)?操作系統(tǒng)是管理和控制計(jì)算機(jī)硬件與軟件資源的計(jì)算機(jī)程序。也就是說,操作系統(tǒng)是硬件和應(yīng)用軟件(App)之間的橋梁。而一般操作系統(tǒng)都實(shí)現(xiàn)了硬件相關(guān)接口,定制一套軟件SDK,供其他人開發(fā)該系統(tǒng)的應(yīng)用軟件。 而COS系統(tǒng),退一步講,他就算是自主研發(fā),只是因?yàn)榧嫒軦ndroid而讓同步工具識(shí)別成安卓,那么我不禁想問,COS的開發(fā)文檔在哪兒?找遍了COS官網(wǎng)也沒有見到SDK的影子。如果沒有SDK,如何為其開發(fā)App?難道只能運(yùn)行安卓應(yīng)用?那么他到底是不是安卓? 相關(guān)專家說了,我們確實(shí)參考了開源的安卓系統(tǒng),借鑒而來,而不是抄襲。那我能不能這么理解,把安卓的源碼的所有變量名由英文改成拼音,重新編譯,就算做自主研發(fā)?因?yàn)槊恳恍写a都不同(變量名改了)。 軟件目前來看,是為了適應(yīng)安卓而生,硬件呢?我們看到樣機(jī)就是HTC蝴蝶。那么一個(gè)軟件和硬件都是為了適應(yīng)現(xiàn)有的體系而產(chǎn)生,豈不是為了“自主”而“自主”嗎?有哪個(gè)操作系統(tǒng)既不制定自己的硬件規(guī)范,也不制定自己的軟件規(guī)范的? 那么什么才是真正的“自主研發(fā)”操作系統(tǒng)呢?我們看一下目前主流的操作系統(tǒng)現(xiàn)狀: Windows,規(guī)定必須運(yùn)行在符合x86架構(gòu)的PC機(jī)上,由于店大欺客,甚至制定了DirectX、BootSecurity等硬件標(biāo)準(zhǔn),有自己的編譯器,可以運(yùn)行基于MFC、.net、等應(yīng)用程序框架開發(fā)的應(yīng)用程序,有完善開發(fā)文檔; OS X,必須運(yùn)行在Mac機(jī)上(雖然改用Intel處理器后可以破解安裝到PC上但極不穩(wěn)定),制定了UEFI引導(dǎo)模式、HFS+分區(qū)格式、Darwin內(nèi)核,可以運(yùn)行基于Corbon或者cocoa開發(fā)框架開發(fā)的應(yīng)用程序,有完善開發(fā)文檔; Android,有一系列硬件規(guī)范,制定了Android SDK,NDK,雖然用Android語言,但是基于Android SDK可以開發(fā)適合小屏幕和移動(dòng)設(shè)備的應(yīng)用程序; iOS,只能安裝并部分固化在蘋果移動(dòng)設(shè)備上,基于OS X簡(jiǎn)化而來,可以運(yùn)行cocoa開發(fā)框架開發(fā)的應(yīng)用程序,并且有AppStore為開發(fā)者提供了軟件銷售的平臺(tái),讓開發(fā)者一心撲在軟件開發(fā)上。 我們?cè)倏碈OS,硬件基于現(xiàn)有手機(jī),軟件雖兼容安卓,但現(xiàn)在看起來只兼容安卓,并沒有看到自己的開發(fā)框架和技術(shù)文檔。那么就算是源碼為一行行自己寫來,那么我們能認(rèn)為他是能為社會(huì)提供貢獻(xiàn)的自主研發(fā)和自主知識(shí)產(chǎn)權(quán)軟件工程嗎? 不過,介于之前《中國(guó)要培養(yǎng)若干個(gè)喬布斯》一問,我們應(yīng)該能判定這些人本身就還在應(yīng)試教育的誤區(qū)內(nèi)。開發(fā)軟件的目的并不是要解決問題,改善生活。而是為了滿足“我們要有”而開發(fā)。 |