Apache, Oracle, 以及JCK

Java世界里的人差不多都知道了Apache和Sun之间出现了裂缝。Apache长久以来一直要求废除使 用领域限制条文。很多人都认为FOU条款实际上和JCP的章程是有冲突的。我不是个律师,所以我不想对此随意发表评论。这些条款是使Apache Harmony项目不能被认证为Java标准实现,并且,至少是部分上导致Dalvik虚拟机的出现,Dalvik是Android应用程序的运行平台。 最近在The Register上有篇文章 指出Apache和Oracle之间的会谈已经破裂,这让所有使用Java的人都很担心。

Java的成就和价值就在于它的平台可移植性。 除了一小部分特殊情况外,Java编写的应用程序可以通过虚拟机在任何平台上运行。 甚至那些很特殊的案例中,只要你的代码编写的正确,也可以顺利的移植成功。 随着“非电脑”计算设备(智能手机、掌上电脑等)的兴起流行,Android成为业内一个重要的技术。 不管Google是否有意愿申请将Dalvik认证为标准JVM,理论上就没有这种可能性。 Java JCK就不会允许。这种形势对Java是个很大的威胁。

FOU限制条款的出现,部分上,是为了保护Sun的JavaME业务。 因为这是个巨大的市场,这在商业上是有意义的。以前这些移动设备不能支持一个全功能的JVM, JME因此就显的很有价值了。但如今情况是完全变了。 我个人认为JME已经逐渐被淘汰了。今后Android将成为一个重要的角色。 而且它不是标准Java的。曾经,我不止一次的帮别人调试一些有问题的“Java”代码,却发现我给出的建议没有起作用,原因是,我吃惊的发现这些程序是 运行在Android设备上的。

移动市场已经很大了,而且会变的更大。Oracle没有任何理由要保留FOU条款。 Oracle并不像Sun那样需要JME市场。 开放限制允许Dalvik和其他产品认证为Java认证实现将会推动Java融入更大的市场。 如果Oracle拒绝这样做,将会最终把移动市场拱手相让与他人。 我一直赞成Apache的观点,认为FOU是不公平的,它与JCP协议的精神(即使是从字面上讲)是相抵触的。 Oracle应该废除这些条款,就像当初他要求Sun一样。 需要JME的那些厂商仍然会为它付费。 但是,慢慢的,JME会越来越不符合潮流。 我没有发现任何要保护它的理由,也没有发现任何理由不去让Java更多的参与到大市场中。

更新:是的,在某些方面,我把 Harmony和Dalvik混为一谈。 它们都是这个重大问题的典型代表。FOU的问题和在移动设备上JVM的生存能力的问题是关键问题。 请不要在技术细节上跟我较真儿。请原谅我给你们带来了一些混乱。

免责声明:本文纯属个人观点。我不为任何一方说话,也不是我作为Oracle的雇员有内部消息。 我只是以一个Java爱好者的身份发表我的个人观点。

[英文原文:LINK ]
分享这篇文章:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.