当前位置:Linux教程 - Linux业界 - 专访:Sun软件开源CTO 最具开源血统

专访:Sun软件开源CTO 最具开源血统

  在记者所接触的包括IBM、惠普、英特尔等在内的各大公司当中,仅有Sun公司设置了软件开源首席长官。Sun为什么会设置这个职位?开源对Sun的业务会有什么样的影响?带着这些疑问,记者采访了Sun公司的软件开源首席长官Simon Phipps。

  CWEEK:Sun为什么会设置软件开源首席长官这个职位?

  Simon Phipps:Sun之所以有首席开源官,这与Sun在24年来积极、深入地支持开源运动是分不开的。1980年,Bill Joy创造了BSD版本的UNIX,并且把该软件发给社区的其他人,这相当于是开源的创始人。Bill Joy同时也是Sun公司的创始人之一,因此Sun公司成立时有BSD软件,加上比较大众化的硬件,开创了一个新的纪元。Sun在1982年正式成立时,是业界第一个以开源为基础的公司。24年后的今天,Sun还有很多跟开源世界、开源社区延续下来的合作。正因有这么多开源方面的活动,所以Sun就决定要设首席开源官,来定义和规划Sun的开源策略。

  CWEEK:Sun执行开源活动这么多年,有哪些项目是成功的,哪些是不那么成功的?原因是什么?

  Simon Phipps:OpenOffice社区是一个比较成功的例子,该社区现在已经是前三大的开源社区。这个项目当中的在线应用很多,但也存在不足。例如,社区得到的回馈不多。可以说,即使在一个非常成功的开源项目里,会有做得很好的地方,也有需要改进的地方。

  谈谈有关Java的开源历史和将来,可能对回答这个问题有帮助。1995年,Sun发布了Java平台,因为把全部代码都提供给用户,大家都有可能做一些修改和衍生的工作,这在当时很难想象。当时,Windows 95也发布了,但微软保护了他的源代码,使别人不可能做类似的事情,这对业界是一个很大的振动。

  实际上,1995年,我在IBM工作,负责把Java用到IBM的机器上。当时IBM把Java平台给Port到IBM系统中,甚至都用不着通知Sun,就可以把这个工作完成了。1995年秋,IBM又把Java平台Port到AIX、OS2以及OS390上。

  同样的事情在各地都在发生,大学拿到Java的源代码可以做进一步的工作,这样很多人在Java平台上做很多的工作,使Java可以传播得非常快,被应用得也非常多。这也在很大程度上帮助了开源概念的发生和壮大。因为人们看到把源代码公布给大家,不但没有把原有的软件技术破坏掉,反而让它壮大,发展得非常好。Java非常成功,这让很多开源套用了Java成功的要素和理念。

  CWEEK:刚才您谈到了Java对开源运动的促进,但Java本身并不是基于开源协议发布的,Java在这方面的进展如何?

  Simon Phipps:我认为,Java许可证和它的发展都要符合开源的潮流。Sun计划在今年底或明年初,用开源的许可证来公布Java源代码。Sun一方面会开放源代码,另一方面Sun认为开源其实有时是一个开放的社区,大家一起在一个代码的基础上来做工作,在开放源代码的同时,Sun也会组织一个开源 Java的社区。

  很多人认为开源其实就是一个免费得到源代码的概念,有人认为开源就是一个社区的概念,有人认为开源是一个许可证概念,但实际上,Sun认为开源是一个完整的概念,一个社区围绕着代码的基础做工作,在这里面要有一个共同的开源协议,同时还要有一个社区的组织和运作规则,这些东西都是缺一不可的。所以, Sun准备在Java方面把这个事情做好,不但是开源,而且要把这个社区运作好。

  CWEEK:Java开源会应用哪种许可?

  Simon Phipps:Sun对不同的软件、不同的社区采用了不同的许可证。例如,Open SPARC采用GPL,OpenSolaris采用CCDL,Sun会根据每一个软件或者社区的特点来决定用哪一个许可证。目前,Java开源采用什么样的许可证还没有做决定。在Sun内部,有不少人想用GPL,但也有人觉得用APS或者CDDL更好,因此Java采用哪种开源协议现在还没有最终决定, Sun正在征求社区的意见。需要指出的是,这是面向全球的意见征询,Sun也很希望听到中国的意见。

  不过,Sun会一直坚持确保Java的兼容性。Java能够广泛传播的一个重要原因就在于,在任何地方、任何人用Java,都能保证是同一版本。目前的Java标准是用Java GCP来定义的,需要的只是保证它能够顺畅地运行。

  CWEEK:有人说,JEE5越来越庞大,会降低开发的简易性,您怎么看?

  Simon Phipps:现在有很多开源系统,但是应用和系统之间需要隔离层。Java提供了很好的隔离层,这给大家提供了很大的方便,这是Java的核心价值之一。所以,Java对兼容性是一定要强调的。

  以后,软件开发一定涉及三个层面,应用层、用户界面层以及核心层面。在核心层,开源系统可能是Linux,可能是BSD,可能是 OpenSolaris,可能是其他的开源操作系统的内核,在用户这一层可能是KDE界面,也可能是Gnome的用户界面,可能是GNU的许可证。

  我个人觉得,现在开源世界已经非常丰富,非常多样化,在这个时候给用户提供一个统一的编程模式和一个环境是很关键的。代码可能也越来越大,就是因为这个环境越来越复杂了。在实际使用的复杂程度方面,Java EE5提供了很多特性,可以用不同的方法使用。

  CWEEK:Java的开源是逐步开放,还是说一次性全部开放?

  Simon Phipps:因为Java有600万行代码,所以开放要花大约一年时间。如果按月份来看,它好象需要很多月,但是过两三年回头再看,你就会觉得Java是一下子全开放了。

  CWEEK:现在的开源协议非常多,这要求开发者首先是法律专家,然后才是程序员。怎么解决开发者的这种困扰?

  Simon Phipps:从2000年到2004年,很多公司参与到开源领域里来,并且开始定义适合自己需求的开源许可证。目前,有60多种开源许可证,作为开发者确实要从这一堆许可证里面去选择。我期望把一些Sun定义的开源许可证的数目缩减,让开发者选择起来更容易。去年,我就让SISSL这个协议退役了。

  对于开发者来说,现在有三个选择:一是雇律师或者自己就是律师,懂得各种法律条文;二是相信某一个大公司,采用他的开源协议;三是相信第三方机构提供的可选开源协议名单。 CWEEK:有人在说GPL第3版不如以前的GPL第2版开放,您对此怎么看?

  Simon Phipps:GPL v3还没有最后定稿,最终的定稿会在明年底。有句谚语说:“你肯定不想看香肠是怎么制作的”。实际上,GPL v3草案的第二个版本比草案的第一个版本已经开放很多了,草案还会有第三个版本、第四个版本,然后才是最终版本。在这个过程当中,制定标准的委员会会听取各方面对许可证的意见,所以大家不用太担心。我对GPL非常看好,我希望中文版本出来以后,Sun很多软件可以用GPL。

原文链接:http://www.cnetnews.com.cn/news/softwares/story/0,3800055189,39527884,00.htm