当前位置:Linux教程 - Linux业界 - Solaris开源不走寻常路

Solaris开源不走寻常路

文章出处: csdn

Sun将其耗费五亿美元研发成功的Solaris 10免费提供给用户使用,已经被人视为“疯狂”的举动,而紧随其后的对Solaris 10开放源代码,没有采用GPL(公共许可协议),而是遵循了更简短、更清晰的CDDL(通用开发和发布许可)协议,则不得不使人相信:Sun正试图用技术来换市场,已决心将开放进行到底。

开放与共享是推动IT发展的主流,也是集思广益的绝妙途径之一,而相关的开放协议能够使得开放与共享更加规范化。但是,现有的开放源代码协议,包括GPL等等都有着种种的限制而不利于开发者的参与。OSI(开放源代码促进会)新近批准Sun所提出的CDDL(通用开发和发布许可),将解决开发者在进行开放源代码软件开发时所遇到的数个问题:专利授权、本地法律条文和与其他开源协议软件进行混合编译等,从而赋予开发者更多的自由和权利,并且无需承受更多的义务和责任。
可以说,CDDL协议将源代码的开放程度大大往前推进了一步。而采用了CDDL协议并且开设了OpenSolaris社团的Solaris 10,将使得开发者有机会参与到这一操作系统的研发进程中来。当下载遵循CDDL的源代码时,可以对其进行修改、编译并形成产品,甚至销售。而无论做什么,都无需向Sun支付任何费用。Solaris 10是Sun引以为豪的划时代产品,而开放其源代码,则是Sun为吸引更多的用户和开发者、企业加入到Solaris研发环境中来而做出的努力,并且Sun也坚信这将有助于Solaris和Sun的发展。正如Sun公司主管软件的执行副总裁John Loiacono所说“OpenSolaris社团将加快创新与协作,而这正是开发商、客户和合作伙伴赢得更多新商机所需要的东西。”
与此同时,一位名叫Philip Beevers 的开发者在Royalblue网站上说,“通过OpenSolaris试用项目,现在我们能够采用Dtrace技术完成我们以往不能做的事情。我们希望通过CDDL协议下Solaris Dtrace源代码的采用,进行更多的创新,并提升我们自己产品的质量。”
保护专利诉讼避免遭遇“SCO官司”
很多关心Linux阵营的人都知道,在2003年,SCO公司曾经向包括IBM在内的全球1500家使用Linux的大企业用户致信,声称Linux软件使用了SCO的UNIX代码,“未经授权侵犯了”UNIX的技术,并警告称,Linux系统的商业用户有可能因此而面临司法诉讼。这样的一起诉讼尽管最后不了了之,但是说明了一个问题:尽管Linux本身以开放源代码、不依靠知识产权获利为原则,但是它还是有可能遭遇知识产权的官司。
“遵循CDDL协议进行开放源代码的Solaris 10绝对不会遭遇这样的问题。CDDL对专利诉讼提供了更强劲的保护。”Sun公司负责操作平台部门的副总裁Glenn Weinberg先生说:“在承认CDDL规范前提下,与Solaris 10相关的600多项专利被全部特许给了OpenSolaris。某些第三方专利,Sun也正在与之协商解决,力求做到全面开放。短时间内无法解决的,将以二进制代码的形式实现开放。”
根据CDDL协议的规定,在下载源代码时,Sun就授权开发者可以使用其中Sun所拥有的所有跟Solaris 10相关的专利。为方便企业和政府对源代码的使用,这些专利将会包括已经申请下来的和正在申请的。
因地制宜遵循本地法律
有关知识产权的法律保护问题,虽然得到了世界性的认同,但是在不同的地区,其法律条文的有关细节还是会有所不同,而让中国的软件开发者去学习和遵循美国的知识产权保护条例,显然有点勉为其难。
“现有的开放源代码协议,包括GPL在内,都是基于协议本地的法律条文而生成,其中大部分是基于美国本地的法律。”Sun公司负责软件部分的副总裁Tom Goguen先生说:“在美国以外的地区使用遵守这些协议的软件,就不得不同时遵守美国的法律,这样将会造成开发者和使用者很多的不便。”
CDDL把协议本身和法律权限范围分割开来,因此不在美国地区使用CDDL协议的软件,就无需再遵守美国的法律,仅受软件使用者当地法律的制约。这一点也是CDDL有别于其他开放源代码协议之处。
双重协议允许“异花授粉”
CDDL是一个遵循双重协议的规范,对其它开放源代码也有很大的吸 引力,有了CDDL之后,同类社团的其他项目和许可就可以无需再创建新的许可协议。CDDL允许OpenSolaris与任何开放源代码的程序相结合,形成新的软件。这一点有别于GPL的规定:如果要将遵守GPL协议的代码与其他代码相结合,必须首先把他们变成GPL的软件。
对于开发者而言,他们将会很注意一点:是否需要被迫将其所写的那部分代码贡献给CDDL社区?从他们的需求而言,他们需要有一种选择的权利:或者贡献给社区,或者保留而不开源。若能这样,将对众多参与开发的企业带来益处。他们将能得到一种保护自己技术成长的方式,对政府来说,也将能得到一个保护自己知识产权的机会:无需将自己的研发成果贡献给被某几个公司所掌握的开源社区。
对于CDDL协议而言,如果在OpenSolaris 10代码的基础上,加了代码形成新的软件,并不一定需要将其变为开放源代码的东西。是否选择成为开放软件,完全取决于开发者自身的意愿,这就很好的保护了用户和厂商的权利。CDDL把区分做得更加明确和鲜明。所有修改了源程序的,必须返回CDDL来确认;但是如果是自己新加的部分代码,就无需返回CDDL确认。
因此,开发者和厂商完全可以用Solaris的代码与其他的开放源代码软件技术,与诸如Apache(遵循Apaceh开放源代码协议)、Mozilla(遵循MPL协议)等等软件技术相结合,生成新的产品,然后把这个产品进行市场化、销售、推销等等,而无需向Sun支付任何费用。这将使得Sun的专利技术与其他开源技术相结合,相互之间“异花授粉”,从而能够得到性能更为强大、技术更为先进的开源软件。
然而,遵循GPL协议的Linux并不能直接利用OpenSolaris中的源代码,原因在于GPL与CDDL之间的不兼容。而Sun显然不愿意将其Solaris变成GPL软件,这将有别于其提出CDDL的初衷。
当然,Linux开发者还可以通过查看OpenSolaris的源代码来获取更多的灵感,这其实也是另外一种形式的“异花传粉”!