Java为何采用GPL 被称为“Java 之父”的James Gosling曾表示采用GPL许可证开源Java,是为了让开发者获得更多免费的代码。 “简单的说,它运行的很好。”Gosling说,“Java的发展远比我两年前预想的要快的多。” 2006年11月13日,迫于外界的长期压力,在大家的一致许可下,Java终于开源了。Sun在基于GPL许可协议下推出了Java HotSpot虚拟机和编译器。在随后的第二年Sun又发布了Class library的源代码,同样采用了此协议。 在开源社区,许可协议代表着一种契约,一种法律,一种政治。据Black Duck的统计表明,目前全球开源项目中有超过半数使用了GNU GPL许可协议。 Gosling表示:“选择GPL和现有Java市场的规模使得出现多种不兼容的Java版本的可能性大大降低了。GPL具有强制性,通过让所有业界创新成为可共享,会促使各种版本保持兼容。” 基于GPL协议发布OpenJDK 两年后,Java在基于GPL许可证下发布了由Sun领导的第一个版本OpenJDK项目,该版本可以交付使用自由和开放源代码的一个Java开发套件。OpenJDK是一个主要致力于Java语言研究的开源项目,OpenJDK是Sun为著名的Java平台构建的Java开发环境的开源版本,完全自由,开放源码。而OpenJDK将会把这些资源和技术开放给开发者。 Sun的这一宣布是GPL许可下的最大源代码贡献之一(GNU/Linux操作系统也是在GPL许可下发布的),也是业内最重大的、应用最广泛的软件平台的开源举措之一。 毫无疑问,Java采用GPL打击了相当一部分厂商,但同时会获得FOSS(免费与自由软件社区)相当的好感。最显著的一点改变就是,现在在任何Linux发布版中都可以包含Java代码了,而在此之前,只有采用GPL的perl/python才可以。 Oracle收购Sun 大力发展OpenJDK 在2006年的JavaOne大会上Sun曾提出要开放Java语言源代码,于2009年4月15日正式推出了OpenJDK。同年,2009年4月,Oracle斥资74亿美元收购Sun,同时也获得了Java技术。自Oracle收购Sun之后,OpenJDK归Oracle管理。Oracle公司创始人Larry Ellison称在Java发展蓝图中一直将OpenJDK视为核心发展项目。此后,OpenJDK获得了颇具影响力的IBM和苹果两大平台的支持。而有了这三大平台的支持,势必为OpenJDK的发展驻足马力。 OpenJDK是开源的,当然也有盈利,有一点毋庸置疑的是,有那么多Java开发人员和社区做支持,Java至少会比掌控在Sun一家手里发展的更快。 在2007年之前,Sun顶着巨大压力被迫开源Java。以IBM公司尤为突出,作为Sun的竞争对手,IBM公司的软件系统在Java中间件中占据着巨大的市场份额。IBM曾发表了一份声明:“建议Java走一条Apache之路,应当将Java的控制权交给Apache软件基金会”。 此前,Java大部分是基于SCSL(Sun Community Source License )开源。SCSL是一个开源协议,试图与官方标准相兼容同时也能确保Sun通过其他方式获得盈利下。但使用该协议,大部份厂商并不满意,Sun被迫做出改变。 |