王勇詳談 Linux Deepin 背后的故事
【編者按】采訪嘉賓:王勇,Linux Deepin技術開發(fā)負責人。Emacs玩家,熟悉 C、Python、JS、elisp、Java、Haskell 等語言, 擅長于圖形化程序開發(fā)。Linux Deepin有些什么樣的故事?請聽王勇細細道來!
能否先介紹一下你自己(技術背景、工作經歷、學習經歷)?
王勇:大家好, 我叫王勇。我從07年的時候開始玩 Linux,當時在成都,玩了以后感覺挺有興趣,就開始研究 Emacs。后來參與了 Emacs 開發(fā)大約2年時間,開發(fā)了很多 Emacs 的插件。當時天天在IRC上玩, 經常在IRC上分享自己寫的插件和代碼, IRC上的很多朋友跟我說為什么不把代碼開放出來, 這樣比粘貼在IRC上更能幫助更多的用戶。但是當時嫌麻煩一直沒有做這件事, 直到有一天一個昵稱叫 rgr 的德國朋友問是否有人能把 w3m 的內容自動轉換成 org 格式, 我花了一個晚上給他寫出來了 (w3m-org.el), 他非常感激并極力推崇我把所有的Emacs插件共享出來, 他把我介紹給一位荷蘭的教授 Carsten Dominik也是 orgmode 的作者,我跟他說我寫了一些 Emacs 插件,能不能幫我們添加到Emacs中。因為 Emacs 是屬于自由軟件基金會的,如果要給Emacs做貢獻就必須簽署GPL的法律文件, 保證Emacs的所有代碼都是自由的。當時挺麻煩的,必須先進行電子郵件申請, 講述自己的代碼貢獻和是否贊同GPL協(xié)議, 然后自由軟件基金會會從美國郵寄一封法律協(xié)議,必須本人簽了字才行。
從2007 ~ 2009 我陸續(xù)把我寫的所有 elisp 擴展都貢獻到 EmacsWiki 上, 那段時間我?guī)缀醢袳macs所有能玩的功能都玩了一下, Emacs是一個非常偉大的項目, 它給你展示世界上頂尖黑客是怎么把一個編輯器玩弄成操作系統(tǒng)的。
但是玩的越多也越感覺限制很多, 比如Emacs不支持多線程, 速度非常慢, 太過于動態(tài)而不安全, 不能像操作系統(tǒng)那樣用多進程對模塊之間進行保護, 針對這些缺點我決定寫自己的集成環(huán)境 Manatee (http://www.youtube.com/watch?v=weS6zys3U8k ), Manatee全部由函數式語言Haskell開發(fā), 但是對于當時的Haskell來說圖形庫以及周邊的工具都非常缺乏, 所以我參與了項目 gtk2hs 的開發(fā), 把所有 gtk 的庫 (包括 webkit, vte, poppler等) 都綁定到 Haskell。
2011年加入深度后 Manatee就沒有再繼續(xù)開發(fā)了。我現(xiàn)在在深度主要負責開發(fā)。
你參與自由軟件基金會的開發(fā)有工資拿嗎?
王勇:沒有,全憑愛好。我寫插件不是為了賺錢,只是愛好而已。
Linux Deepin 是什么時候開始做的?
王勇:Linux Deepin 的技術創(chuàng)始人叫 Hiweed,他是國內的老前輩了。兩三年前就開始做,當時就 Hiweed 一個人,加上華華,兩個人開發(fā)。他們開發(fā)的就是簡單的把現(xiàn)成的桌面環(huán)境和軟件整合一下,壓成一個 ISO。去年(2011年)九月份我們覺得這種方式不太好,我們就在武漢成立了深之度科技有限公司。希望通過公司的方式我們可以做的更快更好。
也就是在這個公司成立的時候你就加入了?
王勇:準確的說是在公司成立之前就加入了。之前在廣州做生意,不過我還是覺得電腦比較好玩,我就跟 Hiweed 聯(lián)系,正好他們也需要相關的開發(fā)者,我就來武漢了。在九月份之前我已經在武漢開發(fā)了半年了,軟件中心1.0就是我開發(fā)的。
Linux Deepin 這個名字是誰取的?
王勇:Linux Deepin 這個名字是 Deepin(劉文歡,Linux Deepin 發(fā)起人,武漢 Linux 用戶組聯(lián)合創(chuàng)始人) 取的。其實早在 1998 年的時候 Deepin 和 Hiweed 就想做一個屬于中國人自己的Linux系統(tǒng), 只是受限于當時環(huán)境和資源沒有做起來。
從那以后 Hiweed 獨自開始在 Hiweed Linux (2004 年發(fā)布第一個版本), 直到 2009 年 Hiweed Linux 更名為 Linux Deepin. (更多信息請查看http://www.oschina.net/question/195301_61633)。
那是什么促使你們開發(fā) Linux Deepin(LD) 這個項目呢?
王勇:首先是興趣愛好。開發(fā)中國人自己的Linux也不光是我一個人的夢想,也是我們整個團隊的目標。
其次我們認為我們可以在桌面交互上做的更好。目前國際上最流行的桌面發(fā)行版 Ubuntu 在易用性這一塊做了很多工作,我們也在用這個系統(tǒng)。但是我們也發(fā)現(xiàn)它有很多的不足,我們相信在這方面我們可以比 Ubuntu 做的更好。
第三點我覺得是更快速的開發(fā)模式。大家都知道 Linux 是全世界的愛好者一起在開發(fā),組織比較松散,好處是社區(qū)會比較持久的發(fā)展,但是溝通上可能會效率低下。我們是想把這個事情更快的做好。
第四點就是 Just Do It 吧。大家都知道 Linux 桌面有很多問題,比如驅動不好,應用不好,輸入法不好,但是沒有人真正去做,說的倒是很多。我們想通過 LD 這個項目實現(xiàn)公司和個人的夢想,也想樹立一個榜樣:如果你知道問題出在什么地方,那么去解決它而不只是說一下。
你們是基于 Ubuntu 來開發(fā)的嗎?
王勇:Ubuntu 在易用性方面確實做了很多工作,我們沒有必要完全重新做,我們可以站在巨人的肩膀上提升吧。我們公司也才成立,人手不夠,在資源有限的情況下我們還是基于 Ubuntu 做,但我們也發(fā)現(xiàn)了很多限制。我們以后可能會將倉庫獨立。我們現(xiàn)在人比較少,倉庫有三萬多個包,根本做不好。所以在我們做不好之前,我們還是基于它的基礎上做。
Linux Deepin 相對于別的發(fā)行版的特點和優(yōu)勢有哪些?是更適合中國人使用?
王勇:LD 的理念是簡單易用,開機即用。就是不需要用戶去花時間折騰比如字體,輸入法等等。我們希望做到馬上就能用,馬上就能上網,看電影,享受生活,而不是買個電腦折磨人。大家對 Linux 的第一映像就是丑,相對于 Windows 和蘋果來說是非常丑陋的,千篇一律的灰色。針對這個情況,我們做了 DeepinUI 這個項目。它是我們上半年才做的項目。大家如果用過騰訊QQ或者迅雷的話,它們有一個很好的功能就是換膚。它所有的控件都是透明的,要實現(xiàn)換膚的話,拖一張背景就可以了。我們的 DeepinUI 和這個功能是一樣的。就是你使用 DeepinUI 開發(fā)的軟件美觀級別和QQ和迅雷是一樣的。
就是你們做了一套 UI 庫?
王勇:是的。如果你看過我們12.0 RC 版的話,深度音樂,深度影音就是用 DeepinUI 全新做的。還有就是我們開發(fā)了深度軟件中心,用戶不需要輸入命令,也不會有權限問題,直接點一下鼠標,就像360軟件中心那樣,就可以安裝軟件了。
總結一下就是你們做了軟件中心,一套UI庫,還有一些定制的軟件。我知道 Ubuntu 也做了類似的工作。我有一個疑問是關于視頻解碼器的版權問題。
王勇:我大概知道你想問什么了。Ubuntu 并沒有默認內置一些解碼器,因為版權問題。導致用戶播放不了某些電影。我們的想法有兩點。第一我們是尊重版權的。第二我們更多的考慮的是用戶的便捷性。我們的 LD 項目是內置了這些解碼器,正常的視頻文件都是可以打開的。我們也想通過法律手段正版化,但是目前并沒有很好的辦法。即使你代碼重新寫,在算法這一塊還是存在問題的。
Linux Deepin 這個項目是針對普通用戶的桌面系統(tǒng)是嗎?
王勇:是的。我們希望 Linux 用起來能跟 Windows 一樣方便,不用折騰。即使用戶不會用,軟件打開以后也有向導告訴用戶不同的按鈕的功能,打開一個播放器,直接享受音樂而不是去折騰歌詞,亂碼,解碼器什么的。
Linux Deepin 目前的裝機量你們有統(tǒng)計嗎?
王勇:Linux Deepin 目前的裝機量據我們統(tǒng)計在幾千臺吧, 我們現(xiàn)在還沒有進行大規(guī)模的裝機推廣, 主要是因為 Gnome 3 桌面環(huán)境在功能和界面細節(jié)上還是有非常多的問題, 而且 Gnome 3 從整體架構穩(wěn)定性 (單進程設計) 和顯卡兼容性上都不是非常好.
我們不但希望以后很多用戶使用 Linux Deepin, 我們更希望我們展示的系統(tǒng)是一個完美能替換 Windows 的系統(tǒng), 而不是一個半成品。我們今年下半年會做自己的桌面環(huán)境來徹底解決這個問題!
但是開發(fā)一個桌面環(huán)境的工作量非常大,你們是怎么考慮的?
王勇:工作量是大,但是桌面環(huán)境也分前端和后端。后端有很多東西是可以重復利用的,前端的很多東西我們可以通過設計來改進。這方面的工作量沒有想象的那么大。我們不能說 Gnome 所有的東西都重新做,比如網絡管理器,電源管理器等等,這是沒有必要的。我們是改進現(xiàn)有項目的不足,而不是所有都重頭來過。
目前開發(fā)和維護 Linux Deepin 的人員有哪些呢?
王勇:目前我們有25個人的團隊,主要是在桌面應用開發(fā),系統(tǒng)開發(fā)和交互設計方面。這方面的人挺難招的,大部分都是才畢業(yè)的。團隊里大家熟知就是 Hiweed (中國做了十幾年Linux的老前輩) 和 徐亮(主要負責 Ubuntu 國際化)。
這些人員都在你們公司是嗎?
王勇:是的。
也就是說沒有公司外面的人參與到這個項目?
王勇:我們有一些兼職,比如版主、翻譯愛好者,經常還有國內外的開發(fā)者給我發(fā)送補丁。
Linux Deepin 目前有獲得收入嗎?
王勇:沒有。我們從去年成立,兩年的規(guī)劃都是通過 Deepin 的個人資金來支持的。
也就是說是你們自己掏錢來做的這個項目?要養(yǎng)這么多人兩年也是要很多錢的。
王勇:對的。但是沒辦法,這是必須要做的事情。也許在別人看來是很傻的行為。首先我們要把東西做好,不能在東西還很糟糕的時候就強推預裝,沒有意義的。我們兩年之內專心研究,把產品做好,然后在適當的時機引入運營和銷售的人。
也許你們現(xiàn)在沒想著要盈利。但是你們有想過你們的商業(yè)模式嗎?
王勇:有。比如說我們可以通過軟件中心,增值服務,音樂影音等等。我們希望建立 Linux 的一個生態(tài)環(huán)境。就像推雪球,剛開始是我們公司來推,我們希望當這個雪球越來越大的時候它能自己滾動起來。
目前移動互聯(lián)網崛起的很快速,包括 Android 在內。你們在這一塊有沒有相應的動作呢?
王勇:Android 這方面我們有在做,但不是 LD 這個團隊。我們認為鍵盤這種操作方式可能會被邊緣化,但是鍵盤的生產力還是高,不可能完全消失。觸摸屏的話有iOS,Android等等。但是 LD 是針對桌面的。我們希望 Linux 桌面的應用能夠達到 Windows 的級別。Ubuntu 的 Unity 是想通吃桌面和平板,我們認為是不可能的。
能不能談談你對開源的看法?
王勇:我是一個理想主義者。國內的很多開發(fā)者喜歡上論壇,而我用的更多的是 IRC,跟國外的開發(fā)者交流。你進到 IRC 后會發(fā)現(xiàn)很多志同道合的人在一個頻道里面聊天。當我有不懂的問題的時候,我就會在 IRC 中問有沒有人知道這個問題怎么解決啊。突然就有一個人不知道從什么地方,可能是地球另外一邊,冒出來說這個問題我可以幫你解決。從此以后你們就變成朋友,每次上線就會打招呼,那種感覺很不一樣。你一個人寫代碼,寫完代碼你也許會發(fā)現(xiàn)你所做的事情別人已經想到了,別人已經做到了,而且那個人也是一個十分聰明的人。那種感覺可能不是很真實,但給人的感覺很興奮。
也就是說做開源讓你覺得可以認識很多志同道合的人,感覺很好?
王勇:是的。我舉個例子吧,原來我開發(fā) Emacs 插件,當時好像才十幾歲。很多人就跟我講開發(fā)這個又不能賺錢,你還花那么多的時間。有時候也會有放棄的念頭,畢竟人是要生活的嘛。但是突然有一天你收到一封陌生人的郵件,很熱情的感謝你,說你這個軟件很好用等等很多很多感謝你的話。這種就不是金錢和物質可以做到的。
你說的這些是國外的情況。那你對國內的開源現(xiàn)狀有什么看法呢?
王勇:我認識很多朋友,很多高手。他們的能力應該不輸給國外的人。但可能是因為國內的 IT 行業(yè)是一個很累的行業(yè),平時就沒有太多的時間參與開源。還有就是國內的環(huán)境不太好吧,你一說做開源就跟免費想在一起,開源好像就不要錢,然后就沒人做。我覺得不管是賺錢還是不賺錢,如果你有能力有時間就不用想其他的,做就行了。
你有沒有一些建議給初學的 Linux 開發(fā)者和使用者?
王勇:首先。我覺得好學好英文。因為很多資料都是英文。你用英文搜索你會發(fā)現(xiàn)往往第一頁就有你的答案。
還有就是建議大家多上 IRC。國內的論壇是很分散的,而 IRC 是很集中的。IRC 里面有很多高手。也許你覺得自己在周圍的圈子里面已經很頂尖了,但是你到 IRC 里面會發(fā)現(xiàn)他們聊的你都不知道是什么東西,也不知道他們?yōu)槭裁磿@樣想,他們的思維會讓你感覺到原來還有這么聰明的人。所以上IRC可以認識比你更聰明的人,獲得成長。
從技術方面來講的話,我覺得要有鉆研精神。很多東西是通過錯誤才能理解的更深。如果每次開發(fā)你都 Google 一下解決了,其實你并沒有真正的理解這個問題。
很多開源愛好者(多數都是大學生)會問關于怎么參與開源項目,怎么和核心開發(fā)者溝通。我想告訴大家加入開源項目最好的方法就是發(fā)送補丁給開發(fā)者,這些開發(fā)者平時都很忙,如果你經常發(fā)送補丁解決他們的問題, 補丁發(fā)送久了他們會自動聯(lián)系你的。
相反很多愛好者發(fā)的第一封郵件談的是多么想加入項目但是卻沒有任何代碼或文檔, 開發(fā)者一般都不會重視這樣的郵件。簡單一點就是, 開源項目補丁為王。
你對開源中國有什么意見和建議嗎?
王勇:中科大現(xiàn)在有一個非?;钴S LUG (Linux 用戶組),為什么他們用戶組的水平要遠遠高于其他大學的水平呢,就是因為他們平時有很多的線下交流。所以我覺得國內的社區(qū)可以有更多的線下活動。這樣就讓做相同技術的人員有一個交流。所以我覺得國內的社區(qū)可以有更多的線下活動。這樣就讓做相同技術的人員有一個交流的平臺,雖然在不同的公司,但是我們做的都是 Linux ,就可以互相學習提高。