對話Ubuntu Tweak作者:站在用戶的角度玩Linux
原創【51CTO獨家專訪】前不久,Ubuntu上流行的優化軟件Ubuntu Tweak的開發者周鼎剛剛來到了北京,成為了Ubuntu背后的公司——Canonical公司的一位員工。從一開始的第三方Ubuntu開發者到現在成為Canonical員工,周鼎對于當下Linux桌面的發展情況和Ubuntu在這個市場中的定位是如何理解的?下面請看本次專訪實錄——
51CTO:先聊聊你的網名吧。Tualatrix這個名字,似乎是Ubuntu Tweak的早期開發代號,Cyrix和Tualatin拼起來形成的?而圖拉鼎應該就是Tualatin的音譯了。這兩個詞跟你有什么特別的關系嗎?
周鼎:其實是先有我的網名,再有Ubuntu Tweak的。Tualatrix這個名字起源于我的中學時代,那個時候剛剛開始上網,喜歡在網上東注冊一個東西西注冊一個東西,就發現我名字的拼音在很多地方都已經被人注冊了。當時對硬件比較感興趣,我們家***臺電腦的CPU代號是Cyrix,那臺電腦非常老了;后來更新換代的時候升級到Tualatin,就是賽揚三的代號,于是就用這兩個CPU代號組合一下,生造了Tualatrix這個名字,算是成了我的網絡ID吧。那時候是2000年左右。
51CTO:那這個網名是歷史很久了。后來你最初接觸Linux是在大一的時候?
周鼎:對,當時是9月份開學嗎,大概是11月開始接觸的。
當時是在學C語言,然后一個網友說學C語言***在Linux平臺上,就這么開始玩的。***個用的其實是Fedora 6。
51CTO:***個接觸的是Fedora Core?
周鼎:對,不過一開始接觸一個星期就放棄了,開始用Ubuntu了。你猜猜是什么原因?
51CTO:因為找不到軟件源么?
周鼎:嗯,是這個原因。因為06年那時候Ubuntu社區已經相當成熟了,在國內各大高校,還有一些電信機房,都有源。cn99你知道吧,實際上就是現在的163源。那時候Ubuntu的源非常多,中國南北都有,很容易找到一個離你比較近、速度比較快的。在使用Fedora的時候,更新這些太麻煩了,后來用到Ubuntu就輕松多了,裝個軟件非常方便。
對于初學者來說,你發現裝個軟件都裝不上,就比較麻煩。這一點是最重要的。
51CTO:那之后一直使用Ubuntu也是因為源的關系么?
周鼎:之后其實我嘗試過很多其他發行版,比如Gentoo,ArchLinux,openSUSE。用的時間最長的其實是Gentoo,用了整整一年多吧,僅次于Ubuntu。用Gentoo其實真的能學到很多東西。
51CTO:關于開發方面的東西?
周鼎:倒不是開發,僅僅是針對Linux本身,就是你可以知道Linux到底是怎么一回事。
51CTO:有點像是系統管理那方面的東西?
周鼎:對,有點像是SA,運維方面的。玩過Gentoo的人,我覺得都特別適合做運維方面的。我認識的幾個做SA的朋友,他們都用過Gentoo或者正在用Gentoo,幾乎都是這樣。
51CTO:那是很有意思。那你在接觸Linux之前,做過開發么?
周鼎:其實中學那會兒開始上網,最初就是因為對Web開發感興趣。但那個時候不懂,以為做個靜態頁面就是Web開發了。那個時候比較喜歡做網頁,還不是網站,就是個人頁面那樣的。
51CTO:是你做過的那個LDCN嗎?
周鼎:哦,那個LDCN已經是大學時候做的了,Linux桌面中文網。中學的時候就是做網頁做動畫,Flash那些。
51CTO:那后來大學做網站是用什么?PHP么?
周鼎:大學那會做網站,主要是用現成的CMS框架,比如Drupal、WordPress搭建的。后來覺得限制太多,于是自己開始學習真正的Web開發。***個接觸的應該是Python了,用Django框架來做動態網站。Python在國外很流行,在國內也正在流行起來。特別是北京這邊,有個豆瓣帶頭。
51CTO:的確是這樣。接下來聊聊Ubuntu方面的話題。你在進行Ubuntu Tweak開發的時候,和其他Ubuntu開發者接觸多么?
周鼎:實際上從有這個想法到把它開發出來,基本上都是一個人開發。等到用戶多了,有一些人感興趣了,就有人來主動幫助你。其實都是這樣,你要先把東西做出來以后,才有人來關注你幫助你,就這樣才接觸到Ubuntu社區里那些開發者。剛開始很多東西都不懂,比如ppa你知道嗎,就是自動打包發布的比較方便的一個途徑。剛開始我是自己打包,自己發布,讓別人再來下載;后來就有人告訴我,去Launchpad注冊,去搞個ppa,這樣軟件的發布和更新都比較方便。
51CTO:那你其實一開始還不是在Launchpad上,就是單包發布?
周鼎:嗯,一開始我是在Google Code上做,后來才轉到Launchpad上。這些都是后來一些有經驗的人告訴我的,算是有個引路人吧。其實現在如果有人對Ubuntu開發感興趣的話,我肯定會告訴他這些步驟,不會讓他走彎路。我一開始算是走了不少彎路。這些東西都需要有人來引導比較好。
51CTO:那你一開始是在郵件列表里發布,然后其他人在郵件里給你指導么?
周鼎:哦,不是在郵件列表里面。那時我注冊了個域名,搞了個Ubuntu Tweak的英文官方網站。我覺得這個比較重要,因為你開發的東西,如果不用英文的,國內開發這方面的人比較少(當然現在多一些了),就不容易推廣。我當時雖然說英語比較差,各方面都不懂,但我還是用英語發布出來,現在想來是非常正確的選擇。
51CTO:那現在你和其他開發者主要是怎樣溝通呢?
周鼎:現在這段時間其實開發沒以前那么活躍了,因為事情比較多。現在主要在Launchpad上比較多吧。
其實我自己沒建過郵件列表。基本上發布新版本的時候,我就在Blog上更新一下。然后用戶和開發者,主要是用戶,就會在Blog后面評論,也會提一些請求,比如“請支持Debian吧”,“請支持Fedora吧”之類的。這些比較多,但我一般也不會特別去回復,因為很早就回復過了。其實我很早推出過一個Fedora測試版,不過也很久沒管了。
最主要的還是Launchpad上的bug報告。Launchpad上有兩個主要的功能,一個是bug報告,還有一個是問答(Answers),可以向開發者提一些問題,請求加入一些新特性之類的。人家也會通過報bug的方式提供一些建議,這種方式的溝通比較多。
51CTO:那你后來跟其他項目的人是怎么認識的?比如Debian的Aron Xu,和紅帽的Caspar Zhang他們?
周鼎:好像也不是因為Ubuntu Tweak這個項目認識的。因為我除了開發Ubuntu Tweak之外,還玩很多Linux其他方面的東西。比如09年、10年那會兒,喜歡研究圖形方面的新技術,玩了之后基本都會寫一篇文章,跟中國這邊的社區主要是通過這種方式交流。基本上寫了文章,人家會來你這里留言,然后就互相加好友,也會討論一些技術之類的。
最簡單的總結其實就兩個字:分享。我把我知道的分享出去,然后感興趣自然的也就找上來了。
51CTO:那么就你所知,其他Canonical的員工是不是也有很多像你這樣的情況,一開始是Ubuntu第三方開發者的?
周鼎:那個Compiz你知道嗎?Compiz的開發者smspillaz之前也是一個獨立開發者,現在也是Canonical的員工。
51CTO:Compiz好像已經內置在Ubuntu中了吧?
周鼎:它已經內置了很長一段時間了。但是因為Unity的原因,有一些變化。你也知道Unity是Ubuntu 11.04開始的默認桌面,是高度整合的桌面環境,而Compiz以前是一個比較松散的、通過插件來實現各種效果的,所以把Compiz的作者招進來,可能是想把Unity做的更好,提供更智能的使用效果。當然我不是桌面那邊的,這只是我猜的。Compiz是通用的,在所有發行版上都可以用。通用,就會犧牲其他方面的一些東西。而現在在Unity上,就可以根據發展的需要做相應的調整。
51CTO:嗯。接下來這個問題是很多人一直以來對Ubuntu的質疑,說Ubuntu對Linux的貢獻比較少。一個是說Ubuntu對Linux內核的代碼貢獻少,另一個是Debian社區的人說Ubuntu開發的二進制包跟Debian不兼容之類的。對于這一點,你是怎樣看的?
周鼎:對***個問題,我覺得這是非常工程師的想法。一想起Ubuntu不好就說它對內核貢獻少,我覺得這完全沒有從用戶的角度去想。實際上市場是非常重要的,你覺得呢?
據我所知,我們很多玩Linux的朋友,都會有一個共識。用一句比較流行的話來說就是,“Ubuntu是我們的初戀”。就是說,即使他現在在用Fedora,或者在用Debian,或者已經在紅帽或其他家工作了,但是我周圍玩Linux的這些朋友,基本都是一開始因為Ubuntu而喜歡上Linux,從而最終把它當作自己的職業的。所以說你覺得這是不是貢獻?
51CTO:嗯,這是一種比較人文的方式。
周鼎:用戶方面就更不用說了。我是從一個開發者的角度,應該說Ubuntu把我們普通用戶,把我們計算機系的學生,領進門了——至少沒被Linux的難用給嚇跑。然后社區比較成熟,人又比較多,你有什么問題了,可以上網問,就這樣把我們留在社區里了。不然的話,你用一個比較難用的發行版,玩了幾天,到處都是英文的東西,然后問個問題都沒人答,可能過幾天就不玩了。
再回到最早那個話題。如果我最早用Fedora 6,用了幾天,又沒源,又沒Ubuntu的話,可能我以后就再也不玩Linux了。這么難用的系統,我干嘛要用?所以我覺得,這些貢獻不是用幾個補丁,用幾千行代碼來衡量的。
51CTO:嗯。那么關于Debian社區那邊的想法呢?
周鼎:你說二進制不兼容的問題啊。這個問題主要是因為兩邊的開發模式不同。你也知道Ubuntu是六個月一次的,但是Debian的話,則沒有具體的時間表。當然Debian倒是也有發布計劃,比如一年,18個月這樣,但是它跳票會比較嚴重。這就會造成一個情況,因為Debian它要保證很穩定,底層的庫都會保持在一個穩定的版本;但是Ubuntu會用一個比較新一點的,就是從Debian測試版里面取出來的東西,作為Ubuntu下一個版本的基礎。所以說,因為它是比較底層的庫,然后Ubuntu上的很多軟件是在比較新的庫上開發出來的,在底層庫版本較低的Debian穩定版上自然無法正常的跑起來。
所以這個問題是兩個發行版開發模式不協調造成的,不是說Ubuntu專門為了搞出來,不跟Debian兼容。其實Ubuntu上能共享的東西都是盡量共享出來的。
據我所知,好象是從去年開始的,Canonical鼓勵開發者直接在上游,就是Debian那里進行一些更改,在Ubuntu這邊就直接可以拿過來用。不像以前是Debian那邊開發者進行更改,然后Ubuntu這邊開發者拿過來再更改,既浪費精力,兩邊又協調不起來。現在可能還不是所有的包都在上游修改,但至少有部分包已經在這樣做了。
我覺得這幾年,Debian跟Ubuntu的關系應該比最初那幾年好不少,沒看到那么多爭議了。再過幾年應該雙方關系都會比較好,可以一起做些什么東西。
51CTO:那就***一個問題了。按照你個人的理解,你認為Ubuntu在未來三年中發展的關鍵在哪里?是更好的用戶體驗,更強的公關/市場,跟Dell等硬件廠商的緊密合作,應用軟件商店,或是別的什么方面?
周鼎:呃,我覺得你已經把一些重點都列出來了:)
***個是更好的用戶體驗,這個很明顯是比較重要。為什么Ubuntu會開發Unity?就是為了在用戶體驗上、用戶界面上自己進行更改。你知道Gnome 3、KDE 4,這些都是社區控制的,有些地方并不是很合理。比如Gnome 3,有很簡單的兩個例子,它的窗口沒有最小化按鈕,甚至連Power Off關機鍵都沒有,你覺得這個是對用戶負責的表現嗎?明顯社區有時候也會昏了頭腦,做一些自以為是的更改。所以在這種情況下,由公司和社區一起開發Unity這個桌面,應該是比較重要的一步吧。當然現在用戶滿意度也還不是很高,也有一些抱怨,但總方向我認為還是正確的。
然后有關市場方面,肯定也是非常重要的。你也看到市場上現在預裝了Ubuntu的,從最早Dell開始,09年還是08年那會兒有了***臺預裝Ubuntu的電腦。因為對于普通用戶而言,要自己裝系統的難度還是比較高的。雖然這幾年Ubuntu的安裝工具已經非常傻瓜化了,但是要用戶自己去裝,還要自己下載ISO,還要自己弄U盤,有很多障礙。預裝的話,可以讓對電腦什么都不會的用戶,打開電腦就能用,這個是非常重要的一步。
包括Linux用戶經常遇到的硬件驅動不兼容的問題,因為有時候用戶使用的新的硬件,但發行版的內核一般都是稍微老一些的版本,就會遇到不支持的硬件。但如果是和硬件廠商一起預裝的版本,都是經過嚴格的測試,就不會遇到這個問題。
軟件中心方面,也比較重要。我不知道你最近有沒有注意到一個趨勢,就是軟件中心里面收費的應用,尤其是游戲,越來越多了。以前可能就兩三個游戲,但現在,尤其是國外的,經常會有一些游戲加進去。而且整體來看,軟件中心里面現在無論是收費的還是免費的軟件都越來越多。如果到了量變引起質變的時候,人家就會愿意把軟件發布到Ubuntu這個系統上。實際上你知道Mac上的游戲是比較多的。我沒開發過游戲,但是我知道上面很多都是用的比較開放的,比如OpenGL的技術,那么這個只要廠商愿意移植的話,移植到Linux上還是比較容易的。所以以后可能會有這樣一個趨勢,就是廠商會愿意把游戲移植到Linux上,并在Ubuntu軟件中心里面發行,畢竟支付和購買的系統也已經成熟了。
51CTO:那現在比如說國內的開發者想在Ubuntu軟件中心里面上應用賣,也是可以的?
周鼎:整個流程其實我也不太清楚,但肯定也是有個審核,不會像Android菜市場那樣,想放什么就放什么,結果一些惡意的東西也都放上去了。
其實我最近看到的,不光是游戲,軟件中心里面也有一些商業軟件,比如Windows上的UltraEdit,也有其他平臺上一些知名度比較高的軟件,也已經在Ubuntu軟件中心。這個在我06年開始玩的時候,還是不能想象的,Windows上的商業軟件,居然會登陸Linux平臺。但是現在我們也都看到這個趨勢了嘛。
51CTO:作為一個Ubuntu開發者,你還有其他希望補充的嗎?
周鼎:作為開發者的角度,其實現在Ubuntu一直在積極建立開發者社區,你可以在Ubuntu的Wiki網站上看到一些開發者的信息,有一個叫做App Developer Week,應用開發者周,一周的時間,在IRC上公開討論,比如今天講怎么給Compiz開發插件,明天講怎么用Python GTK開發軟件,也有講怎么用Qt開發。這個活動其實之前就有了,不過近一年來尤其的多。
然后就是,比如拿Unity來說,它有一個非常豐富的Wiki頁面,上面講的比較詳細的就是Unity的整個架構和API。說道Unity的發展,有兩個比較重要的方面。一個是社區,會不斷跟Unity提點建議,提交bug,或者有一點編程水平的人也會去修bug。這是一個比較好的趨勢,因為會有第三方的用戶,主動給你解決一些問題。還有就是Unity跟Google,說具體點就是Chrome的合作。Chrome***版,Chrome 13,就直接用了Unity的API。比如你Chrome在下載東西,Unity的Launch上面會顯示一個“1”,代表當前有一個文件在下載,還有一個進度條。
51CTO:已經做到這個程度了?
周鼎:是的。其他第三方的整合就更多了,開發者開始在自己的軟件里整合Unity的一些高級特性。Unity現在發布不到半年,有這樣的發展,我覺得是非常快的。這些都是用戶能夠享受到,能夠直接看到的一些進展。我覺得未來一年應該也會像Windows 7一樣,出現越來越多的第三方軟件。
51CTO:嗯,希望如此!那么本次問題就到此結束,感謝周鼎接受我們的采訪!如果想了解更多與Ubuntu Tweak相關的信息,可訪問Ubuntu Tweak的官方網站(英文)。
【51CTO.com獨家特稿,轉載請注明原文作者和出處。】




















