专栏首页java一日一条Java与Linux 一对开源运动的婚姻

Java与Linux 一对开源运动的婚姻

在2004年开源运动的积极倡导者Eric Raymond就给Sun 当时的CEO Scott McNealy写了一封信要求Sun对Java进行开源,允许开发人员自由修改。与此同时开源运动的另外一位积极倡导者、GNU计划的创始人 Richard Stallman大声疾呼开发人员不要安装封闭源代码的Java,痛批Sun的不开源行为。

两年后Sun终于发布了开源的OPENJDK,同时发布了基于开源协定GNU GPLv2的用于桌面西系统的Java 标准版(Java SE),以及用于移动设备的Java 移动版(Java ME),Sun希望GPLv2能够为Java带来更多的用户,并且宣称Java会继续保持“一次编写、到处运行”。

另外Sun还就如何简单容易地发布OpenJDK到Linux广泛征求意见,意图能够把Java推向新的平台、新的市场。Richard Stallman改变了他的态度,对于Sun的这一举措给与了积极评价。

两年后,Sun的这一举措达到他的 初衷了吗?要求Java开源的呼声停止了吗?Sun的CEO Simon Phipps称至少达到了设定的目标,Sun做的不错。那这项举措对于日常使用Java开发的程序员来说,生产效率得到改善了吗?Phipps说如果你是一个基于Windows平台的开发人员可能感觉不到这一变化,但是如果你是一个工具提供商的话,你得产品的应用范围会扩大很多,你的产品也会在Linux 上顺利运行,换句话说你的市场也会在瞬间增大……

Java也在与时俱进

Java的市场显然扩大了很多,OpenJDK现在已经被包含在四个最著名的开源Linux产品中,Fedora 10、Ubuntu 8.10后的所有版本、OpenSUSE 11以及Debian的最新版本。另外Red Hat Enterprise Linux 5.0和CentOS 5也包含了OpenJDK.Sun同时宣称其Glassfish计划也获得了成功,截止目前为止已经有8百万份的下载,另外在过去的一年中有25万份的产品进行了注册。

但是还有一个难题在等待着Sun,Java并没有一个特定的版本或者API库百分百与Linux兼容。这就使得在Linux上安装以及维护Java变成一件头痛的工作,他要求Java开发人员为不同的Linux版本编写差异化的代码。

怎么办?锁定一个Java的发布包,如果用户需要使用新的API的时候才去下载更新的版本。但是注意到在不同的Linux平台上安装以及使用Java都是不同的,并且Java的实现也是不同的,同时Java的更新也非常多。那么下一个问题就是用户需要安装什么版本的Java,最新版还是最被广泛使用的版本。

直到现在Sun还对Linux发布商进行一对一的支持,这样就缺乏一种广泛的推动力,还需要标准化一些东西。

不过改变说来就来,最近Linux基金会宣布了Linux基础标准(LSB)4.0,在这个标准中要求Linux发布商必须支持Java SE 6.0.根据Linux基金会的信息LSB 4.0会被Asianux 3.0、Mandriva Corporate 5.0、RHEL 5.0、SLES Enterprise 10以及Ubuntu LTS 8.04中直接支持。尽管如此还是有一些Linux版本没有支持LSB 4.0,这依然要求开发人员考虑兼容性的问题。

但是并不是所有Linux开发人员都会采用Java作为其开发语言的,他们会坚持他们自由与开放软件的理念。

下来我们谈一下TCK,一个用来监测Java应用程序是否与Java虚拟机相兼容的工具。现在看起来Sun不会对TCK开源,Sun也因此备受指责。Sun并没有开放其所有的东西,Sun仍然牢牢控制着Java的知识产权。

Java 开源带来的影响

值得一提的一件事情是OpenJDK带动Java 6 SE进入了Mac OS X平台。另外开发人员还可以将Java Runtime Environment放在你的产品中发布,尽管必须取得Sun的授权认证。

但是就现状来讲,如果没有OpenTCK的话,Linux开发人员可能不会一直使用Java来进行应用开发,OpenJDK只会作为茶余饭后的闲谈。

看来Sun在推动Java开源的路上还有很多的路要走,但是无论怎么说Java开源都是正确的举措,我很期待着两年后OpenJDK能有更多的进展。

本文分享自微信公众号 - java一日一条(mjx_java)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-09-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java与Linux 一对开源运动的婚姻

    两年后Sun终于发布了开源的OPENJDK,同时发布了基于开源协定GNU GPLv2的用于桌面西系统的Java 标准版(Java SE),以及用于移动设备...

    哲洛不闹
  • Java 消亡了?不!原因在这…

    年复一年,关于”Java消亡了?”的疑问频繁涌现,然而,通过所有外部表现来看,Java仍活着,并且在发展。尽管许多新语言各领风骚,开发语言排行榜(TIOBE)上...

    哲洛不闹
  • 10个用Java谋生非常有趣的方式

    令我惊讶的是,有些人觉得编程并不令人兴奋——只将它当作是一份枯燥的工作。不过,虽然可能的确有很多无聊的编程工作,但这并不意味着你不得不接受这些工作中的一个。程序...

    哲洛不闹
  • Java与Linux 一对开源运动的婚姻

    两年后Sun终于发布了开源的OPENJDK,同时发布了基于开源协定GNU GPLv2的用于桌面西系统的Java 标准版(Java SE),以及用于移动设备...

    哲洛不闹
  • 2018年Java程序员应该学习的9件事

    作为Java开发人员,我经常收到来自世界各地的Java程序员的邮件,询问他们应该如何提升自己。

    liuxuewen
  • 零基础怎样学习Java,正确学习怎么学?

      动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦!

    动力节点Java学院
  • Java基础笔记01

    dreamkong
  • 垂直打击之JVM剖析

    Java是目前软件开发领域中使用最广泛的编程语言之一。Java应用程序在许多垂直领域(银行、电信、医疗保健等)中都有广泛使用。Refcard的目的是,帮助开发者...

    技术zhai
  • 速读原著-Java 20 年:历史与未来

    作为最受欢迎的编程语言之一,Java 已经走过了 20 个年头。从已经落寞的诺基亚到现在火热的电商系统,我们都能看到 Java 语言的身影。从 1995 年的第...

    cwl_java
  • Java基础第一天学习笔记

    01.01_计算机基础知识(计算机概述)(了解) * A:什么是计算机?计算机在生活中的应用举例 * 计算机(Computer)全称:电子计算机,俗称电脑。是...

    Java学习

扫码关注云+社区

领取腾讯云代金券