这是针对英文原版页面的中文翻译。

半夜太阳1之有趣事件

我们保留此网页作为历史见证。在 2006 年 12 月,Sun 公司正在 把 Java 平台以 GNU GPL 发布。在许可证变更完成之后,我们期待 Sun 公司的 Java 将会成为自由软件。


2006 年 5 月 24 日

社区一直在散布着 Sun 公司已将其 Java 实现变成自由软件的流言(或者说是 “开源软件”)。社区的领导者甚至公开感谢 Sun 公司的贡献。Sun 公司对 FLOSS 社区的新贡献是什么?

一无所有。绝对是一无所有——而这正是让对此意料之中事件的反应变得如此有趣的原因。

Sun 公司的 Java 实现还是专有软件,一如既往。它既没有接近 自由软件 的标准,也没有满足类似但相对宽泛的开源标准。它的源代码只能通过签署 NDA 才能获得。

那么 Sun 究竟做了什么?它允许大家更为便利地分发其二进制 Java 平台。有了这个变化,GNU/Linux 发行版可以包含非自由的 Sun Java 平台,正如有些发行版包括非自由的 nVidia 驱动程序一样。但其代价是作为非自由软件。

Sun 公司的许可证有一个限制。这个带有讽刺意味的限制会降低用户直接接受非自由软件的倾向:它要求操作系统分发商让用户在安装程序前明确同意该许可证。这意味着系统必须警告用户要安装非自由软件而不能够悄无声息地安装 Sun Java 平台,不像有些 GNU/Linux 系统那样默默地安装 nVidia 驱动程序。

如果你仔细研读 Sun 的声明,你就会从中准确看到这些情况。它并没有说 Sun Java 平台是自由软件,或者开源。它只是预示着 SUN Java 平台将会在 “主流开源系统” 上 “广泛可用。”作为专有软件可用,以剥夺用户自由的名义可用。

为什么意料之中的事件会产生大量混乱的反应呢?也许是因为人们没有认真阅读那些声明吧。自从 “开源” 一词诞生以来,我们就看到许多公司把自己的产品和开源放在一句话里。(他们看来并没有把 “自由软件” 也这样用,不过他们想这样做时也会的。)粗心的读者也许会看到两个词挨得近而错误地认为它们是关联的。

有些人认为这个意料之中的事件代表着 Sun 公司最终把 Java 平台以自由软件发布的探索之旅。让我们期待 Sun 这么做的一天。我们会欢迎那一天,但是我们应当把我们的感谢留在那天真正到来之时。与此同时,Java 陷阱 还在等着没有做好防备的程序员往里跳呢。

在 GNU 工程中,我们继续开发 Java 的 GNU 编译器和 GNU Classpath;我们在过去的一年中取得了很大的进步,因此我们的自由 Java 平台已经被包含在众多的主流 GNU/Linux 发行版中。如果你要运行 Java、也要自由,那么请加入并做出贡献吧。

译注

  1. 原标题用 SUN 有双关之意:一个是字面意思太阳,另一个是指文中的 SUN 公司。后者拥有 Java 开发平台。