专访Gnome、Ximian和Mono的创始人之一,Miguel de Icaza
Miguel de Icaza出生于墨西哥城。他推动了Gnome(Linux操作系统上的一个自由桌面软件)的问世,同时还是开放源代码公司Ximian的共同创始人。Ximian公司于2003年8月被Novell公司收购。从2001年开始,他与人合作,启动了另一存志高远的项目:Mono,一个Microsoft .NET Framework的自由GNU/Linux实现。在这次访问中,Miguel谈及Mono的进展、Ximian被Novell收购的情况,以及自己害怕Longhorn的原因。
问:你怎么看待项目启动以来,Mono的变化?目前Mono的主要目标是什么?
答:Microsoft对.Net的许多处理触及我们的痛处。一直以来我们使用C和C++太多了——它们很不错,但过于接近底层,我们想做的却是让普通用户也能创建Linux应用程序。在Windows上有许多工具可以解决具体问题,而在Linux上却得依靠自己去开发。所以,当Microsoft推出.NET,我们对它一见钟情,就启动了Mono。不过,大家开始合作之后,发生了一些事情。
首先是关于创建与Microsoft .NET相兼容的API,Novell和Ximian都只将注意力放在核心库和C#语言;很多其他参与者对Windows Forms、ASP.NET、Web Services或数据库等较感兴趣。
那时,我们已经搭建了独立于Microsoft构件集之外的一套体系,其中也包括在Linux下进行GUI开发的工具(我们对此很有兴趣,且投入了大量工作)。
这样,在核心层,我们创建了Mono,而且得到两个优质的独立构件集:兼容于Microsoft的构件集,开发者利用它把应用从Windows迁移到Linux;另一个全新构件集在某些情况下是跨平台的,但在另外一些情况下却更Linux化。
问:现在Microsoft似乎并不大肆宣传.NET了。你对.NET目前的进度怎么看?它是怎么搭建一个软件编写平台的?
答:我认为在.NET上Microsoft的做法稍嫌过分。首先,.NET意味着太多东西,反而让人极度迷惑。它既是一套服务器产品,又是一个特殊的Windows版本,还是一个开发平台。我们谈到.NET的时候,实际上是指.NET Framework,那才是它的本来面目——.NET的一个组成部分。.NET Framework是非常好的开发平台。至少,它让对MFC心生厌恶的人们不再转移到Java平台。如果这些人继续走Microsoft技术路线,那么他们得到了比以前好得多的解决方案,且较易转移过去。我认为微软成功了。
可能你不怎么听到关于.NET的消息,这是因为它已经不是热点新闻,而成为了开发者的工具。还有一种可能性是微软的重造品牌战略——我认为会让事情更加复杂。他们试图把.NET Framework重新塑造为WinFX——别与WinFS相混淆。WinFX基本上是Longhorn上的.NET Framework新版本,所以它会包括WinFS、Avalon和通讯架构。整个Longhorn搭建于.NET平台之上。
问:Novell收购Ximian是Mono项目启动以来的一件大事,具体过程如何?
答:我们有一个基于Linux的产品,Red Carpet,用于管理Linux服务器和客户机之间的软件更新。图形界面非常棒,也有让管理员做计划任务的命令行工具;你能对软件更新做集中管理、分发、备份、恢复等等。该产品基于Linux,Novell拥有一个基于Windows的类似产品。于是大家坐下来谈怎么结合它们,从而使双方获益。
他们那边派了一些人来,想看看怎么定位Novell,以及如何才能把Novell服务移植到Linux上;这是一个长期计划。有一天,他们过来做了演示,然后说:“情况就是如此,我们真的想走向Linux,我想你们可以帮助我们。”
问:成为Novell的一部分,有什么好处?
答:我刚才提到,合作始于Red Carpet。Linux桌面系统对他们也深具吸引力,他们希望在这方面有所成就——我们决不愿意在服务器端画地为牢,客户端才是一切操作发生之地。Novell收购案让我们能重组团队,在桌面端继续工作,而无需在Red Carpet上持续投入。
问:Novell是否决定桌面端应采用什么形式?它会基于Gnome吗?或者会有其他元素加入?
答:我们不能从一而终——Gnome和KDE都有各自的用户。我们的计划是与Freedesktop.org合作。他们制订协议——例如桌面通知系统、系统级配置引擎、剪贴板支持、拖放等等。我们正将这些要素放入Gnome和KDE,让桌面与这些元素合为一体。
基本上Gnome和KDE都是内核的外壳(shell),在它们之上还有office套件这样的高阶应用。我们决定采用OpenOffice,浏览器采用Mozilla,Email客户端采用Evolution,即时通讯客户端采用Gaim。这样,我们需要把这些成功的开源项目组合到一起。整合工作耗力甚巨。
问:你们在GNU/Linux桌面和开源桌面之间做了选择,请详细解释一下。
答:某种程度上我们一直在开发与Linux桌面紧密相关的工具,且只能运行于Linux之上。我看到有两个相当成功的项目:Mozilla和OpenOffice,都是跨平台的。所以,如果我们打算开发需要时间较多的新项目,例如视频编辑——这类工具目前在企业级桌面系统上并不存在跨平台问题,但愈接近软件客户,跨平台需求可能性愈大。我们喜爱Linux,但并非所有用户都能顺利迁移到这个平台。尽管如此,我们仍能够降低他们的总体成本。也许你不再需要Office、不再需要IE,或者不再需要Final Cut Pro等等。我们应当考虑创建跨平台应用,让它可以运行于Windows和MacOS之上。
问:Novell何时会迁移至GNU/Linux桌面?
答:我们正在努力。我想今年10月整个公司会迁移到OpenOffice,明年六月能够整体迁至Linux——不要指望迁移6000人的工作一蹴而就。
我们现有的相当一些用户也在考虑迁移到Linux桌面,在此过程中也出现一些问题,这些问题正是我们可供借鉴的。例如,Extramadura和Andalucia开始动作两年,现在他们已经在200,000台计算机上部署了Linux、Gnome、Mozilla和OpenOffice,到明年夏末这个数字会增长至400,000台。这是两个极大的部署项目,也许是目前为止最大的Linux桌面系统部署项目,使用者包括孩子和老奶奶们。
问:如果继续走开源路线,你认为将会面临的最大危险是什么?
答:微软意识到Linux闯入自己享用多年的牧场,成为自己的竞争者;我认为Longhorn是微软争夺失地的一大兵器。Longhorn包括一项令人惊恐的技术:Avalon,配合另一项成为XAML的技术,将是极具威胁的。它们基本上是HTML的替代品,如同编写HTML一样容易,这意味着每个人都能使用文本编辑器创建内容。
基本上这是下一代的HTML。更多工具、更具灵活性、更丰富的用户体验——你能在本地机上感受到如同Web一般的形式。你开发如此极尽丰富的应用,但分发起来又像Web般简易。和点击URL一样:访问google,网页出现,而且工作正常。分发模型大体如此,但用户界面的高度交互性令人着迷。
当然,不利之处在于,新的交互机制被紧缚到.Net和WinFX上。所以我们认为它是一个极大的危险。大量用户无法迁移到Linux或是Mozilla,是因为许多企业的内部站点只支持IE扩展。想想看,只能使用XAML的世界,将会变成怎样?
巨恐怖,我非常害怕。