閱讀820 返回首頁    go 技術社區[雲棲]


王勇詳談 Linux Deepin 背後的故事

采訪嘉賓:王勇,Linux Deepin技術開發負責人。Emacs玩家,熟悉 C、Python、JS、elisp、Java、Haskell 等語言, 擅長於圖形化程序開發。Linux Deepin有些什麼樣的故事?請聽王勇細細道來!

能否先介紹一下你自己(技術背景、工作經曆、學習經曆)?

王勇:大家好, 我叫王勇。我從07年的時候開始玩 Linux,當時在成都,玩了以後感覺挺有興趣,就開始研究 Emacs。後來參與了 Emacs 開發大約2年時間,開發了很多 Emacs 的插件。當時天天在IRC上玩, 經常在IRC上分享自己寫的插件和代碼, IRC上的很多朋友跟我說為什麼不把代碼開放出來, 這樣比粘貼在IRC上更能幫助更多的用戶。但是當時嫌麻煩一直沒有做這件事, 直到有一天一個昵稱叫 rgr 的德國朋友問是否有人能把 w3m 的內容自動轉換成 org 格式, 我花了一個晚上給他寫出來了 (w3m-org.el), 他非常感激並極力推崇我把所有的Emacs插件共享出來, 他把我介紹給一位荷蘭的教授 Carsten Dominik也是 orgmode 的作者,我跟他說我寫了一些 Emacs 插件,能不能幫我們添加到Emacs中。因為 Emacs 是屬於自由軟件基金會的,如果要給Emacs做貢獻就必須簽署GPL的法律文件, 保證Emacs的所有代碼都是自由的。當時挺麻煩的,必須先進行電子郵件申請, 講述自己的代碼貢獻和是否讚同GPL協議, 然後自由軟件基金會會從美國郵寄一封法律協議,必須本人簽了字才行。

從2007 ~ 2009 我陸續把我寫的所有 elisp 擴展都貢獻到 EmacsWiki 上, 那段時間我幾乎把Emacs所有能玩的功能都玩了一下, Emacs是一個非常偉大的項目, 它給你展示世界上頂尖黑客是怎麼把一個編輯器玩弄成操作係統的。

但是玩的越多也越感覺限製很多, 比如Emacs不支持多線程, 速度非常慢, 太過於動態而不安全, 不能像操作係統那樣用多進程對模塊之間進行保護, 針對這些缺點我決定寫自己的集成環境 Manatee (https://www.youtube.com/watch?v=weS6zys3U8k ), Manatee全部由函數式語言Haskell開發, 但是對於當時的Haskell來說圖形庫以及周邊的工具都非常缺乏, 所以我參與了項目 gtk2hs 的開發, 把所有 gtk 的庫 (包括 webkit, vte, poppler等) 都綁定到 Haskell。

2011年加入深度後 Manatee就沒有再繼續開發了。我現在在深度主要負責開發。

你參與自由軟件基金會的開發有工資拿嗎?

王勇:沒有,全憑愛好。我寫插件不是為了賺錢,隻是愛好而已。

Linux Deepin 是什麼時候開始做的?

王勇:Linux Deepin 的技術創始人叫 Hiweed,他是國內的老前輩了。兩三年前就開始做,當時就 Hiweed 一個人,加上華華,兩個人開發。他們開發的就是簡單的把現成的桌麵環境和軟件整合一下,壓成一個 ISO。去年(2011年)九月份我們覺得這種方式不太好,我們就在武漢成立了深之度科技有限公司。希望通過公司的方式我們可以做的更快更好。

也就是在這個公司成立的時候你就加入了?

王勇:準確的說是在公司成立之前就加入了。之前在廣州做生意,不過我還是覺得電腦比較好玩,我就跟 Hiweed 聯係,正好他們也需要相關的開發者,我就來武漢了。在九月份之前我已經在武漢開發了半年了,軟件中心1.0就是我開發的。

Linux Deepin 這個名字是誰取的?

王勇:Linux Deepin 這個名字是 Deepin(劉文歡,Linux Deepin 發起人,武漢 Linux 用戶組聯合創始人) 取的。其實早在 1998 年的時候 Deepin 和 Hiweed 就想做一個屬於中國人自己的Linux係統, 隻是受限於當時環境和資源沒有做起來。

從那以後 Hiweed 獨自開始在 Hiweed Linux (2004 年發布第一個版本), 直到 2009 年 Hiweed Linux 更名為 Linux Deepin. (更多信息請查看https://www.oschina.net/question/195301_61633)。

那是什麼促使你們開發 Linux Deepin(LD) 這個項目呢?

王勇:首先是興趣愛好。開發中國人自己的Linux也不光是我一個人的夢想,也是我們整個團隊的目標。

其次我們認為我們可以在桌麵交互上做的更好。目前國際上最流行的桌麵發行版 Ubuntu 在易用性這一塊做了很多工作,我們也在用這個係統。但是我們也發現它有很多的不足,我們相信在這方麵我們可以比 Ubuntu 做的更好。

第三點我覺得是更快速的開發模式。大家都知道 Linux 是全世界的愛好者一起在開發,組織比較鬆散,好處是社區會比較持久的發展,但是溝通上可能會效率低下。我們是想把這個事情更快的做好。

第四點就是 Just Do It 吧。大家都知道 Linux 桌麵有很多問題,比如驅動不好,應用不好,輸入法不好,但是沒有人真正去做,說的倒是很多。我們想通過 LD 這個項目實現公司和個人的夢想,也想樹立一個榜樣:如果你知道問題出在什麼地方,那麼去解決它而不隻是說一下。

你們是基於 Ubuntu 來開發的嗎?

王勇:Ubuntu 在易用性方麵確實做了很多工作,我們沒有必要完全重新做,我們可以站在巨人的肩膀上提升吧。我們公司也才成立,人手不夠,在資源有限的情況下我們還是基於 Ubuntu 做,但我們也發現了很多限製。我們以後可能會將倉庫獨立。我們現在人比較少,倉庫有三萬多個包,根本做不好。所以在我們做不好之前,我們還是基於它的基礎上做。

Linux Deepin 相對於別的發行版的特點和優勢有哪些?是更適合中國人使用?

王勇:LD 的理念是簡單易用,開機即用。就是不需要用戶去花時間折騰比如字體,輸入法等等。我們希望做到馬上就能用,馬上就能上網,看電影,享受生活,而不是買個電腦折磨人。大家對 Linux 的第一映像就是醜,相對於 Windows 和蘋果來說是非常醜陋的,千篇一律的灰色。針對這個情況,我們做了 DeepinUI 這個項目。它是我們上半年才做的項目。大家如果用過騰訊QQ或者迅雷的話,它們有一個很好的功能就是換膚。它所有的控件都是透明的,要實現換膚的話,拖一張背景就可以了。我們的 DeepinUI 和這個功能是一樣的。就是你使用 DeepinUI 開發的軟件美觀級別和QQ和迅雷是一樣的。

就是你們做了一套 UI 庫?

王勇:是的。如果你看過我們12.0 RC 版的話,深度音樂,深度影音就是用 DeepinUI 全新做的。還有就是我們開發了深度軟件中心,用戶不需要輸入命令,也不會有權限問題,直接點一下鼠標,就像360軟件中心那樣,就可以安裝軟件了。

總結一下就是你們做了軟件中心,一套UI庫,還有一些定製的軟件。我知道 Ubuntu 也做了類似的工作。我有一個疑問是關於視頻解碼器的版權問題。

王勇:我大概知道你想問什麼了。Ubuntu 並沒有默認內置一些解碼器,因為版權問題。導致用戶播放不了某些電影。我們的想法有兩點。第一我們是尊重版權的。第二我們更多的考慮的是用戶的便捷性。我們的 LD 項目是內置了這些解碼器,正常的視頻文件都是可以打開的。我們也想通過法律手段正版化,但是目前並沒有很好的辦法。即使你代碼重新寫,在算法這一塊還是存在問題的。

Linux Deepin 這個項目是針對普通用戶的桌麵係統是嗎?

王勇:是的。我們希望 Linux 用起來能跟 Windows 一樣方便,不用折騰。即使用戶不會用,軟件打開以後也有向導告訴用戶不同的按鈕的功能,打開一個播放器,直接享受音樂而不是去折騰歌詞,亂碼,解碼器什麼的。

Linux Deepin 目前的裝機量你們有統計嗎?

王勇:Linux Deepin 目前的裝機量據我們統計在幾千台吧, 我們現在還沒有進行大規模的裝機推廣, 主要是因為 Gnome 3 桌麵環境在功能和界麵細節上還是有非常多的問題, 而且 Gnome 3 從整體架構穩定性 (單進程設計) 和顯卡兼容性上都不是非常好.

我們不但希望以後很多用戶使用 Linux Deepin, 我們更希望我們展示的係統是一個完美能替換 Windows 的係統, 而不是一個半成品。我們今年下半年會做自己的桌麵環境來徹底解決這個問題!

但是開發一個桌麵環境的工作量非常大,你們是怎麼考慮的?

王勇:工作量是大,但是桌麵環境也分前端和後端。後端有很多東西是可以重複利用的,前端的很多東西我們可以通過設計來改進。這方麵的工作量沒有想象的那麼大。我們不能說 Gnome 所有的東西都重新做,比如網絡管理器,電源管理器等等,這是沒有必要的。我們是改進現有項目的不足,而不是所有都重頭來過。

目前開發和維護 Linux Deepin 的人員有哪些呢?

王勇:目前我們有25個人的團隊,主要是在桌麵應用開發,係統開發和交互設計方麵。這方麵的人挺難招的,大部分都是才畢業的。團隊裏大家熟知就是 Hiweed (中國做了十幾年Linux的老前輩) 和 徐亮(主要負責 Ubuntu 國際化)。

這些人員都在你們公司是嗎?

王勇:是的。

也就是說沒有公司外麵的人參與到這個項目?

王勇:我們有一些兼職,比如版主、翻譯愛好者,經常還有國內外的開發者給我發送補丁。

Linux Deepin 目前有獲得收入嗎?

王勇:沒有。我們從去年成立,兩年的規劃都是通過 Deepin 的個人資金來支持的。

也就是說是你們自己掏錢來做的這個項目?要養這麼多人兩年也是要很多錢的。

王勇:對的。但是沒辦法,這是必須要做的事情。也許在別人看來是很傻的行為。首先我們要把東西做好,不能在東西還很糟糕的時候就強推預裝,沒有意義的。我們兩年之內專心研究,把產品做好,然後在適當的時機引入運營和銷售的人。

也許你們現在沒想著要盈利。但是你們有想過你們的商業模式嗎?

王勇:有。比如說我們可以通過軟件中心,增值服務,音樂影音等等。我們希望建立 Linux 的一個生態環境。就像推雪球,剛開始是我們公司來推,我們希望當這個雪球越來越大的時候它能自己滾動起來。

目前移動互聯網崛起的很快速,包括 Android 在內。你們在這一塊有沒有相應的動作呢?

王勇:Android 這方麵我們有在做,但不是 LD 這個團隊。我們認為鍵盤這種操作方式可能會被邊緣化,但是鍵盤的生產力還是高,不可能完全消失。觸摸屏的話有iOS,Android等等。但是 LD 是針對桌麵的。我們希望 Linux 桌麵的應用能夠達到 Windows 的級別。Ubuntu 的 Unity 是想通吃桌麵和平板,我們認為是不可能的。

能不能談談你對開源的看法?

王勇:我是一個理想主義者。國內的很多開發者喜歡上論壇,而我用的更多的是 IRC,跟國外的開發者交流。你進到 IRC 後會發現很多誌同道合的人在一個頻道裏麵聊天。當我有不懂的問題的時候,我就會在 IRC 中問有沒有人知道這個問題怎麼解決啊。突然就有一個人不知道從什麼地方,可能是地球另外一邊,冒出來說這個問題我可以幫你解決。從此以後你們就變成朋友,每次上線就會打招唿,那種感覺很不一樣。你一個人寫代碼,寫完代碼你也許會發現你所做的事情別人已經想到了,別人已經做到了,而且那個人也是一個十分聰明的人。那種感覺可能不是很真實,但給人的感覺很興奮。

也就是說做開源讓你覺得可以認識很多誌同道合的人,感覺很好?

王勇:是的。我舉個例子吧,原來我開發 Emacs 插件,當時好像才十幾歲。很多人就跟我講開發這個又不能賺錢,你還花那麼多的時間。有時候也會有放棄的念頭,畢竟人是要生活的嘛。但是突然有一天你收到一封陌生人的郵件,很熱情的感謝你,說你這個軟件很好用等等很多很多感謝你的話。這種就不是金錢和物質可以做到的。

你說的這些是國外的情況。那你對國內的開源現狀有什麼看法呢?

王勇:我認識很多朋友,很多高手。他們的能力應該不輸給國外的人。但可能是因為國內的 IT 行業是一個很累的行業,平時就沒有太多的時間參與開源。還有就是國內的環境不太好吧,你一說做開源就跟免費想在一起,開源好像就不要錢,然後就沒人做。我覺得不管是賺錢還是不賺錢,如果你有能力有時間就不用想其他的,做就行了。

你有沒有一些建議給初學的 Linux 開發者和使用者?

王勇:首先。我覺得好學好英文。因為很多資料都是英文。你用英文搜索你會發現往往第一頁就有你的答案。

還有就是建議大家多上 IRC。國內的論壇是很分散的,而 IRC 是很集中的。IRC 裏麵有很多高手。也許你覺得自己在周圍的圈子裏麵已經很頂尖了,但是你到 IRC 裏麵會發現他們聊的你都不知道是什麼東西,也不知道他們為什麼會這樣想,他們的思維會讓你感覺到原來還有這麼聰明的人。所以上IRC可以認識比你更聰明的人,獲得成長。

從技術方麵來講的話,我覺得要有鑽研精神。很多東西是通過錯誤才能理解的更深。如果每次開發你都 Google 一下解決了,其實你並沒有真正的理解這個問題。

很多開源愛好者(多數都是大學生)會問關於怎麼參與開源項目,怎麼和核心開發者溝通。我想告訴大家加入開源項目最好的方法就是發送補丁給開發者,這些開發者平時都很忙,如果你經常發送補丁解決他們的問題, 補丁發送久了他們會自動聯係你的。

相反很多愛好者發的第一封郵件談的是多麼想加入項目但是卻沒有任何代碼或文檔, 開發者一般都不會重視這樣的郵件。簡單一點就是, 開源項目補丁為王。

你對開源中國有什麼意見和建議嗎?

王勇:中科大現在有一個非常活躍 LUG (Linux 用戶組),為什麼他們用戶組的水平要遠遠高於其他大學的水平呢,就是因為他們平時有很多的線下交流。所以我覺得國內的社區可以有更多的線下活動。這樣就讓做相同技術的人員有一個交流。所以我覺得國內的社區可以有更多的線下活動。這樣就讓做相同技術的人員有一個交流的平台,雖然在不同的公司,但是我們做的都是 Linux ,就可以互相學習提高。

最後更新:2017-04-04 07:03:16

  上一篇:go 點心,轉型之痛
  下一篇:go php5.3.6的php_intl.dll加載不上解決方法