漫谈Java开源5年:自由但带着枷锁

Linux大全评论614 views阅读模式

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被迫做出改变。

2005年Sun旗舰级软件产品Solaris是基于CDDL(Community Development and Distribution License)协议下开源的)。OpenSolaris是Sun发展史中的里程碑,也是Solaris社团和更广泛的开放源社团的技术基础。

作为FOSS(Free and Open Source Software自由及开源软件)的主要贡献者,Sun对Java开源社区发出了信号,一些公司称,相比较JCP (Java Community Process)委员会,他们对Java开源没有任何计划。此时,Java开源一事受到业界的质疑,JCP的主管Onno Kluyt在2004年曾被问道:“你是如何看待Java开源的?能做到永远开源吗?”

Sun董事会主席及联合创始人Scott McNealy在2004年提出了“开源模式”,Gosling称并不是所有人都反对Java开源。2002年Java提出开源,2003年Java快速发展使这一争论打破僵局。

编后语

企鹅博客
  • 本文由 发表于 2020年9月8日 13:37:17
  • 转载请务必保留本文链接:https://www.qieseo.com/267680.html

发表评论