前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java与Linux 一对开源运动的婚姻

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

作者头像
哲洛不闹
发布2018-09-19 10:37:34
4100
发布2018-09-19 10:37:34
举报
在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能有更多的进展。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java一日一条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档