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来定义的,需要的只是保证它能够顺畅地运行。