<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 專題 > “自主”手機(jī)操作系統(tǒng):如何判定及怎么做

          “自主”手機(jī)操作系統(tǒng):如何判定及怎么做

          作者:魏永明 時(shí)間:2012-11-30 來(lái)源:電子產(chǎn)品世界 收藏

            二、“自主”考核政策之殤:生態(tài)系統(tǒng)才是活下去的關(guān)鍵

          本文引用地址:http://www.ex-cimer.com/article/139576.htm

            根據(jù)上面的分析,看來(lái)我們還真的需要有“自主”的操作系統(tǒng)。但是,“自主”到底是自主什么呢?

            在功能手機(jī)和實(shí)時(shí)嵌入式系統(tǒng)領(lǐng)域,我們不是沒(méi)有“自主”的操作系統(tǒng),比如MTK或者展訊的操作系統(tǒng),以及諸如早期的Hopen、道系統(tǒng)等。在通用操作系統(tǒng)領(lǐng)域,國(guó)家也長(zhǎng)期支持了諸如麒麟操作系統(tǒng)、紅旗Linux、中標(biāo)Linux、新華Linux等多家本土操作系統(tǒng)廠商。但市場(chǎng)表明,國(guó)家支持的這些操作系統(tǒng)都將消亡或者正在消亡。

            本人認(rèn)為,國(guó)家支持下進(jìn)行“自主”操作系統(tǒng)開發(fā)的確有合理之處,畢竟開發(fā)操作系統(tǒng)是一件比較困難的事情。但是,這里邊有一個(gè)重要的誤區(qū)和制度設(shè)計(jì)上的錯(cuò)誤,就是只強(qiáng)調(diào)了“自有知識(shí)產(chǎn)權(quán)”,而沒(méi)有強(qiáng)調(diào)“自己主導(dǎo)”。

            在強(qiáng)調(diào)“自由知識(shí)產(chǎn)權(quán)”的情況下,政府對(duì)受資助企業(yè)的“自主”操作系統(tǒng)進(jìn)行考核時(shí),大部分情況下考核的是企業(yè)有沒(méi)有獲得對(duì)應(yīng)的知識(shí)產(chǎn)權(quán),就是軟件的著作權(quán)和/或?qū)?yīng)的專利,而并沒(méi)有考核能否主導(dǎo)一個(gè)產(chǎn)業(yè)鏈。受資助的企業(yè),能否類似谷歌控制產(chǎn)業(yè)鏈一樣,做到讓別人用了你的操作系統(tǒng),就沒(méi)法不繼續(xù)用下去?在這樣的思路下,政府需要在更長(zhǎng)的周期內(nèi),考核受資助企業(yè)的市場(chǎng)份額是否有擴(kuò)大,是否建立了良好的生態(tài)系統(tǒng),讓使用者、開發(fā)者欲罷不能,而不是簡(jiǎn)單的著作權(quán)證書和專利數(shù)量,或者是否達(dá)到了一個(gè)給定的出貨量(因?yàn)槌鲐浟渴强梢宰骷俚?。

            也就是說(shuō),我們應(yīng)該重新定義“自主”這兩個(gè)字,從“自有知識(shí)產(chǎn)權(quán)”向“有效知識(shí)產(chǎn)權(quán)保護(hù)下的自己主導(dǎo)”轉(zhuǎn)移。

            為什么這里強(qiáng)調(diào)“有效知識(shí)產(chǎn)權(quán)”呢?這是因?yàn)?,在開源軟件成為趨勢(shì)的情況下,構(gòu)建一個(gè)自己的操作系統(tǒng),可以使用很多已有的開源軟件,我們沒(méi)有必要所有代碼都自己編寫,而且越底層的代碼就越?jīng)]有必要自己重寫一遍。這如同一只桃子,好吃的是果肉,而不是果核。像內(nèi)核、基礎(chǔ)庫(kù)、常用運(yùn)行時(shí)函數(shù)庫(kù)等等,都不必自己重新開發(fā)。而且這么做幾乎沒(méi)有任何潛在的法律問(wèn)題,當(dāng)然,前提是你要告訴大家你用了哪些開源軟件,而且你也尊重了這些開源軟件的許可證。這樣下來(lái),一個(gè)操作系統(tǒng)的軟件著作權(quán)已經(jīng)不再重要,重要的是相關(guān)的專利、自己獨(dú)有的創(chuàng)新以及圍繞操作系統(tǒng)建立起來(lái)的生態(tài)系統(tǒng)。

            

           

            三、如何判定一個(gè)操作系統(tǒng)是否“自主”:阿里云算不算?

            那么,“自主”操作系統(tǒng)應(yīng)該長(zhǎng)什么樣?要回答這個(gè)問(wèn)題,我們先看看假的“自主”操作系統(tǒng)長(zhǎng)什么樣。所謂假的“自主”操作系統(tǒng),就是那些號(hào)稱“自主”操作系統(tǒng),但其實(shí):

            ·只是在已有的開源操作系統(tǒng)之上加了一層皮。比如各種基于的第三方ROM,比如MIUI、Flyme等。這種操作系統(tǒng)僅僅在UI/UE上做了一些工作,就如同一個(gè)人換了一身衣服那樣,實(shí)質(zhì)上這個(gè)人不會(huì)因?yàn)閾Q了一身衣服而從張三改叫成李四。

            ·修改了已有開源操作系統(tǒng)的內(nèi)部代碼,做了一些優(yōu)化或者去掉了別人的一些東西,添加了一些自己的內(nèi)容。比如阿里就屬于這種,或者哪些號(hào)稱深度定制的系統(tǒng)也屬此類。這種做法如同整容,的確動(dòng)了些刀子,甚至改變了性別,但人還是那人,改了名字或性別也還是那人。

            這么類比下來(lái),讀者應(yīng)該就知道了,真的“自主”操作系統(tǒng),必須要有自己的靈魂,通俗一點(diǎn)講,不是換衣服或者整容,只有換了腦袋的才能是一個(gè)全新的個(gè)體。

            那么在操作系統(tǒng)當(dāng)中,什么東西是靈魂?這個(gè)問(wèn)題回答起來(lái)蠻難的。我們先看看哪些東西肯定不屬于靈魂:

            無(wú)法形成有效知識(shí)產(chǎn)權(quán)的軟件組件,或者說(shuō),滿世界有很多(開源的)實(shí)現(xiàn)的軟件組件。比如內(nèi)核、基礎(chǔ)函數(shù)庫(kù)、網(wǎng)絡(luò)協(xié)議、圖形庫(kù)、瀏覽器引擎等等。這些東西可以看成是形成一個(gè)智能動(dòng)物(比如“人”)的骨架或者軀體、甚至心臟,但遠(yuǎn)遠(yuǎn)算不上腦袋或者靈魂。這也是為什么筆者主張?jiān)?ldquo;自主”操作系統(tǒng)中要盡量使用現(xiàn)有的成熟開源軟件、而且不建議再行發(fā)明此類輪子的原因。

            要知道哪些東西是靈魂,我們分析下谷歌在和阿里爭(zhēng)論的過(guò)程中主要維護(hù)的是什么東西:

            谷歌的說(shuō)法:阿里云采用了的虛擬機(jī)和Framework,但又不兼容Android,破壞了Android的生態(tài)系統(tǒng)。這個(gè)說(shuō)法可能還不是谷歌打壓阿里OS的最關(guān)鍵原因,但起碼說(shuō)出了他們的擔(dān)憂:阿里OS是想借Android打造自己的一個(gè)生態(tài)系統(tǒng)!但除此之外,谷歌對(duì)那些只換衣服的Android系統(tǒng)則采取聽之任之的態(tài)度,和他們一貫以來(lái)標(biāo)榜的“只要兼容,我們歡迎”的態(tài)度一致——也就是說(shuō),這些系統(tǒng)沒(méi)有從根本上動(dòng)搖谷歌的生態(tài)系統(tǒng)。

            所以,真正的“自主”操作系統(tǒng)的靈魂,就是那個(gè)背后的、無(wú)形的生態(tài)系統(tǒng),一個(gè)看似開放但其實(shí)封閉的生態(tài)系統(tǒng)。一旦加入這個(gè)生態(tài)系統(tǒng),你就很難下來(lái)——正所謂“上了賊船下不來(lái)”。

            這就是我的回答:一個(gè)真正“自主”的操作系統(tǒng),必須建立自己的生態(tài)系統(tǒng),一個(gè)開放的,但在某種程度上又封閉的生態(tài)系統(tǒng)。

            操作系統(tǒng)生態(tài)系統(tǒng)?這名詞大家說(shuō)了很多年了,一個(gè)生態(tài)系統(tǒng)具體應(yīng)該是什么樣子?筆者從如下幾個(gè)方面解釋一下:

            技術(shù)層面。操作系統(tǒng)必須通過(guò)某種技術(shù)將自己和其他的操作系統(tǒng)區(qū)隔開來(lái)。比如Android采用Java語(yǔ)言,但使用了不同于Sun(現(xiàn)在是Oracle)JDK的API;iOS采用了ObjectC語(yǔ)言,為應(yīng)用程序提供的接口和框架甚至有別于蘋果自己的Mac OS X;Windows Phone采用了C#語(yǔ)言,在.Net框架下進(jìn)行開發(fā)。為什么這些操作系統(tǒng)不使用C/C++這類語(yǔ)言呢,C/C++尤其是C可是這些操作系統(tǒng)內(nèi)核的編程語(yǔ)言啊!?這里有如下幾個(gè)原因:

            操作系統(tǒng)開發(fā)者不希望普通的應(yīng)用程序通過(guò)使用比較低級(jí)的編程語(yǔ)言來(lái)控制系統(tǒng)或設(shè)備,畢竟操作系統(tǒng)是給智能手機(jī)、平板電腦這種消費(fèi)類的電子設(shè)備使用的;通過(guò)采用更加高級(jí)的語(yǔ)言來(lái)簡(jiǎn)化編程和開發(fā)人員的學(xué)習(xí)難度;通過(guò)對(duì)看起來(lái)非常復(fù)雜的框架的持續(xù)演進(jìn),達(dá)到牽著開發(fā)者和廠商鼻子走的效果;便于形成依附于某個(gè)操作系統(tǒng)的獨(dú)有的開發(fā)者社區(qū)和文化。

            法律層面。操作系統(tǒng)必須通過(guò)創(chuàng)建自己的有效知識(shí)產(chǎn)權(quán)體系來(lái)保護(hù)自己。前面已經(jīng)說(shuō)過(guò),越底層的軟件組件越?jīng)]有市場(chǎng)價(jià)值(碼農(nóng)們可能不喜歡聽這話,但現(xiàn)實(shí)就是這樣的)。通過(guò)建立全新的、包裹在底層操作系統(tǒng)之上的框架、編程接口、編程語(yǔ)言等基礎(chǔ)設(shè)施,操作系統(tǒng)開發(fā)商才有可能建立起有別于他人的有效的知識(shí)產(chǎn)權(quán)保護(hù)體系。也就是說(shuō),如果連框架、編程語(yǔ)言、編程接口等都抄襲他人(就算是開源的、許可證允許的),那永遠(yuǎn)也無(wú)法形成一個(gè)可以有效保護(hù)自己的知識(shí)產(chǎn)權(quán)體系。

            市場(chǎng)層面。通過(guò)和上下游企業(yè)的合作,建立某種聯(lián)盟或者許可、授權(quán)機(jī)制,讓操作系統(tǒng)的用戶(芯片廠商、手機(jī)廠商、平板廠商)能夠從中獲益。比如Android開放聯(lián)盟,做的就是這個(gè)事情。

            開發(fā)者社區(qū)。一個(gè)好的操作系統(tǒng)之生態(tài)系統(tǒng),要充分照顧開發(fā)者的利益,具體有如下幾點(diǎn):要有好的開發(fā)工具,便于開發(fā)者學(xué)習(xí)、開發(fā)和調(diào)試軟件;要有好的文檔或者教程,幫助開發(fā)者迅速掌握相關(guān)開發(fā)技巧;最重要的,要能夠讓開發(fā)者賺到錢。

            看到這里,相信大家都會(huì)意識(shí)到:這也太難了吧!的確,這非常難,這也是為什么Moblin、MeeGo、Bada、webOS等操作系統(tǒng)相繼失敗,而到目前,只有iOS、Android、Windows Phone這三種操作系統(tǒng)的原因。

            但是,世上無(wú)難事只怕有心人。接下來(lái)我告訴你如何搭建一個(gè)真正的“自主”操作系統(tǒng)。

            



          關(guān)鍵詞: Android Google OS

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();