对话Ubuntu Tweak作者:站在用户的角度玩Linux

来源:红联Linux门户 作者:红联Linux门户
  
 前不久,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:嗯,希望如此!那么本次问题就到此结束,感谢周鼎接受我们的采访!

时间:2011-08-08 12:20 来源:红联Linux门户 作者:红联Linux门户 原文链接

好文,顶一下
(6)
85.7%
文章真差,踩一下
(1)
14.3%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
论坛精华
一周热点
无觅相关文章插件,快速提升流量