Linux手機(jī)的前途似乎很少有人懷疑過。曾經(jīng)做過的,現(xiàn)在正在做的,即將打算做的,在國內(nèi)估計(jì)不下數(shù)十家公司。大家都想從中淘一桶金,不過大多是乘興而來敗興而歸,少則損失幾百萬,多則數(shù)千萬,有的甚至整個(gè)公司因此一厥不
振。在真正意義把Linux手機(jī)做成功的,在國內(nèi)可以說曲指可數(shù)。本來以為可以靠開源軟件與國外大公司站在同一起跑線上的,結(jié)果還是起了大早趕了晚集。
Linux手機(jī)研發(fā)是一項(xiàng)浩大的工程,據(jù)說國外一般的估計(jì)是,Linux手機(jī)平臺(tái)的研發(fā)至少要耗資2000萬美元,歷時(shí)3-5年時(shí)間才可能取得成功。當(dāng)我們開始broncho項(xiàng)目時(shí),有個(gè)Trolltech公司的老外發(fā)郵件給我們說,不要把你們的時(shí)間和資金浪費(fèi)在GTK上了,MOTO和XXX(忘記了)公司耗資幾億美金,結(jié)果還是買了QT才搞成功的。
有那么多開源軟件可以免費(fèi)使用,看似只需要做下簡單的集成就行了,為什么還會(huì)那樣難呢?據(jù)筆者的經(jīng)驗(yàn)來看,國內(nèi)Linux手機(jī)研發(fā)要過五大難關(guān):
人才關(guān):人無疑是軟件開發(fā)中最重要的因素,而國內(nèi)Linux開發(fā)方面的人才稀缺,真正參與到開源項(xiàng)目中的人更是鳳毛麟角。據(jù)這幾年的面試經(jīng)驗(yàn)來看,很多在簡歷上號(hào)稱有N年工作經(jīng)驗(yàn),精通N多技術(shù),面試之前讓我都誠惶誠恐的牛人,面試之后才發(fā)現(xiàn)其水平實(shí)在讓人難以恭維。后來聽人說高手是不會(huì)出來找工作的(都是工作機(jī)會(huì)找上門的),我才死心了,靜下心來做人才培養(yǎng)和團(tuán)隊(duì)建議。即使有機(jī)會(huì)把一些高手聚集一起,以國內(nèi)的企業(yè)文件和高手的特質(zhì)來說>,讓他們?nèi)芎蠟橐粋€(gè)團(tuán)隊(duì)不是不可能,至少也是要花相當(dāng)?shù)臅r(shí)間才行。另外一方面就是團(tuán)隊(duì)成員的穩(wěn)定性,Linux手機(jī)研發(fā)相對(duì)門檻比較高,換人代價(jià)相對(duì)比較大,如果團(tuán)隊(duì)沒有凝聚力,那就別想把它做成功了。在前一家公司,我見過一個(gè)日程模塊換了四個(gè)人,代碼亂七八糟,膨脹到3W多行,維護(hù)兩年后達(dá)到數(shù)百個(gè)BUG,整個(gè)模塊無人敢碰。
時(shí)間關(guān):軟件工程里關(guān)于時(shí)間比喻,用得最多的莫過了女人懷孩子了,一個(gè)女人十月懷胎可以生一個(gè)BABY,但十個(gè)女人不可能一個(gè)月把BABY生下來。軟件項(xiàng)目一樣,時(shí)間是必不可少的因素,人多只能在一定范圍內(nèi)縮短時(shí)間。在國內(nèi),無論是個(gè)人還是公司,心浮氣躁的居多,半年以上的研發(fā)時(shí)間都是不可接受的,很多水貨手機(jī)正常項(xiàng)目周期是45天,要做3到5年時(shí)間,恐怕沒有老板愿意去投資。結(jié)果大家都把計(jì)劃訂得相當(dāng)短,我見過一些搞笑的計(jì)劃,我私下里>說,他們能厲害到能在這么短時(shí)間內(nèi)搞定,我可能只有轉(zhuǎn)行了。計(jì)劃時(shí)間短了,老板同意立項(xiàng)了,接下來以進(jìn)度為維一的目標(biāo),拼命趕工,計(jì)劃還是一再延期,老板給的壓力越來越大,所謂欲速則不達(dá),結(jié)果可想而知。我見過一個(gè)名片模塊,從設(shè)計(jì)到提交測試只花了兩周時(shí)間,結(jié)果調(diào)試了兩年多時(shí)間,其中發(fā)現(xiàn)600多個(gè)BUG。(我非常慶幸broncho有老魏這樣高瞻遠(yuǎn)矚的領(lǐng)導(dǎo)者,我們才能始終堅(jiān)持質(zhì)量第一進(jìn)度第二的原則,每走一步都是真正前進(jìn)了一步。)
穩(wěn)定性:有位大師說過,要評(píng)估增加一個(gè)新特征需要多少時(shí)間相對(duì)容易,但很難評(píng)估將充滿BUG的代碼修改成最終發(fā)布的產(chǎn)品需要多少時(shí)間。實(shí)際幾乎所有Linux手機(jī)都把功能做出來了,多半是以犧牲質(zhì)量為代價(jià)的,東西是出來了,>但到出產(chǎn)品的時(shí)間沒有人可以估計(jì)。聽說幾個(gè)公司把Linux手機(jī)做出來了,小批量生產(chǎn)之后,再也不敢生產(chǎn)了,原因就在于穩(wěn)定性太差了。把這么大項(xiàng)目通過調(diào)試和測試變穩(wěn)定,可以說比推倒重來代價(jià)更大。有次和一個(gè)芯片廠家的銷售總監(jiān)聊天,他見多識(shí)廣,開門見山就問我們項(xiàng)目的穩(wěn)定性如何,他說現(xiàn)在大家做智能手機(jī),面臨最大的問題是穩(wěn)定性,特別是Linux智能手機(jī),如果不能解決這個(gè)問題,什么都白做了。前期我們?cè)谠O(shè)計(jì)和編碼投入的大量精力沒有白費(fèi),經(jīng)過這兩周的壓力測試,修改一些BUG之后,穩(wěn)定性已經(jīng)達(dá)到不錯(cuò)的程度了。
擴(kuò)展性:我的上司老魏有句口頭禪,做一款產(chǎn)品不容易嗎,閉著眼睛也可以搞定,做一個(gè)平臺(tái),在平臺(tái)上建立一個(gè)產(chǎn)品線那才叫有挑戰(zhàn)。這話也是源自于前一家公司的一個(gè)項(xiàng)目,老魏是那個(gè)項(xiàng)目的事實(shí)上的負(fù)責(zé)人,歷時(shí)兩年多把那個(gè)項(xiàng)目做完了,到產(chǎn)品化時(shí),幾個(gè)最基本的手法,調(diào)整屏幕大小,橫屏和國際化,居然都非常困難,原因是在設(shè)計(jì)時(shí)根本就沒有考慮到產(chǎn)品化的問題。后來我寫過一篇<建立手機(jī)平臺(tái)的產(chǎn)品線>的BLOG, 沒有引起什么反響,甚至連評(píng)論都沒有一條。不過讓我非常高興的是,收到了臺(tái)灣著名的開源軟件高手黃敬群老師的來信,說想在他的報(bào)告中引用那篇BLOG。國內(nèi)關(guān)于這方面的考慮實(shí)在太少了,部分原因可能是很多Linux手機(jī)的開發(fā)人員都是傳統(tǒng)嵌入時(shí)開發(fā)(動(dòng)則就是幾W行匯編)轉(zhuǎn)過來的,還沒有意識(shí)到Linux智能手機(jī)與傳統(tǒng)嵌入式開發(fā)的不同吧。