本博文发表于前日的Java SE 6Update14之后。这次更新包含了很多bug修正,改进和新功能,以及一个新的垃圾回收器G1。但是对这个新的垃圾回收器,Sun明确声明表示如果要在产品开发中使用G1,必须首先购买Java支持协议。即是说,付钱才能用。于是,包括本文作者在内的很多Java开发者开始感到不安了。以下是译文全文: 今天颇感不安,还有些许惊诧,因为读到Slashdot在报道说大家期待已久的G1垃圾回收器将要收费。Java 6Update14的发行说明说: “尽管可以使用此G1版本,但需注意只有购买了Java支持合同之后才能被允许使用用于生产的G1。Sun的JavaPlatformStandard Edition for Businessprogram(面对商业程序的Java平台标准版本)支持G1。” 开源社区(一直)对大公司在开源方面所做的努力有所怀疑。但是再怎么怀疑他们还是我行我素。这也没什么奇怪,因为公司归根结底是最终要对他们股东负责的,通常只有一个CEO的这些公司从为立法而结合软件专利权,商业秘密,版权,商标的使用,诉讼,游说转变为维护他们的知识产权“权利”。 Sun一直是一个开源方面勉为其难(可以说是同享福不可同患难)的支持者。Java开源活动真正进入人们视野是在90年代末,当时正是一致致力于制作 Java的ISO标准的时代。可以说就在此时微软开始挫败甚至破坏 Java这庞然大物,因为它即将将用户从Windows的锁镣中解脱出来。最终,在1997年Sun获得JavaISO标准正式提交人这一很特别的职务,他成为了胜出者。我说“很特别”,因为提交ISO标准的不是大公司,而是典型的行业机构或标准化组织。 不过,(Sun)并没有提交什么标准,这一工作最后在1999年无疾而终。Java开源活动最大成果是Sun发行GPL之下的OpenJDK,寄渺茫希望于类别库中的第三者代码。 这是不是Oracle公司意图制作Java层级的讯号呢?那可真就是使“编写一次,到处运行”Java咒语显灵的关键举措了。Java咒语最初曾使 Java名声大振,尽管Java好则发一通注意提示,坏时让人一头雾水无法理解,至今依然是这种状况。“编写一次,到处测试”才是比较准确的说法呢。 这一举措对Java在三个方面构成威胁: |