在1990年代末,IBM开始开发我们现在所知的Eclipse.现在在软件行业中有着很高的使用率,使用这一技术的成功应用在业内随处可见。这篇文章的主要目的是回顾Eclipse的产生,解释它在现在的开发工具领域中所扮演的角色,并谈谈我们对这一技术的发展过程的看法。
90年代中期到末期开发工具概览
在1990年代中期,有几个强大的商业开发环境。微软公司的Visual Studio在那时正朝着一个更加多用途化的工具方向发展。也出现了几个基于Java的集成开发环境,其中包括Symantec公司的Visual Café,Borland公司的JBuilder,IBM的Visual Age for Java等等。
在这一阶段,出现了用来使客户端程序开发人员不再关心操作系统的繁杂的细节和相关接口的应用服务器。对于Java开发来说,市场给我们提供了IBM的WebSphere应用服务器,BEA的 WebLogic,Sun公司的iPlanet.当时微软提供的MTS和COM+是那时使用的运行时环境。
IBM的主要目标
当时的情况实际上包括两个世界:一个着重于发展能够支持微软的运行时执行的工具,另外一个则关注集中于Java平台的更加开放的方法。IBM相信一个更开放的IT方法是保证用户长期成功的最好保证,Java开发工具是推动开发社区发展的要害。所以当时IBM的目标就是让开发者基于Java的中间件更近。
我们想要建立一个为所有的IBM开发工具产品提供支持的共同平台,以避免对基础结构中的最通用元素的重复。这可以让使用由IBM不同部分开发的多种不同的工具的客户,从一个工具切换到另外一个工具时,有一个更加完整的体验。我们设想用户的完整开发环境由多个不同种类的工具结合起来使用,这些工具包括来自于IBM的工具,用户自定义的工具箱以及第三方的工具。这种混合的但是兼容的工具环境是一个软件工具生态系统的开端。
建立技术:开发源码的作用
在1998年11月,IBM软件集团开始开发一个开发工具环境,这就是后来大家所熟悉的Eclipse.最初我们基于我们的Object Technology International(OTI)实验室的资源,建立了一个新的Java集成开发环境,该环境包括更宽的平台。OTI团队是有着非常广泛的高度熟练的团队,并具有完成几代集成开发环境的经验。同时,IBM开始建立其他的团队来在这个平台之上创建新的产品。
我们知道要使Eclipse得到广泛的使用,活跃的第三方系统非常重要。但是,商业伙伴开始的时候不愿意在我们的平台(由于还未经证实)上投资。所以,在2001年11月份,我们决定对这一技术采用开放源码的授权和运作模式来增加对该技术的关注并加速其应用。IBM和其他的八个组织一起,建立了Eclipse协会和eclipse.org网站。最初的发起成员中包括合作伙伴Rational Software、TogetherSoft,还有竞争者WebGain和Borland.协会的会员资格只需要给Eclipse一个真诚的许诺(但不强迫),许诺在内部使用、提高Eclipse,并基于Eclipse完成一个产品。
协会的运行原则是让开放源码社区来控制代码,而商业集团则推动市场和商业相关关系的发展。这是一个新的非常有趣的开放源码模型的应用。它仍然是基于一个开放、免费的平台,但是这一基础的重要补充就是被鼓励在上面创建盈利性工具的商业公司。Eclipse的大多数提交者和贡献者来自于一个很短的商业公司列表,这中间IBM是最大的内容、经济和人员资源的贡献者。
但是它是真的开放的吗?
在2003年以前,Eclipse的第一个主要发行版本被开发者很好的接受并被有力地使用。但业内分析家告诉我们市场上认为Eclipse是IBM控制的。使用者搞不清楚Eclipse到底是什么。这种想法让主要的厂商不愿意在Eclipse处于IBM控制之下的时候对它做出战略性的承诺。假如我们想看到来自于其他厂商的更严厉的承诺,Eclipse必须被认为更加独立――更加和IBM分离。
所以我们开始和其他人探讨怎样才能让一个更加独立的企业或组织来控制Eclipse,从而消除这一想法。和这些公司一起合作,我们帮助规划和创建了Eclipse基金会。接着,我们在EclipseCon 2004上公布了这个新基金会,我们公布该基金会是一个非盈利性组织,拥有自己独立的、有工作报酬的专业职员,并由它的会员公司交纳的会费提供支持。
到现在为止的结果
这一变动成功了。新的独立的Eclipse基金会完成了Eclipse 3.0,并在不久之后推出了Eclipse 3.1,和以前的版本比,这两个版本都引起了更大的爱好和使用率。之后不久推出的Eclipse 3.1的发布引起了极大爱好。我们看到了各层次会员引人注目的增长,并且所有的独立工具提供商和大多数的平台提供商做出了更深层次的承诺。Eclipse基金会和他们的成员在EclipseCon 2005公布了几件事情,其中包括强大的Eclipse项目如Rich Client Platform、Web Tools Platform、Data Tools Platform、 Business Intelligence Reporting Tool的出现,并在我们的努力下,我们大大减小了碎片化的程度。