Java进入我们的视线已经有不短的时间了,围绕Java语言产生的开放源代码项目也已经越来越多。今天,我们把眼光放在一个已经获得巨大成功,并且极有潜力获取更大成功的Java相关开源项目上,那就是诞生于IBM的“日蚀计划”—Eclipse。
组成
在详细的了解日蚀计划之前,首先要列出的自然是日蚀的网站http://www.eclipse.com。
Eclipse计划是IBM公司2001年中捐赠4000万美元成立的一个开放源代码的软件开发项目,致力于为开发一个高度集成工具,提供强壮的、全功能的、商业质量的工业平台。
Eclipse由四个计划组成:Eclipse Project、Eclipse Tools Project、Eclipse Technology Project和Eclipse Web Tools Platform Project。每一个计划都遵照CPL1.0协议发布。
发展历史
早在2000年,为了对抗微软越来越强大的垄断地位,IBM表示将投入10亿美元开发Linux产品,包括PC、笔记本电脑、服务器和大型计算机。在一系列的举措中,影响最深远的也许就是Eclipse了。
在2001年6月,IBM宣布捐赠价值4000万美元的软件工具作为公共财产,并成立一个针对开发人员所设置的开放源代码机构。这个新成立的机构就是Eclipse,它提供部分IBM的软件和工具程序,以供程序开发人员撰写电子商务与Web服务的应用。机构成员包括了开放源代码的主力厂商Red Hat、Suse,以及Merant、QSSL和Rational。
Eclipse计划的出现,显示出IBM致力于开放源代码软件的决心。同时也显示出,IBM深知如果要商业软件开发商写出开放源代码的、自由的应用软件,就必须让商业软件厂商采用开放源代码的软件开发工具,这样才有可能成功打入主要企业团体。说服大型企业的软件开发人员和专门为大型企业撰写软件的开发商,使用开放源代码的软件开发工具是非常关键的一步。要达到这样的目的,就要有一套强壮的、功能完备的、高度集成的企业级开放源代码软件开发工具。
Eclipse软件可以在Linux和Windows平台下共同使用,同样的代码不加修改即可在两个操作系统下顺利运行。这样,IBM实际上拥有了全部的开放源代码程序员为它服务,不管是Windows的还是Linux的。同时,也促进了开源事业的发展,这确确实实是商业软件公司在策略上的一次进步。
2001年底,IBM就表示已有1500位60多个国家和地区的软件开发人员加入到Eclipse开源社区的建设。
Eclipse社区
从Eclipse的诞生开始,就决定了它的组织形式将有别于普通的开放源代码软件计划。Eclipse是由IBM公司策划并捐资成立的,因此它含有更多的商业成分,并不是单纯意义上的由爱好者集合在一起形成的组织。IBM无偿提供了一些软件和工具,并且一部分IBM的工程师也参与到Eclipse中。
Eclipse的开发者更多的是通过新闻组(NewsGroup)来交流。新闻组按照Eclipse四个不同的计划分类,一共18个,涵盖了Eclipse计划的方方面面。读者可以从http://www.eclipse.org/newsgroups/index.html 找到每一个新闻组的相关信息。如果想要加入新闻组和电子邮件列表的讨论,在下面的网页填写表格获取一个密码http://dev.eclipse. org/newsManager/newsRequestForm.html。在Eclipse的新闻组里,可以和利用Eclipse进行开发的开发者交流。更值得兴奋的是,还可以和Eclipse的核心开发团队沟通。
另外,在http://www.eclipse.org/community/index.html可以找到有关Eclipse计划社区的相关信息。我们可以看到,Eclipse的社区建设分为以下几个部分:Public Courses、 Open Source Technologies Used in Eclipse、Sources of Eclipse Information、 awards and opinions和About Open Source。从Java教学到Eclipse入门,从Eclipse使用的各种开放源代码技术的文档到各大厂商对Eclipse的支持文档都可以在这里找到。Eclipse网站更有一个articles板块,不断更新的各种Eclipse开发文档和Eclipse社区相配合给开发人员提供了足够的技术信息。
Eclipse没有像其它很多开放源代码计划那样,提供一个官方论坛给众多的开发者,这是Eclipse带有更多商业痕迹的表现。在IBM的带领下,越来越多的企业加入到Eclipse的开发中,让Eclipse更有条件成为企业级的软件开发平台。
现状
Eclipse在过去几年的时间里,就已经拥有了50个会员。让开发人员可混合搭配不同工具到单一应用程序中的Eclipse软件,也成为相当一部分开放源代码程序员的首选,尤其是Java程序员的首选。
Eclipse毋庸置疑是成功的,相当一部分专注于Java的厂商,例如SAP、SAS Institute和Sybase都在内部开发上使用Eclipse,许多专门生产插件工具架构的add-ons的小厂商亦是如此。Novell前不久也加入了Eclipse,并致力于使用Eclipse整合IDE开发环境。
Eclipse现在取得的成绩非常明显地告诉我们,在Eclipse的发展过程中,IBM与其有着密不可分的联系。难以想象如果没有IBM的支持,一个开放源代码计划何以得到如此众多的商业软件厂商的青睐。
然而,RedMonk分析师James Governor表示:“有些与IBM为敌的公司就是因为看到Eclipse计划与IBM的关系,才不愿意支持Eclipse。”事实上这已经影响了Eclipse的健康发展。
IBM让Eclipse取得了成功,但是也正因为有了IBM,Eclipse在发展到相当程度以后,难以取得更辉煌的成绩。开放源代码的自由软件事业毕竟需要更丰富、更新鲜的血液。
Eclipse寻求也脱离IBM已经很久了。对于它们来说,脱离IBM是向企业级运算扩张的转折点。Eclipse计划领导人David Orme表示:“Eclipse一直以来就希望能走出IBM的范围,而要达成这个目标,IBM势必要放弃一些主导权。”
未来
Eclipse组织在今天2月份召开的EclipseCon大会上,正式宣布自立门户,不再依赖于创始者IBM。这样做有利于其它技术供应商加入Eclipse董事会,协助决定未来方向。Eclipse独立之后,许多密切关注开发工具的厂商极有可能加入到Eclipse组织。新的Eclipse面临的第一个重要技术议题就是,Eclipse软件是否会继续维持原来简单的风格,或者是在更多的公司加入后变得较为复杂。
关注Eclipse发展的不止是Java开发人员。Sun公司前一段才委婉地拒绝了加入Eclipse的邀请,但是最近公司内部又开始重新讨论这个议题。
但是,Sun有自己的Java开发工具NetBeans。NetBeans与Eclipse有着极明显的技术差异,尤其在设计用户界面的方法上,以及把add-ons部件整合到程序工具中的做法。Eclipse给NetBeans带来了明显的竞争压力。其它的工具厂商,例如Borland和BEA,也尽可能的与Eclipse保持距离,只专注自己的Java开发工具。
虽然市场观察家和开发人员都认为,单一整合所有Java开发工具的系统更有利于Java阵营与微软的对垒。但也有部分人士认为,多个Java工具平台并存并非不可行,关键在于这些软件是否足够强大。
在Java厂商竞逐工具未来方向之余,Eclipse开放源代码程序员则持续推出软件更新。预计今年6月推出的Eclipse 3.0,被寄希望于改善Eclipse开发环境,使得定制客户环境和学习都更加简便。
Eclipse组织表示,有了新版强化功能后,Eclipse软件将充当各种plug-in程序的容器,就像是网络浏览器一般。
除了这些以外,RedMonk的Governor还表示,新董事会必须决定Eclipse在rich-client应用平台上如何发展,rich-client功能必须有能力挑战微软Windows操作系统的垄断局面。
“采用Eclipse开发的应用软件将具有浏览器的管理性,拥有更丰富的功能,可以给用户更好的客户体验,效果比使用Web当作前端还好。”Governor表示。
面临的竞争
Eclipse的发展道路上并不是没有对手。Sun一方面试探性地考虑加入Eclipse,另一方面努力开发自己的开放源代码项目—NetBeans。NetBeans允许不同的Java开发工具在单一的编程应用程序上运行。新版NetBeans 4.0准备在2004年年中正式发行,更新版对NetBeans界面进行了全面修改,包括增强了创建网络和网络服务应用软件的功能。该项目还将包括创建基于Apache Ant和Tomcat Java网络服务器应用软件的系统,并支持最近推出的Java 2标准版1.5版本规范。
此外,以Borland的J++Builder为代表的商业化Java开发工具已变得非常强壮,并且长期以来从用户群中获得了大量的市场份额,在没有看到新产品确确实实的优点以前,用户通常不愿意贸然地更换多年来使用的产品。
Eclipse从一诞生就和普通的开放源代码计划有巨大的不同:它并非来自于民间的自发,而是诞生于IBM;源源不断加入到Eclipse计划中的,不只是全世界热爱开源软件事业的人们,更多的是全世界著名IT公司;Eclipse的最终目标也着眼于大型的企业级应用。
遍布世界各地的软件开发人员和大型企业软件开发人员都可以利用Eclipse开发出企业级的优秀应用,利用开放源代码软件的优势,把Java平台打造成为真正可以和Windows & .NET抗衡的系统。(T111)