蘑菇游戏软件站:安全、绿色、放心的专业下载站! 首页|最近更新|专题集合|站内导航

Sun为开放Java左右为难 专家建议中间路线

时间:2021-10-08 10:32:16 来源:17mogu.com 人气:
>   ZDNet China 7月5 日报道(文:Stephen Shankland / 译:jasmine)由于Sun公司正在权衡利弊,它对是否将其Java技术开放源代码化感到非常矛盾。但一些专家建议Sun公司走一条中间路线。



  以Linux为代表的开放源代码软件能够实现快速创新、迅速普及和更有活力的开发者社区。但Sun公司则担心,开放源代码化会破坏Java最基本的优点:兼容性。



  在于上周四在“JavaOne”会议上的一次辩论中,数以千计的听众听取了Sun公司和其它与Java有关的公司之间的辩论。它们辩论的核心问题是:Java是否应当全面开放源代码化。如果全面开放源代码化,Sun公司的Java盟友或敌人就能够根据自己的需求处理Java;否则,开放源代码编程人员就只能使用微软公司的.Net技术。



  在2月份发表的一封公开信中,Sun公司最强大的Java盟友之一IBM公司公开提出了这一问题,表示Sun公司应当将Java开放源代码化。上周二,Sun公司指责IBM公司忌妒Java,应当将它自己的专有技术开放源代码化,有力地回击了IBM公司的挑战。



  Sun 公司担心Java会重演Unix和Linux的悲剧。Java之父、Sun公司的副总裁詹姆斯在这次辩论中说,我经历过Unix大战,我也很喜欢Linux,但它们都犯有同一个毛病:有太多的不兼容的版本。



  但与会的其它人士认为,Sun公司可以在开放源代码和Java性能之间找到一条中间线路。斯坦福大学的法律教授莱斯格说,Java可以使用开放源代码许可协议,而其它机制能够保证其兼容性。莱斯格建议Sun公司放弃现有的开放源代码许可协议,以解决兼容性问题,目前已经存在在不破坏免费软件许可协议的情况下达到兼容性目的的软件工具。



  OReilly媒体公司的创始人提姆表示,Java社区也存在进行调整的压力。Novell公司于上周三发布了Mono1.0版。在许多方面,Mono 都是Java的克隆品。



  如果爱它,就使它“免费”?



  开放源代码软件可以免费的查看、修改和重新发布。Java则由以Sun公司为主导的“Java社区过程”(JCP)控制,Java产品必须通过兼容性测试。想对Java进行改变的个人或组织必须首先加入JCP,并签署相关的法律文件。



  Sun公司声称的不愿意将Java开放源代码化的一个重要原因是兼容性,即保证Java软件能够在任何Java平台上运行。这不仅仅是理论上的担忧:在微软公司对Java进行扩展而破坏了其兼容性后,Sun公司为此已经与微软公司进行了不懈的斗争。如果开放源代码化后,不兼容的Java版本就将是合法的。



  开放源代码社区却在茁壮成长,包括Tomcat和Geronimo在内的许多Java开发项目也出现在了开放源代码领域。Tomcat和Geronimo是由Apache软件基金会主办及赞助的,通过谈判,该组织在不牺牲其开放源代码特性的情况下找到了符合JCP的标准和通过TCK测试的方法。Apache软件基金会的创始人布赖恩表示,他相信混合开放源代码领域与更严格的兼容性测试是可能的。他说,项目组织者应当通过TCK,但不应该因此而放弃开发的其它途径:创建无法通过兼容性测试的版本也是开放源代码开发过程中的一部分。



  布赖恩表示,Java的兼容性也不够完美,影响了Java“一次编写、到处运行”的本意。为一家公司的Java平台开发的软件必须改写后才能够在其它公司的Java平台上运行,因为它们的性能功能有所不同。例如,一种Java平台在利用Java信息服务从一个系统向另一个系统发送消息时会慢得多。



  正确方向上的一个步骤



  布赖恩还建议,Sun公司应当采用更多的开放源代码兼容性工具和参考设计向开放源代码世界靠拢。开放源代码参考实现使各组织能够更方便地在不加入JCP的情况下开发Java兼容软件。他说,Groovy编程语言旨在使Java环境能够运行被称为脚本的更简单的代码,将是对开放源代码测试工具和参考实现是否成功的一次测试,这会导致更高质量的代码吗?



  詹姆斯说,Sun公司已经采用了开放源代码软件的一些优点,例如让人们自由地查看源代码。他说,我们已经发布了源代码,但Sun公司在其中包含了保证兼容性的条款。他表示,其中有一个限制,就是人们不能重新发布这些代码。在开放源代码社区就不存在这样的限制。另外,Sun公司还使部分Java代码开放源代码化:Java3D软件包。



  法律纠纷使现有的Java体制更复杂化了。由于加入JCP需要签署法律协议,外部厂商要提供补丁软件会存在障碍,而在开放源代码世界则不存在这一问题。在律师介入前,开放源代码编程人员有他们自己解决这类问题的方式。兼容性方面的缺陷是需要修正的缺陷,而不是法律条款。它将责任由律师转嫁给了开发人员。



  Sun公司负责JCP的副总裁罗伯表示,JCP一直在变化,而且还将继续发生变化。二年前通过与Apache基金会合作,我们使Java更具包容性了。现在,历史正在重演。Sun公司相信它正在进步,例如在实时Java方面。(编辑:孙莹)



相关阅读
推荐文章