回顾:OpenSolaris 2008.11

OpenSolaris 2008.11最终于12月1 日正式发布。尽管只是晚了一天,依然足以证明用日期来作为软件的版本号是一件不甚靠谱的事情。众所周知,在这最后两个星期里Sun 公司宣布了裁员6000人的决定。值得庆幸的是,这个决定并没有影响到Sun 公司坚持走开源路线的决心。

2008.11版本的OpenSolaris在改进用户体验方面颇费心思。使用过2008.05版本的用户大都体验过pkg命令崩溃或者是包管理器(Package Manager)假死等等令人不快的情景,在新的版本中这两个功能都得到了显著的增强。在此基础上2008.11增加了更新通知功能,使得用户可以及时地通过网络下载安装最新版本的软件。软件资料库pkg.opensolaris.org设置了release, contrib, dev三个不同的目录来区分正式发行版本、社区贡献版本和开发中版本的软件,使得社区成员向OpenSolaris项目贡献打包好的软件成为可能。Sun 公司也开通了官方的软件资料库pkg.sun.com,其中extra目录提供由于授权问题无法自由地重新发布的软件,support目录则向Sun 公司的订阅用户提供支持。不足之处是Sun 公司依然没有发布制作IPS服务器镜像的方法,因此全球的OpenSolaris用户都要通过位于美国的IPS服务器下载和安装应用程序。(唯一的例外是中国,国内用户可以使用Unix-Center.Net设立的IPS服务器镜像。)

在Gnome 2.24, FireFox 3, ThunderBird 2和OpenOffice.org 3的基础上,2008.11提供了一个相对可用的开发者桌面。你可以用SongBird来听MP3,用Tracker来进行桌面搜索,用Pigdin来和MSN或者是QQ上的朋友聊天,用Gobby来进行远程协作,用Transmission来完成BT下载,用Sun Studio、NetBeans或者是Eclipse来开发应用程序。只需要安装一个叫做webstack的软件包,即使是从来都没有做过Web开发的新手也可以轻松搞定Apache、MySQL和PHP的安装和配置。更重要的是,利用OpenSolaris所特有的DTrace特性,开发人员可以轻松地定位和消除应用程序中的瓶颈。即使是针对Linux操作系统开发的应用程序,也可以在OpenSolaris上利用DTrace进行性能调优,然后再部署到Linux操作系统上。

2008.11版本中最引人注目的特性,毫无疑问是Time Slider。简单地讲,通过托拽文件管理器上一个代表时间的滑快,你可以看到同一目录在不同时间的内容。相信大部分用户都有过误删文件的经历,这时候我们总是想“如果我能够回到过去就好了”。利用Time Slider,你可以放心地编辑和删除您的任何文件或者是目录,因为在任意时刻你总是能够回到过去。这看起来像是一个超级的回收站,也有朋友将其和Mac OS上的Time Machine相比较。其实Time Slider所利用的是ZFS的特性,通过定时地制作指定目录的快照来进行数据备份。ZFS的快照是增量式的,它所保存的不是文件本身而是文件改变的增量,因此它不会显著地增加对存储的需求,也不会显著地影响操作系统的性能。

Solaris操作系统的忠实用户可能会怀念Flash Install,它使得系统管理员能够轻易地同时安装和配置千百台相同或者是相似的Solaris服务器。从2008.11开始,OpenSolaris尝试着提供一个全新的自动安装技术。和Solaris操作系统相类似,OpenSolaris系统管理员可以配置一台安装服务器,不同配置的待安装机器可以访问该服务器,获得符合本机配置的安装清单,从而自动地完成安装和配置。此外,打算自己制作OpenSolaris发行版的用户可以利用Distribution Constructor来定制化OpenSolaris发行版。这个工具接受一个安装清单文件作为输入,输出一个可启动的OpenSolaris安装光盘映像。

Linux操作系统的用户可能会问:“那又怎么样?你说的这些Linux大部分都有,并且比OpenSolaris要做得更好。OpenSolaris到底有独特的优势?”

Sun 公司的忠实粉丝会一遍又一遍地回答:“ZFS、DTrace、SMF。ZFS、DTrace、SMF。”

然而我认为这不是OpenSolaris的本质。

近些年来,计算机的性能不断提升而其成本不断降低,使得越来越多的人员涌入计算机相关产业。仅以中国为例,1995年中国设置有计算机相关专业的大专院校不过100所左右,到2008年这个数字已经突破了800。从业人员的增加必然要求相关行业降低其进入门槛,对于软件产品来讲就是在降低获得成本的同时提高用户体验。换句话说,就是软件要越来越便宜并且越来越容易使用。在过去的10年间,Solaris操作系统从收费软件变成了免费软件,但是其用户界面并没有发生根本性的变化。在同一时期,Windows坚持收费的路线但是不断改善用户体验,最终成为普通用户首选的桌面环境。开放源代码的Linux操作系统由于免费而吸引了大量需要Unix操作系统的开发人员,这些开发人员对Linux的贡献又使其性能和用户体验逐渐接近甚至超越了传统的Unix操作系统。在Linux咄咄逼人的攻势之前,Novell转向了Linux,SCO倒下了,IBM和HP在拥抱Linux的同时将AIX和HP-UX定位为大型机操作系统。作为硕果仅存的一个仍在不断发展的商业Unix操作系统,Solaris的其市场份额也在不断萎缩。

OpenSolaris的本质,是放弃旧的开发与销售模式,拥抱新的开发与销售模式,从之前的“技术决定市场”转向将来的“市场决定技术”。说得更简单点,就是放弃学院派的自我崇拜,倾听用户的反馈,切实改进用户体验,按照用户的使用习惯提供用户需要的功能。

这就是为什么Sun 公司要收购MySQL。这也是为什么OpenSolaris要支持Eclipse。使用Java语言的开发人员一定非常熟悉NetBeans与Eclipse之间的明争暗斗,不过最近两年来Sun 公司对于Eclipse的态度已经大为缓和。举个例子说,在即将发布的JavaFX SDK 1.0中,很有可能会提供一个Eclise的插件,使得开发人员可以使用Eclipse开发JavaFX应用。在未来一到两年里,会不会有更多的NetBeans特性被贡献给Ecipse基金会,甚至是出现一个基于Eclipse的NetBeans?尽管存在众多的不确定性,我相信现在说不还为时过早。

Linux用户更为关心的其实是另外一个问题:OpenSolaris什么时候会使用GPL授权协议发布?Linux用户什么时候能够用上ZFS、DTrace和SMF?

这个问题也许可以转换成下面一种表述:Sun 公司如果希望其发布的某种操作系统得到Linux用户的青睐,那么这个操作系统需要具备如下特点:(1) 支持Linux所支持的硬件,(2) 使用Linux所使用的桌面,(3) 采纳Linux用户的使用习惯作为系统缺省设置(例如bash),(4) 使用GPL授权协议,(5) 提供ZFS、DTrace、SMF以及未来Sun 公司的其他技术创新。

在技术层面上,广泛的硬件支持是OpenSolaris操作系统最大的难点。虽然Sun 公司有一个庞大的团队在从事x86 相关硬件驱动的开发,为OpenSolaris贡献驱动和补丁的社区人员也与日俱增,然而要赶上Linux对硬件支持的水平还需要不短的时间。Linux的硬件驱动程序虽然是开放源代码的,但是由于授权协议互不兼容的原因,OpenSolaris开发人员完全无法利用这些开源社区已有的成果对自身进行改进。因此,使用GPL授权协议重新发布OpenSolaris源代码和二进制代码,也许是一种双赢的解决方案。通过使用相同或者是相互兼容的授权协议(GPL协议有多个不同的版本),OpenSolaris社区获得了Linux社区的硬件驱动,Linux社区获得了OpenSolaris社区的ZFS、DTrace和SMF的先进特性。这种技术融合最终会产生两个混血内核的操作系统,其中一个源自OpenSolaris内核与Linux驱动的组合,另外一个源自Linux内核与ZFS、DTrace和SMF的组合。这两个操作系统在硬件支持和使用习惯上相互兼容,在增加了用户选择的同时又避免了供应商锁定的问题,对于开源社区来说无疑是个好消息。

在非技术层面上,OpenSolaris作为Linux的竞争对手,在情感上难以获得Linux用户的支持。2005年Sun 公司使用CDDL授权协议发布OpenSolaris项目的时候,曾经将CDDL授权协议与GPL等授权协议进行比较并对GPL授权协议做出了一些负面的评价,引起了Linux用户的普遍反感。Linus Tolvalds更是指出:“由此看来,Sun 公司只是打算利用Linux社区的资源(尤其是驱动),而不是真的想要回馈开源社区,尤其是ZFS文件系统。”近几年来,Sun 公司内部对GPL授权协议的态度发生了重大转变,譬如2006年11月开放Java虚拟机源代码时采用了GPLv2授权协议,2008年9 月开放xVM源代码时采用了GPLv3授权协议。最近,Sun 公司首席执行长官Jonathan Schwat也曾经多次在公开和非公开场合表示Sun 公司不排除使用GPL授权协议发布OpenSolaris的可能性。这种可能性一旦成为现实,就犹如柏林墙之倒掉,昔日的宿敌终于成为朋友。往大的方面讲,OpenSolaris与Linux两个开源社区冰释前嫌,才有可能激发如上所述之技术融合,最大程度地实现开放源代码技术的价值。往小的方面讲,Sun 公司消除了Linux社区的敌意,才能够更有效地宣传和推广其OpenSolaris操作系统。

因此,不管是在技术层面还是非技术层面上,使用GPL授权协议发布OpenSolaris项目对于Sun 公司和整个开源社区来说都是个双赢的选择。

事实上Sun 公司还可以对Linux社区更加友好一点。譬如说,将ZFS, DTrace和SMF以GPL授权协议移植到Linux上,甚至是在此基础上推出一个混合内核的Fusion Linux。Sun 公司之前也曾经推出过基于Linux的Java Desktop System,但是由于公司内部的技术分歧而无疾而终。在技术层面上,JDS与同时期的其他Linux发行版相比并无过人之处,更由于使用了一个令人困惑的名称而备受诟病,最终在Linux社区留下了难以磨灭的污点。然而我总觉得目前这重重危机,正好是Sun 公司重新评估其Linux战略的绝好时机。

这件事情是否真的会发生?没有人能够预测未来。然而思想的桎梏一旦被打破,一切皆有可能。

声明:尽管本文作者就职于Sun 公司,本文仅代表作者自己的观点,而不代表其雇主Sun 公司的观点。

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章