我们已经可以免费使用Sun JDK, IBM JDK, BEA JRockit;我们只要愿意对着SCSL点个头,就可以看到Sun JDK的源码;我们甚至可以看到每天Mustang的进度,对它指手画脚,如果运气好,还可以让自己的修改被接受到正式版本里面去, 为什么我们需要Harmony?
不仅仅如此,即使是一个自由信仰者,我们还有API覆盖率99%的GNU Classpath,加上一个很不错的虚拟机Kaffe, 还有实验室里出来的先进玩意儿Jikes, 为什么我们还需要Harmony?
不仅仅如此,就算不用Java, 我们还有很多选择,C#, Ruby, Python, PHP, ..., 为什么我们还需要一个Harmony?
Why Harmony matters? 希望下面这些不成熟的想法可以帮助回答以上这些问题。
恩,一切的前提是,Java does matter, 尽管受到C#和各种动态语言的挑战,但是相信数以百万计的Java程序员和成功的把JRE安装到数以亿计的设备上的厂商们都不愿意看到Java sunset。然而,过了10岁生日的Java确实略显疲态,Sun牢牢把持着的JCP一度对推动Java发展起到了巨大的作用,但是到了今天,已近很难说JCP的正反两方面哪个作用谁更大了。我们能看到的是,在EE领域,大厂商们力推的EJB1.x, 2.x几乎被公认带来的问题比解决的多,而来自开源社区的Spring/Hibernate已经登堂入室成为主流;JSP/JSTL从来没有成气候,JSF也还前途未卜,来自开源社区的先是Struts后是Webwork还有为数众多的开源框架红红火火。Java SE和Java语言本身,从前是C#学习Java,现在是Java倒过来向C#学习,而且从log4j到java.util.logging, 从Xdoclet到annotation, 从mixin到generics,从Rhino到Java动态语言支持,从AspectJ到...(instrumentation?),一次又一次,是JCP在拖着Java前进的后腿。
除了Java语言本身,Java的license也够让人郁闷的,基于Java的开源/自由软件如恒河杀数,Linux发行版居然不能redistribute JRE...FreeBSD直到最近才成功解决许可证问题发布了该平台的JDK/JRE...而GNU自己的努力GNU Classpath, 又因为许可证问题至今未能运行TCK认证,也就不能让被承认是兼容的JSE类库实现从而进入企业市场。
几年以来,从社区到Java阵营的大小公司,呼吁Sun开源Java(其实是呼吁放松对Java的控制权)的声音越来越强烈,然而Sun一直以保持兼容性,避免fork的名义拒绝,但是事实是,Sun的做法激发了Harmony的出现,也就是说,Sun的政策将促成事实上的fork。
Harmony的提案是社区的自发力量促成的,充分说明了对它的需求是无法回避的,毕竟谁愿意去重新发明了一个还过得去的(而且是巨大的)轮子呢? Harmony被ASF接受仅仅一年多一点,就接受了三个JVM的捐献,还促使SableVM重新license为Apache许可证并且密切合作,JSE 5类库的API覆盖率已经超过79%,这一切足以让人侧目。不仅仅如此,Intel和IBM都组建了全职软件开发团队参与(区区在下也有幸忝居IBM中国开发中心Harmony开发团队之中),此外Harmony还得到了社区,大学,个人的广泛支持。Harmony是冲着TCK去的(它正在努力争取TCK的许可证), 而且有充分的理由相信Harmony最终将会通过TCK,这一天的到来只是时间问题(当然,我的意思是在可以接受的时间内),因为Harmony背后有真实存在的需求,也就因此有了强大的推动力,社区需求和商业利益结合在一起的巨大力量这些年来已经多次被证实。而且Harmony的Apache许可证是一个对于商业公司和社区都很友好的license。让我们幻想那么一天,Harmony通过TCK之后,RedHat,BEA, IBM都在说,我们无所不能的应用服务器当然可以和Java SE的Reference Implementation(Sun JDK)良好合作,但是和更快更强大更稳定的Harmony一起将工作的更好;而Intel在说,我们新的符合摩尔定律的CPU(尽管可能性不大了)可以完美的支持Java应用, 尤其是可以更完美的支持在Harmony上运行的Java应用;Nokia在说,购买我们的手持设备,您可以加2美元加装OEM的Sun JRE以运行丰富多彩的Java程序,但是也可以不花一分钱使用甚至更出色的更小更快(因为是定制过的)的HarmonyRE...到了那一天,事实上的fork就出现了,Sun的保持兼容,避免fork的借口,将显得非常苍白。
于是Sun终于宣布要开源Java了! 在Harmony宣布得到AWT/SWING/Java2D类库的捐献从而将API覆盖率提高了50多个百分点的几乎同时,它宣布开源Java的问题"is not whether, but how",之后短短一个多月进入了前赴后继的hype工作,这一切将会发生"in months",旋又澄清说是"double digits months",旋又说是"pretty quickly",how about compatibility and fork issue then? well, Sun现在认为Java拥有比其他大多数开源软件都要好的兼容性测试,而且数量巨大的Java应用将形成合力推动Java实现的兼容,所以这虽然是个重要的问题,但是是可控的...
Sun还说,GPL "very much on the desk"。但是为什么我要质疑Sun考虑GPL的动机?因为屁股决定脑袋:). 屁股决定脑袋的意思是说,我主观的认为Harmony的快速发展是促使Sun最终决心开源Java的原因之一。屁股决定脑袋的另一层意思是说,我因此觉得Sun并不想真的放弃Java的控制权,如果Sun要求所有的参与者与它共享copyright,我不会感到奇怪;如果它开始不停的在新的Java发行版加入新功能,我不会觉得奇怪;如果它把TCK和认证流程搞的越来越严格和细致,我也不会觉得奇怪,毕竟这都是不错的事情,毕竟所有的用户都希望有自己的Java程序在任何平台任何JVM上都表现出一样的行为,我甚至怀疑Sun已经开始这么做了。而且如果Sun把Java以GPL开放出来,我更不会奇怪,因为GPL是最有可能让手持设备和嵌入式平台厂商犹豫的license,那么就可能不会有很多的GPL嵌入式JVM出现在市场上,那么很有可能手持设备厂商就还是要找个什么人来拿到JRE的license。但愿我是小人之心了...
相比于把希望寄托在Sun身上,我更愿意看到Harmony真的bring harmony to Java,Harmony does matter, Harmony已经可以良好运行Eclipse和JEdit, 基本上可以运行Tomcat, Geronimo还在努力中,Harmony还有20%多的API要完成,虚拟机和类库的集成还在进行中,更加重要也很可能更艰难的是,Harmony需要让更多用户认可,需要一个比现在的开发社区广泛的多的用户社区(当然也要一个比现在更广泛的开发社区)。Harmony将会是属于社区的,一个对任何人都法律上友好的,高度模块化从而高度可定制和可移植的,兼容的Java SE实现,而要到这一天,还有许多路要走。
分享到:
相关推荐
Hyper-V 虚拟机备份恢复配置 Hyper-V 是微软公司推出的虚拟机监控程序,用于创建和管理虚拟机。虚拟机备份恢复配置是 Hyper-V 的一个重要功能,能够在虚拟机出现故障或数据丢失时,快速恢复虚拟机。...
标题“03-hype-or-myth-smart-home-security”暗示了这个压缩包文件可能包含一个关于智能家居安全的讨论,分析它是被过分吹捧的炒作还是真正的安全解决方案。描述中的“03-hype-or-myth-smart-home-security”进一步...
标题 "Giuliano-Lies-And-Damn-Lies-Getting-Past-The-Hype-Of-Endpoint-Security-Solutions" 暗示了这是一份关于网络安全,特别是终端点安全解决方案的深度报告或讨论。作者可能揭示了业界的炒作与现实之间的差距,...
Hype-V无法使用虚拟机问题
标题中的“Giuliano-Lies-And-Damn-Lies-Getting-Past-The-Hype-Of-Endpoint”以及描述中的“us-17-Giuliano-Lies-And-Damn-Lies-Getting-Past-The-Hype-Of-Endpoint-Security-Solutions”暗示这是一个关于终端安全...
4. **源码**:发布在"terminus-theme-hype-master.zip"中的源码包含了该主题的所有配置文件和CSS样式,用户可以通过编辑这些文件来修改主题的细节,或者作为创建自己主题的基础。 5. **CSS样式**:主题的核心部分...
标题中的“Hype or Myth: Smart Home Security”指的是智能家居安全是否是炒作还是现实的问题,而描述没有提供具体的细节,但可以推断与讨论智能家居的安全性有关。标签为“安全”,进一步强调了主题的核心关注点。 ...
《Big Data in Healthcare: Hype and Hope》是由美国权威数字健康顾问机构Dr. Bonnie 360在2012年发布的调查报告,该报告深入探讨了大数据技术在医疗行业中的应用现状、潜力以及所面临的挑战。报告作者Bonnie ...
增强分析定义,思考,AI如果在分析领域取得成功,AI在分析领域的成功关键是什么?增强分析- 是这样一种方法,它结合了机器智能和人类感性经验去加速洞察,去挖掘新的或者没有预期到的发现,驱动任何角色和技术水平的...
标题中的“Hype-V禁用Credential Guard 或 Device Guard”指的是在Microsoft Hyper-V虚拟化环境中,如何禁用两个关键的安全特性:Credential Guard和Device Guard。这两个功能是Windows操作系统中用于增强安全性的...
【标题】"hype-prototype" 是一个针对Hype的扩展库,专注于增强Hype的原型制作能力。Hype是一款强大的HTML5动画和交互设计工具,它允许设计师无需编程知识就能创建丰富的网页动态效果。而"hype-prototype"库则是为...
- **Why desktop virtualization failed to live up to the hype**:解释了为什么桌面虚拟化没有达到当初所承诺的效果。这里强调的是技术在实际应用中的局限性和挑战。 - **What the future enterprise desktop will...
Hype-O-Meeter的广告 重要的: 这些文件仅供查看。 计算hypermeeter的代码不是公开可用的,必须由您自己编程! 要在栏中进行更改,必须更改prozent.txt 。 用 规范的发布主要用于教育目的。 如果您将代码用于自己的...
Tumult Hype v3.6引入了导出脚本的功能。 这些是Hype调用的脚本,可以在“文件”>“导出为HTML”菜单中添加一项,并扩展Hype的UI,从而允许对Hype生成HTML5内容进行自动修改。 通常,炒作是工作流的一部分,在发布...
结合 "带有hype-ledger-fabric和reactJS",我们可以推断这个项目不仅包含了区块链技术的底层框架Hyperledger Fabric,还使用了ReactJS作为前端开发框架,用于构建用户界面和交互。 **描述解析:** 描述中的 "HLF-...
谣言-炒作-尾风整合在Hype中将TailwindCSS和Font Awesome结合在一起的示例文件一些重要的键-在“炒作文件”中,请确保取消选中该选项以防止外部样式。 为了引入TAILWINDS CSS,我更改了此方法,但HYPE文档可能无法...
2CH HYPE是一款专为2ch.hk设计的浏览器扩展程序,主要服务于俄语用户群体。这款插件的核心功能是帮助用户快速了解哪些线程在2ch.hk论坛上受到最多的关注,即“顶线程”。2ch.hk是一个非常受欢迎的日文网络论坛,其分...
在 Tumult Hype 中构建的示例文件用于演示各种功能和概念。 当前样本 页脚- 固定页脚元素 循环- 说明如何创建自动循环时间线 地图- 具有相对按钮位置和固定大小的响应式地图 滚动- 简单的模板,显示如何制作从上到下...
使Hype Machine播放器填充视口JavaScript片段。 用法 请访问 打开您的开发者控制台(通过按Option + Command + j ) 粘贴在找到的代码段中 享受无干扰的聆听 执照 MIT许可证(MIT) 版权所有(c)2015 Chris ...
微小的API:SMS-HMU(又名周日)吓人了周一炒作的消息服务! :party_popper:为什么我在 :pleading_face: ,因此我正在构建此SMS-HMU API,以向自己发送有趣/激励性的短信以在每个星期一大肆宣传我。...