王勇详谈 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 (http://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. (更多信息请查看http://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 一下解决了,其实你并没有真正的理解这个问题。

很多开源爱好者(多数都是大学生)会问关于怎么参与开源项目,怎么和核心开发者沟通。我想告诉大家加入开源项目最好的方法就是发送补丁给开发者,这些开发者平时都很忙,如果你经常发送补丁解决他们的问题, 补丁发送久了他们会自动联系你的。

相反很多爱好者发的第一封邮件谈的是多么想加入项目但是却没有任何代码或文档, 开发者一般都不会重视这样的邮件。简单一点就是, 开源项目补丁为王。