InfoQ

新闻

Apache Harmony就JCK许可证条款向Sun发难

作者 James Kao译者 Jason Lai 发布于 2007年4月12日 下午8时0分

社区
Java
主题
法律案件,
JCP标准,
许可证
标签
Apache Harmony,
Java SE

Apache Harmony项目的副主席Geir Magnusson Jr.写了一封致Sun公司的公开信,对Java Compatibility Kit(JCK)许可证中的知识产权限制表示不满,并对和Sun讨论这个问题缺乏张力的事实表示失望。项目还撰写了一份FAQ详细阐述了他们的立场。

Apache Harmony在努力创建J2SE 5规范的一个开源实现(基于Apache许可证)。目前项目可以同时在Windows和Linux平台上运行,95%的Java 5 API已经得到实现,且Tomcat和Eclipse等常用程序已经能在其上运行。

Harmony争论的焦点在于JCK许可证中的“使用领域”限制:

“使用领域”限制是对用户如何使用某个软件的约束,可能间接也可能直接。举一个Sun/Apache论战的具体例子,如果Apache接受了Sun的条款,那么在一台标准的通用x86计算机(例如一台Dell台式机)上使用Linux平台上标准且经过测试的Apache Harmony构建版的用户,可能将无法在如商场里的信息亭或机场的X光机这样的应用环境中免费使用这个软件和硬件。

InfoQ目前还无法取得JCK许可证,用以直接评论。但在对Magnusson的采访中,我们可以肯定“使用领域”限制是Harmony项目的唯一问题。为了阐明这些限制条款的基调,他写道:

我认为,如果你仔细阅读Sun的JDK许可证,你会发现他们在使用领域方面限制颇多:

http://java.sun.com/javase/6/jdk-6u1-license.txt

例如在第一段中:“程序”意指在可以在支持Java的通用台式电脑及服务器上的Java平台标准版(Java SE)之上运行的Java Applets和应用程序。

(请注意,从技术角度来说,你不能在笔记本电脑上运行Java SE。显而易见,这是一处纰漏。)

对于Harmony的言论,Sun显得非常诧异,并初步响应到:“Sun刚刚收到这封邮件,由于Sun先前已经认为这个问题属于机密问题,我们需要经过一段时间考虑才能给出更详细的答复。”

来自社区的反应褒贬不一,更多人倾向于站在Harmony一边。Sam Ruby对Harmony的立场表示支持,他写道

我由衷希望Jonathan尽快介入此事,因为只有他才能对贷帐栏中的短期利益和借帐栏中虚无缥缈的代价之间的权衡点做出决策。这里面的代价有(1)一股脑把Sun花时间经历辛苦经营起来的社区毁于一旦,(2)拿Java的未来做赌注,和(3)损害Sun自身在开放标准上的努力。

与此相反,Tom Ball则认为这是Harmony的一个市场策略

这个请求/最后通牒看起来并不合理。是不是因为Apache Harmony马上就要完成,因此它已经准备好正式通过JCK了?项目网站上说,Java API的95%已经完成,但并不一定完全兼容。现在,这个Java平台完成了95%确实是一个重要的里程碑,Apache Harmony团队的开发人员应该因此受到大家的称颂,但在项目周期中这个节骨眼上,如果几千个JCK错误对于他们又多大用处呢?

我刚看了一下日历,发现从今天起算30天之后JavaOne正好开一半,恰好是Jonathan Schwartz主题演讲之后的两天。真相大白了!这和Apache Harmony团队能否有效工作无关——相反,这是Java工程师们不得不年复一年忍受的令人作呕的JavaOne市场策略。随着JavaOne日程日近,我觉得这个非难就不得不快点甩出。

相关赞助商

InfoQ中文站Java社区,关注企业Java社区的变化与创新,通过新闻、文章、视频访谈和演讲以及迷你书等为中国Java技术社区提供一流资讯。

没有回复

回复

独家内容

构建的可伸缩性和达到的性能:一个虚拟座谈会

这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。

OpenSocial的分析与实现

本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。

缓存系统MemCached的Java客户端优化历程

Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。

超越SOA:动态业务应用的新企业应用框架(2)

在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。

使用ClickOnce细分发布版本

ClickOnce让WinForms应用程序的部署轻而易举。David Cooksey演示了如何在ASP.NET中编写一个HttpHandler来实现对ClickOnce部署的版本细分。

敏捷教练,从A到Z

敏捷带来了新的领导者角色,“敏捷教练”。它是不是跟“部门经理”或“技术领导”一样,只是换汤不换药呢?教练Pat Kua在这篇启蒙文章中对敏捷教练一职做了概述。

利用Ruby简化你的Java测试(进阶篇)

本文是Productive Java with Ruby系列文章的第二篇,通过上一篇的介绍,我想大家对如何利用Ruby进行单元测试有了一个基本的了解,从这里开始,我将和大家一起讨论一些利用Ruby进行单元测试时的高级话题。

书评:《应用SOA》

《应用SOA》是由四位一流SOA专家合著关于SOA的新书,其主旨是帮助你成功地实施SOA。尤其是,这本书将帮助你把你的SOA项目与企业架构、IT治理、核心数据和BPM项目结合起来。