Linux 之父:开源版 Solaris 纯属“儿戏”
时间:2004-12-23 来源:寂寞烈火
现在,托瓦尔兹及 Linux 再次与老对手狭路相逢。Sun 已经将 Solaris 转变为一个开放源代码项目,并正在建立以 Solaris 为中心的编程人员社区,促进 Solaris 在X86 架构服务器上的应用。
但现年 34 岁的这位芬兰籍程序设计师并没有因此而忧心忡忡,事实上,它一点都不以为意,并对 Sun 的这一举动称为“儿戏”。
托瓦尔兹曾任职 Transmeta 芯片商多年,现在则决定继续在新雇主处 Open Source Development Labs(开放源代码开发实验室)待上一段时间。
通过与长期的合作者和主要副手安德鲁·莫顿(Andrew Morton)合作,托瓦尔兹正在试验一种新的 Linux 开发模式:经常性地对现有的 2.6 版 Linux 内核进行修改,而不是数个月进行一次“大修”,其结果是:Linux 内核的改进更迅速了。
在接受 CNET News.com 采访时,托瓦尔兹讨论了 Solaris 、他的即兴编程风格和其它一些问题。
问:你如何看待 Sun 在发布 Solaris 10 时采取的一些措施━━技术改进、开放源代码、支持 x86 芯片?
答:我对 Sun 持一种观望的态度。它一贯是“语言的巨人,行动的矮子”,我在等着它的行动。
问:我认为 Sun 已经采取了一些措施,它已经恢复了 x86 版 Solaris ,并增加了一些有趣的功能━━容器、DTrace、ZFS ,它还在积极寻求软件开发人员和软件厂商的支持。Sun 还宣布,正式版本的 x86 版 Solaris 将是免费的,你如何看待 Sun 向 x86 平台的靠拢和 Solaris 中的新功能?
答:Solaris/x86 纯属“儿戏”,据我所知,它支持的硬件非常少。如果你抱怨 Linux 在驱动程序方面还有一些问题的话,你不妨去试试 Solaris/x86 再来说。
问:IBM 的史蒂夫·米勒(Steve Mills)曾说过,Linux 的大部分开发路线图是“人云亦云”:Unix 就是 Linux 发展的榜样。那么,Linux 有自己的发展路线图呢?还是只是在利用 Unix 的技术?
答:我是成熟概念的信仰者。我景仰的英雄是牛顿,部分原因是他获得的巨大的科学成就,但更重要的是他有一句“千古名言”:如果说我看得更远的话,那只是因为我站在巨人的肩膀上。
牛顿实际上并不是个容易相处的人,但这句话正点出了科学的精义。开放源代码就是这样,其要旨就是站在了巨人的肩膀上,对其它技术、理念进行循序见进的改进。
在我看来,仅仅为了实现部分新功能强调自己与众不同而从零开始发明全新的技术,那真是超级愚蠢加虚荣。Linux 的伟大之处就在于,我们不会一概抹煞他人技术,没有在倒洗澡水时连同孩子一块儿扔掉。不像许多计划都以为自己多了不起,这种“我最行”心态(Not Invented Here,简称 NIH)其实是一种病态。
问:你觉得外界对 Linux 哪些误解最让你气愤?
答:我不会那么容易生气,因此也没有什么说会特别气愤的东西,不过外界有一种说法挺有趣的,认为单靠一人或一家公司之力就可以让整个市场天翻地覆,这种误解其实非关 Linux,甚至非关IT产业,有人总认为事情的成功是因为当初有人特别有远见,所以才有今天的成果。大家似乎都很相信这种说法,这其实是一种虚荣心作祟。
我总是得不断跟外人解释,我没能耐控制 Linux 的发展,这只是因为这种环境而助长了开发,而不是因为某某领导人多厉害。不管是什么超级伟大的教练或什么精神宗师,其实都是同样的道理。
问:这种伟人论我自己也觉得蛮假的,不过再怎么说,你对 Linux 还是有相当的影响力,而 Linux 又对运算产业有巨大影响,你会因为 Linux 而更谦虚?还是更觉得有使命感?
答:我并非以前就没使命感,但我不会因为 Linux 而更加谦虚。我反而更加认识到那些呼风唤雨人士怎么做其实跟他所处的环境变化有很大的关连,虽然这不会让我因此变得谦虚,但至少会让我更加脚踏实地些。
我并非说个人不重要,个人其实很重要,且我相信聪明人能够做的事比一般凡人更胜千百倍。但更重要的是你必须有适当的环境才能让人发光,而 Linux 最大的成就就是让能人得以发亮。
问:当 Sun 发布开放源代码版的 Solaris 时,你是否会看看其源代码呢?
答:可能不会。我不看的原因并非是因为憎恨,而只是因为我没有时间和兴趣。Linux 从来都与“其它竞争对手”无关,其目的只是希望能够超越它自己,因此我对 Solaris 兴趣并不大。我相信,只要 Solaris 真有任何优异之处,别人会告诉我的。
问:你刚才不是说我们都站在巨人的肩膀上吗?Solaris 中可能确实会有一些不错的创意,为什么要忽视它呢?
答:因为我个人认为,该拿的我都已经从Unix通用原理上学到了,Solaris 就没有值得学习的地方了。不管从哪个方向来比较,现在Linux就是略胜一筹。
但更重要的是,即使是我错了,Solaris 的确有优于Linux 的地方,会有人给我提出来。自己试图找出这些东西无疑是在浪费时间。
问:我们假设,未来数年后,Linux 已经战胜了市场上所有版本的 Unix,到时候,你还从哪里寻找灵感?
答:我从来都不缺乏灵感。
我的灵感不是来自其它系统,而是用户的需求。用户通常不会说“Unix 可以这样做,Linux 怎么不行”云云。一般我们常听见的是:“我希望有某某功能,但却找不到”,或者说“虽然可以这样做,但却不甚理想”等。我们的灵感都是来自于此。
问:你在近期规划和长期规划方面花了多少精力?我认为你是一个“即兴的”人,而不是一个“制订长期规划的”人。
答:对,我真的不会做出长期的规划。我的长期规划都是模糊的、“直觉的”东西,我无法用文字表达它们。我会尽量避免制定长期的目标,对自己喜欢和不喜欢的东西更多的是一种感觉。一些人可能会认为这是一种随意的方式,没错就是如此,但它非常灵活,我们不会因为专注五年后的事,反而忽略了眼前应该解决的问题。
我觉得有那种远大理想虽然有趣,但也很可怕,我最常讲的是,我们没什么宏图大志,我们只专注在小改善上,至于小改善是否会掀起大革命就顺其自然了。
问:你认为没有理查德(Richard Stallman)的远见卓识,GNU 项目和 Linux 所采用的GPL 能够问世吗?
答:少了他还是有可能实现,但会有些不同。这就好像说“若少了某某伟人,世界会怎样一样?”世界是会不一样,毫无疑问的是,远见卓识带来的动力是非常大的。
你也许还会问到,没有我 Linux 是否会问世这一问题。我不是在自我吹捧,可能一种 BSD 版本的 Unix会发展起来,也可能是另外一个大学生开发出了另一套操作系统。
问:为什么会为 Linux 选择 GPL?你希望新版GPL 会有哪些改进?
答:我那时只希望找个能符合以下两点的许可协议:一是将代码向其他人开放,二是对代码的改进都能提供给大家。就是如此而已,其他说法都是言过其实。
这听起来非常简单,但大多数的开放源代码许可协议都不符合我的标准,它们的失败之处就在于:使某些人能够控制对代码的改进。
我对新版GPL 并不担心,我不是律师,对具体的字眼不感兴趣。我对 GPL 唯一的抱怨就是很多简单的事情却要罗哩八唆写了一堆,不过碰上法律似乎就是如此。
问:内核开发过程如何变化?
答:我设想的最大变化是开放 2.7 版 Linux 内核树(一种对 2.6 版 Linux 内核树“分叉”处理的试验版本),但没有人支持这一想法,其他人坚信,2.6.x 版 Linux 内核的开发模式就很好。
这并不意味着 2.7.x 不会问世━━它将在未来数个月后问世,而是意味着稳定版 Linux 内核树将使开发版黯然失色。我认为这是一种成熟的标志,也表明稳定版本对人们非常重要,不能轻易地抛弃它。
问:新的开发过程意味着改进将会被更快地集成到 Linux 中吗?
答:是的,这是这种模式的优势之一。人们已经讨厌了长达二年的开发周期。
问:哪些变化足以触发 2.7 版 Linux 内核树的发布?
答:如果我知道,一定会告诉你。以前的开发周期中,我们都知道需要修正的核心问题,但这会对依赖这些核心架构的部件形成很大的破坏作用。
问:目前有多少人在开发 Linux ?我认为少数人贡献了大部分的代码。
答:经常性地参与 Linux 内核开发的约有 200 名开发人员。记录表明,去年参与 Linux 内核开发的有 1000 人左右,但大多数都是偶尔参与开发活动。不过这还不包括其他开发人员的贡献,比如作测试,品管或给予意见者。
问:你如何看待 Red Hat 、Novell 在 Linux 市场上越来越重要的地位?它们更多地是根据客户而不是你的要求修正 Linux ,你对此感到苦恼吗?
答:我与客户打交道越少越好。我认为商业性厂商的最大贡献就是成为开发人员与客户之间的沟通桥梁,它们能够在纯技术和纯商业性问题之间取得一个平衡。开发源代码也可让技术人员比较能够忠于自己。
问:你是否感到是 Linux 厂商在主导着 Linux 的发展,而你只是过客而已?
答:对我而言不是这样,我认为厂商也不会这样认为。但他们的确给了许多意见,人们需要参与感,如果有人觉得自己只是过客,这对于大家都不是好事情。
问:Linux 进入台式机领域现在最大的障碍在桌面型技术还是营销方面呢?
答:这是一个综合性问题。应该是两者都有,在桌面型技术方面来说,Linux 还有许多改善空间;有些也跟营销方面有关,但更重要的是用户的“惯性”,就是使用者有没有动力的问题。
一般人总是懒得改变,过去这一年来这种情况尤为明显,技术明明已经在那边了,但用户还没有转换的心理准备,因此我才会认为商业化的桌面型很重要,这也是DOS(以及后来的Windows)让大家觉得很熟悉的主因,大众化的桌面型总要早上这条路,只是这还得花上好几年的时间。