垃圾回收器G1收费登场 是否预示Java将面临分叉威胁

原创
开发 后端
Java有了新的垃圾回收器,但只有购买支持后才能用。这个新的垃圾回收器G1和Java 6 Update 14一起发布,但是附带了支持合同的购买说明。有Java开发者认为这有可能成为Java平台开始分叉的一个转折点。

【51CTO快译】本博文发表于前日的Java SE 6 Update 14之后。这次更新包含了很多bug修正,改进和新功能,以及一个新的垃圾回收器G1。但是对这个新的垃圾回收器,Sun明确声明表示如果要在产品开发中使用G1,必须首先购买Java支持协议。即是说,付钱才能用。于是,包括本文作者在内的很多Java开发者开始感到不安了。以下是译文全文:

今天颇感不安,还有些许惊诧,因为读到Slashdot在报道说大家期待已久的G1垃圾回收器将要收费。Java 6 Update 14的发行说明说:

“尽管可以使用此G1版本,但需注意只有购买了Java支持合同之后才能被允许使用用于生产的G1。Sun的Java Platform Standard Edition for Business program(面对商业程序的Java平台标准版本)支持G1。”

开源社区(一直)对大公司在开源方面所做的努力有所怀疑。但是再怎么怀疑他们还是我行我素。这也没什么奇怪,因为公司归根结底是最终要对他们股东负责的,通常只有一个CEO的这些公司从为立法而结合软件专利权,商业秘密,版权,商标的使用,诉讼,游说转变为维护他们的知识产权 “权利”。

Sun一直是一个开源方面勉为其难(可以说是同享福不可同患难)的支持者。Java开源活动真正进入人们视野是在90年代末,当时正是一致致力于制作Java的ISO标准的时代。(51CTO当时也在关注Java开源的动向。Sun于06年底彻底将Java开源)可以说就在此时微软开始挫败甚至破坏Java这庞然大物,因为它即将将用户从Windows的锁镣中解脱出来。最终,在1997年Sun获得Java ISO标准正式提交人这一很特别的职务,他成为了胜出者。我说“很特别”,因为提交ISO标准的不是大公司,而是典型的行业机构或标准化组织。

不过,(Sun)并没有提交什么标准,这一工作***在1999年无疾而终。Java开源活动***成果是Sun发行GPL之下的OpenJDK,寄渺茫希望于类别库中的第三者代码。(51CTO编辑推荐阅读:Oracle以74亿美元收购Sun专题)

这是不是Oracle公司意图制作Java层级的讯号呢?那可真就是使“编写一次,到处运行” Java咒语显灵的关键举措了。Java咒语最初曾使Java名声大振,尽管Java好则发一通注意提示,坏时让人一头雾水无法理解,至今依然是这种状况。“编写一次,到处测试”才是比较准确的说法呢。

这一举措对Java在三个方面构成威胁:

1.  它消弱自信满满的Sun/Oracle在***平台方面的信誉。信誉是关键;

2.  当前的和潜在的客户现在须得考虑到一个断裂的或分层的平台所存在的实实在在的风险了;而且

3.  由于在GPL之下可用OpenJDK,Java分叉的分险极大。Sun的stewardship of MySQL已经产生了项目被分叉的结果。分叉可能是无害处的,但Java是一种多少因其一致性和普遍性才成功的语言和类库,在Java使用者来看,分叉对Java来说就是灾难。

要记得,不是说甚至连微软都以商业或非商业区分.Net。尽管Mono是与Windows有联系,但那是另外一回事。

有人可能有理由辩道“它只是一个垃圾回收器”。在一定程度上,他说的没错。危险不存在于其功能如何而是它对Java社群来说代表什么以及Java社群对其意义的假设,这两者不一定意思相同。在这里自我应验的预言发生的可能性极高。

去年,SpringSource接受风险资金投资后,出现相类似的动荡。他们宣布要在分配政策方面做重大调整:

◆Spring主要版本发行3个月后,它不再使公开发行补丁。

◆所有修改(fixes)继续用于公共源语言库而且

◆付费客户可得到后面的单点发行,但是

◆这些单点发行不会标记为公开

别受骗上当:这些变化意义重大。如果你的应用软件程序配备了Spring 2.0.8而你需要转入一个发行并使用于公共库的fix时,你不再下载下一个发行版本。从根本上来说,在这种情况下你要负责打包以及给某个Spring发行版本做标签。

再回到Java上,它已经将桌面让给了Web(作为发展大趋势的一部分)和Net。现在Java与服务器关系密切,因而我敢保证像垃圾回收器这种东西对许多基于服务器的应用程序软件的作用非同小可。支持和测试多个垃圾回收器(如为缓存)增加了商家的费用及风险性。什么时候特定产品需要这种功能呢?

所有Java开发者们:请仔细关注这个问题。发言反对断裂Java!(51CTO编者:从Java语言上来看,由Java平台已经衍生出了如ScalaGroovyJRuby这些基于JVM的非Java语言。就语言的层面上,Java已经形成了一个大家族。然而这个家族都是建立在一个共同的Java平台之上。而垃圾回收器则是JVM中的一个机制,因此,此次Sun在宣布G1收费的确意义重大。甲骨文和Sun,以及Java社区之后的动向,值得关注。)

原文:The Monetization of Java Begins?

作者:William Shields

附录:Java SE 6 Update 14更新一览

新版Java首先正式加入了对Vista SP2和Server 2008 SP2的支持,并初步支持Windows 7系统和IE8浏览器。

其他主要新特性:

- 在Linux、Solaris系统上支持Service Tag

- 支持JAR文件黑名单

- 支持新版虚拟机Java HotSpot 14.0

- 改进TreeMap性能 (java.util.TreeMap)

- 集成JAX WS 2.1.6、JAXB 2.1.10

- 集成JavaDB 10.4.2.1

- Java VisualVM大幅度升级

- 完善支持JDK静默安装,不会再出现不安装公有JRE的情况

- Java Web Start问题修正

- 解决其他大量bug

JRE 6 Upate 14官方下载:
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jre-6u14-oth-JPR@CDS-CDS_Developer

您正在阅读的是:垃圾回收器G1收费登场 是否预示Java将面临分叉威胁

【编辑推荐】

  1. Eclipse 3.5年度稳定版现已公开测试
  2. 基于JVM的语言正在开始流行
  3. Java开发者盛宴:JavaOne 2009技术前瞻
  4. OSGi为什么重要:向模块化转移的主攻手
  5. Java之父点评热门技术趋势 Java使云计算更简单
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2009-08-14 08:56:49

Java垃圾回收器G1

2009-07-24 09:41:45

Java 7 G1垃圾回收器

2009-06-18 13:59:33

Java SE 6垃圾回收器

2022-02-25 08:01:34

CMS

2023-11-16 08:00:56

Java11G1

2015-06-17 14:10:52

OracleJava 9垃圾收集器

2020-06-01 20:08:47

垃圾G1回收器

2021-08-10 07:00:02

Java8 G1垃圾回收器

2021-08-15 18:59:13

垃圾收集器JDK

2009-12-30 10:14:29

JVM垃圾回收

2020-05-14 13:39:19

Java 垃圾回收机制

2022-01-20 10:34:49

JVM垃圾回收算法

2017-08-04 10:53:30

回收算法JVM垃圾回收器

2022-03-21 11:33:11

JVM垃圾回收器垃圾回收算法

2011-06-28 12:39:34

Java垃圾回收

2021-01-04 10:08:07

垃圾回收Java虚拟机

2012-01-09 17:06:16

JavaJVM

2024-03-15 08:04:30

G1CMSJVM

2009-06-25 17:48:24

Java垃圾回收

2010-12-13 11:14:04

Java垃圾回收算法
点赞
收藏

51CTO技术栈公众号