网站地图
OpenSolaris

OpenSolaris是一个由SUN公司(现已被Oracle收购)所发起的开放源码操作系统项目,用来建立以Solaris操作系统为主的开发者社群,项目的适用对象主要是开发者(也就是软件设计师、程序员)、系统管理者(资讯管理师、资管师、资管员)以及使用者(用户),透过这些人期望能使Solaris获得进一步的发展与强化。OpenSolaris的源代码事实上就是最新的正在开发过程中的Solaris源代码。

开放源代码的项目,用来建立以Solaris作业系统为主的发者社区,专案的适用对象主要是开发者(也就是软件设计师、程序员)、系统管理者(资讯管理师、资管师、资管员)以及使用者(用户),通过这些用户期望能使Solaris获得进一步的发展与强化。原码专案已有超过12,000人上此项目的官方网站OpenSolaris.org并注册成为社区会员,其中有超过11,000名会员都不是Sun Microsystems的员工(表示不是强迫自己公司同仁去充量注册才造就为数众多的会员),由此可知OpenSolaris的用户社区(User Group Community)相当活跃,且仍在持续成长中,有愈来愈多来自全球各地的人加入响应。此外在官方网站上也有12个OpenSolaris的技术社区与项目已发起并正在进展。

应用设计,以及社群发展等。到了2004年9月,由18位非升阳电脑的社群成员共同成立了先期发展计画(Program),之後参与人数逐渐增加,经过9个月的试行,外部共同参与者已达145名。

  接著,Solaris原始程式码的开放程序逐渐加快,第一个开放(也称:释出)的部分是Solaris的Dynamic Tracing Toolkit(动态追踪工具套件,一般也称为DTrace),这个追踪工具可以协助程序员及资管师对系统(指电脑)进行以效能为取向或资源利用率为取向的最佳化调整。

  DTrace已於2005年1月开放,同时升阳也完成OpenSolaris.org网站的第一阶段建置,并宣布OpenSolaris的原码将依据CDDL(Common Development and Distribution License)授权方式来开放,同时打算成立社群指导委员会(Community Advisory Board,简称:CAB)。

  到了开放当天(2005年6月14日)有大量的Solaris作业系统的原始程式码被公开释出,不过仍有部分不公开,而只提供二进位的执行程式码,未公开的原因据说是这些程式的原码涉及协力业者(也称:第三方业者)的智慧财产权(简称:智财权),所以升阳电脑方面也无权公开。至於释出的OpenSolaris原码,几乎与正在使用与研发中的Solaris原码相同。

  到了2005年4月4日,升阳电脑宣布了五名CAB的成员,其中两名从先期计画的社群中推选而来,另有两名由升阳公司指派,另一名则由升阳公司自广大开放原码社群中选定。2005年、2006年间OpenSolaris的CAB成员有:Roy Fielding、Al Hopper、Rich Teer、Casper Dik,以及Simon Phipps。

  2006年2月10日升阳电脑签署了OpenSolaris的章节,正式将OpenSolaris社群推升成一个独立团体,并由OpenSolaris管理委员会(OpenSolaris Governing Board,简称:OGB)来负责(详见Sun的Blog),而首任的OGB人员也来自于之前的CAB,他们的工作是建立及确认OpenSolaris社群的管理,且这样的阶段性工作任务於2006年6月30日告结。工作的内容包括建立管理文件或「规章」,如今这些都已经进入程序(意思是:步上轨道了)。此後管理工作团队(Governance Working Group)将由OGB与三名受邀者所共同组成,这三名受邀人士分别是:Stephen Hahn、Keith Wesolowski(升阳电脑内Solaris单位的程序员),以及Ben Rockwood(在OpenSolaris社群中表现卓越杰出的一员)。

  升阳电脑已将Solaris的多数原码以Common Development and Distribution License(CDDL,共有开发及散布授权)授权方式来开放,CCDL授权是以Mozilla Public License(MPL,Mozilla公共许可授权)1.1版为基础所研拟成的新授权许可方式,所以CDDL与MPL相同,两者都与普及的GNU General Public License(GPL,通用公共许可授权)不相容(或说:不兼容)。不过CDDL确实是属于「开放原码(源代码)且可自由授权」的一类。CDDL是由升阳公司所提创,之後将提案送交给开放原码促进会(Open Source Initiative,OSI)审核,并在审议获得通过(2005年1月)核准的一种新开放原码授权法。关於「自由软体授权」的定义,则以自由软体基金会(Free Software Foundation,FSF)的叙述为依据(详见此)。

  此外要提醒的是,关於MPL授权法,自由软体基金会也表示:"... So, a module covered by the GPL and a module covered by the CDDL cannot legally be linked together. We urge you not to use the CDDL for this reason." (详见此)。意思是:若有一个软体模组采行了GPL授权那就不能采行CDDL授权的软体模组进行连结(link),若执意交混使用此两种不同授权的软体模组,则自由软体基金会将对此向您发出抗议。

  另外,Mozilla Application Suite(也称:Mozilla Suite)及Mozilla Firefox已经改变他们的授权方式,允许使用者在在三种授权方式中任选其一:MPL、LGPL及GPL。

原码开放(OpenSolaris),Linux的发创人:林纳斯托瓦兹在2004年12月22日接受CNET新闻网(CNET news.com)专访[2]时曾如此表示:

  「Nobody wants to play with a crippled version [of Solaris]. I, obviously, do believe that they'll have a hard time getting much of a community built up.」

  翻译:没人要用残缺版的东西(指Solaris),另外我确信他们得花很多时间才能建立起具规模的社群。

  同时他也指出OpenSolaris在装置驱动程式(Device Driver,也简称:驱动程式、驱动程序)的支援上将是个问题,他认为OpenSolaris的社群在此方面的尝试与努力将是个大磨难。关於此他说:

  「If you thought Linux had issues with driver availability for some things, let's see you try Solaris/x86.」

  翻译:如果您认为Linux的支援驱动程式不够多,那您应该去试试x86版的Solaris。言下之意是:Solaris虽与Linux一样都能在x86硬体上执行,但在驱动程式方面的支援上(Open)Solaris仍远不及Linux。

  不过,数个月後Tovalds的立场态度有些软化,他在2005年2月的企业Linux峰会(Enterprise Linux Summit)[1]时,对于软体开发专案的许可授权方面认为CDDL有其未来性:

  「…CDDL is different. Everything is in place for it to work well, adding (tongue-in-cheek)A lot of people still like Solaris, but I'm in active competition with them, and so I hope they die.」

  翻译:CDDL可就不同,以此方式授权软体开发工作将可更良善,此外有许多人仍喜爱Solaris(假意的说法)。不过我仍会积极与他们(OpenSolaris社群)竞争,所以我希望他们挂去。

   * SchilliX,Live CD型态的OpenSolaris

  * Belenix,Live CD型态的OpenSolaris(Belenix网站)

  * marTux,Live CD型态、Live DVD型态的OpenSolaris(第一个以支援SPARC硬体架构平台所发行、发布、散布的OpenSolaris)

  * Nexenta,一个以Debian为基础的发行版本,结合了GNU软体及Solaris的SunOS核心。

  * Polaris,将OpenSolaris的原始程式码,以支援PowerPC硬体(也称:硬件)架构平台来进行调整、修改,并重新编译(Recompile)而成的OpenSolaris,简单而言即是转移、改写(port)出一套供PowerPC硬体执行的OpenSolaris,而其名称:Polaris即是将PowerPC的首字母「P」,再加上Solaris的「olaris」而成,不过Polaris在英文也是「北极星」的意思,然这只是巧合,如同培基程式语言:BASIC其实是五个字词的首字母缩写而成,并非原意就想取名为「基础程式语言」。(Polaris网站)

  * Portaris,一个非正式、非官方的移植改写(port),将Gentoo的Portage转移改写到OpenSolaris上,2006年4月时仍处在外部测试(beta)阶段。

OpenSolaris是Sun的一个开源项目,代码更新很快。很多系统的新特性会优先在这个版本里面体现,比如DTrace和ZFS等等,当技术成熟稳定之后会用到Solaris的后续发行版本里面。

Solaris是Sun自己维护的一个版本。因为用了很多第三方的代码,有一些版权上面的关系,所以这个版本与OpenSolaris不太一样。

据Sun自己宣传,Solaris中Sun拥有的代码已经全部开源,可以在Sun的网站上免费下载DVD镜像。

而且,Sun还提供了对Solaris的商业支持,但对OpenSolaris没有任何支持。

1、 从开发人员的角度来看

编译器和集成开发境,另外原来一些商用的编译器和集成开发环境,如SunStudio,现在也提供免费下载使用,这样基于OpenSolaris就可以构建出强大而完善的开发环境。使得用户可以快速、灵活进行各种软件的开发。在基于OpenSolaris的开发环境中, OpenSolaris系统提供的各种追踪、调试以及优化工具,会给开发人员带来极大的帮助和便利。我想对于任何一个有过开发经历的人,调试和Debug的过程都曾是挥之不去的梦魇,而在基于OpenSolaris的开发环境中,你可以使用Dtrace、DBX、Truss等等一系列的跟踪和调试工具,这些工具会使调试的难度大大降低,为开发人员节约大量的开发时间,缩短开发周期。利用OpenSolaris自身提供的虚拟化技术(Zone)以及运行于其上的虚拟机软件(xVM和VirtualBox)可以在一台真实的物理服务器上创建多个虚拟机环境,以及配置虚拟网络虚拟交换机,从而构建基于虚拟机的开发环境,这样可以充分的利用服务器的物理资源,降低开发环境的成本。由于虚拟机易于备份、迁移和管理的特点,基于虚拟机的开发环境具有较之基于物理服务器的开发平台更高的可用性、可管理性和可扩展性。

2、从企业级应用的角度来看

对于企业级应用来说,往往使用的是配置有多颗CPU的重量级服务器,随着CPU数量的增加,系统内部调度的复杂度会急剧增加,如果相关部分处理不好,对系统性能会有非常大的影响。而OpenSolaris良好的继承了对大型服务器的支持这一特点,在多CPU 环境下表现十分让人满意。另外,基于OpenSolaris的虚拟化解决方案也十分成熟和完善,而虚拟化技术则是目前企业级应用进行服务器整合、提高RAS(Reliability、availability、Scalability)、增强安全性的主要发展方向。因此,OpenSolaris在支持企业级应用上有着明显的优势。

3、从开源玩家的角度来看

OpenSolaris界面友好、代码开放、文档完备,是开源资深玩家和初学者一个好的选择,OpenSolaris的源代码中,饱含了很多专利技术,这对于任何人来说都是深入学习的好机会,在OpenSolaris的社区中,有很多资深的开发人员甚至某一方面的领军人物,而开放的论坛和邮件列表,为有兴趣参与其中的开源玩家建立起了与这些“高手”们交流的机会。对于有想法的人来说,OpenSolaris社区更是一个展示能力的好舞台,任何人的一个建设性的想法,也许就会成为其中的一个项目,甚至最终发展成一项宏伟的工程。

1、OpenSolaris是唯一的

Linux有多个发行版本,每一个发行版本在系统的配置、管理上都有一些特有的命令,每个发行版本类似功能的配置文件的文件名、存放位置乃至文件内容都有所不同,所以造成了一种现象就是,精通一种Linux配置和管理的人,到了另一种Linux上却一筹莫展。而OpenSolaris不会出现这种情况,因为OpenSolaris是唯一的。

2、OpenSolaris是严谨的

Linux的在其发展过程的主要表现之一就是自由度比较高,而这种自由是以牺牲严谨性为代价的,Linux的每一次内核版本的升级,对于既有的应用来说都是一场浩劫,轻则需要重新编译,重则需要进行移植,这是应用的开发者和使用者都不愿意看到的情况。而OpenSolaris会严格的保持向下兼容的特性,从而最大程度的避免了类似情况的发生。

3、OpenSolaris是完善的

Linux的系统管理命令很不完善,大量的系统管理配置工作都需要通过直接修改配置文件来进行。大家知道,人为的编辑错误是不可避免的,对于关键的生产环境来说,如果在编辑系统配置文件的过程中出现错误,很可能会引起非常严重的后果。而OpenSolaris提供了完善的系统管理工具集,系统配置可以通过专用的命令来完成,而系统管理的命令会对命令所包含的参数进行验证,避免错误的参数输入。因此与Linux相较而言OpenSolaris更加完善。

综上所述:OpenSolaris是一个完善的、开放的、严谨的、友好的操作系统平台,用户可以使用OpenSolaris构建灵活、强大的开发环境;构建高效、健壮的企业及应用服务平台;OpenSolaris社区为开源软件的玩家们提供了探讨学术空间以及发挥才能的舞台。


相关文章推荐: