IBM Eclipse策略经理John Kellerman访谈
2001年11月,IBM向开源社区捐献了Eclipse代码,自此Eclipse在开发者社区得到飞速发展。2006年1月19日,Eclipse国际高峰论坛也首次登陆中国,在清华大学信息科学技术大楼举行。在这次Eclipse大会上developerWorks编辑团队与IBM的Eclipse策略经理John Kellerman进行了座谈,聆听了他对Eclipse历史的追溯、对Eclipse架构的分析、对Eclipse现状分析、对未来发展的展望。
John Kellerman,IBM软件部Rational产品总经理,与1984年加入IBM,一直从事应用开发工作。2000年初,John开始加入了Eclipse项目,现在任职IBM Eclipse策略部总经理。他现在的主要工作是在Eclipse基金会、Eclipse社区中代表IBM的利益,与Eclipse成员公司合作。
developerWorks:IBM开发工具的发展经历了从最初的Visual Age到今天基于Eclipse 3.0的产品,可以说是非常大的飞跃,您可否给我们谈一下这其中的历史?
John:我在加入Eclipse项目之前,是IBM Visual Age for SmallTalk的产品经理。Eclipse起源的一个非常重要的原因是,当时IBM面临着一些挑战需要去解决,即IBM开发工具Visual Age for Java和WebSphere Studio很难集成到一起,而且底层的技术比较脆弱,因此进一步发展非常艰难,无法满足业界应用开发的需求。
因此,1998年,我们开始了下一代开发工具技术探索之路,成立了一个项目开发小组,经过两年的发展,2000年,我们决定给新一代开发工具项目命名为Eclipse,Eclipse叫法当时只是内部使用的名称。这时候的商业目标就是希望Eclipse项目能够吸引开发人员,能发展起一个强大而又充满活力的商业合作伙伴(独立软件供应商)社区。同时我们意识到需要用它来对抗Microsoft Visual Studio的发展,因此从商业目标考虑,通过开源的方式我们最有机会达到目的。此外,IBM推出了Eclipse试用计划,允许IBM以外的开发人员使用Eclipse。结果证明我们的决策非常正确,Eclipse从此在开发社区广为流传。Eclipse也就成为这个项目的正式名称。
我们认为开源Eclipse不能只是简单地贡献出源码,创建一个开源项目然后放在开源许可证下;我们需要建立起多家公司的合作关系,否则就不足信服,不是真正的开源项目,而只是IBM的一个项目。因此在2000年到2001年之间,我做的主要工作就是去拜访一些公司,与他们谈论Eclipse,邀请他们加入Eclipse项目。您可以想象,这是非常有趣的谈话,最终,我们与8家公司达成了一致,其中包括一些IBM的竞争对手WebGain、Borland,还有一些盟友如Rational(Rational当时还没有被IBM收购)。
2001年12月,IBM向世界宣布了两件事,第一件是创建开源项目,既IBM捐赠价值4千万美元的源码给开源社区;另外一件事是成立Eclipse协会(Eclipse Consortium),这个协会由一些成员公司组成,主要任务是支持并促进Eclipse开源项目。
从此,我们看到了Eclipse本身、会员、插件(plug-in)和Eclipse社区飞速成长。2003年,我们意识到这种会员模式很难进一步扩展,有些事务操作起来很困难,比如无法筹集赠款、无法成立合法理事会,这主要是因为Eclipse协会不是一个法律上的实体;此外,尽管Eclipse成功有目共睹,但仍然有些业界成员没有加入,他们认为是Eclipse的真正领导者是IBM。因此我们认识到创建一个独立于IBM的Eclipse将会对Eclipse的发展非常有利,于是IBM与其他成员公司合作起草了管理条例,准备成立Eclipse基金会(Eclipse Foundation)。2004年初,Eclipse基金会正式成立。
developerWorks:Eclipse由一个很小的核心和核心之上的大量插件组成,这种插件式架构给当时的开发社区带来耳目一新的冲击。您能给我们介绍一下Eclipse插件架构吗?
John:对于Eclipse插件架构,一个很好的比喻是Web浏览器,它也有插件,Eclipse插件和浏览器相似,都是要解决扩展性问题。对于一个Web浏览器,如果你想既能浏览多媒体动画,又想浏览PDF文件,那么你就需要两个不同的插件,才能保证两种内容都能在Web浏览器中显示。Eclipse也一样,通过它的插件模式我们可以安装不同的插件来进行HTML的编辑、数据库的设计、Java开发、C++开发等等,所有这些开发工作完全在一个Eclipse安装平台上进行。而且Eclipse模型所能做的远超过了这些,理解Eclipse插件的关键是首先要理解Eclipse扩展点,正是这个扩展点帮您在Eclipse中添加新功能。例如,如果希望在菜单中添加一项,就是通过Eclipse扩展点实现的。
所以当Eclipse插件实现了一个扩展点,就创建了一个扩展,此外,扩展还可以创建自己的扩展点。这种插件模式的扩展和扩展点是递归的,而且被证明是非常灵活的。记得当我们着手对Eclipse开发进行区域性调查时,最初的决定之一是:"We will eat our own dog food"(编者注:谚语,指一个公司在日常运行中使用自己的产品),即Eclipse团队要使用Eclipse进行Eclipse的开发。事实上,Eclipse本身是一个核心的运行时绑定了一些在插件之上构建的插件,换句话说,Eclipse本身就是一系列的插件。这样随着使用Eclipse构建Eclipse的经验累积,这种插件模式就变得日臻成熟。
developerWorks:IBM对Eclipse已经投入了非常多的资源,IBM在Eclipse的将来会扮演什么角色呢?
John:目前Eclipse项目有100多个,IBM参与了其中超过一半的项目,有3个主管在主持Eclipse相关的工作。2005年我们还赞助了一些Eclipse创新基金和Eclipse奖学金。IBM承诺在未来的几年内会一如既往地参与Eclipse研究,我们将会看到IBM研发出新项目,而在某些Eclipse项目上减少参与,这要看IBM的商业目标。最近我们提议了一个项目叫Beacon,是关于Eclipse流程框架的。我们将捐献一些Rational Unified Process(RUP)技术,基本上这个提议是要提供流程方面的内容。IBM现在与一家叫做Zend的公司合作,希望在Eclipse上开发出用于PHP的开发工具。从商业方面看IBM,您会发现Eclipse是Rational软件开发平台的基础。此外由于Eclipse的插件模式、扩展性、集成性,我们为Rational,WebSphere,Lotus和Tivoli构建了统一的平台。
developerWorks:目前IBM的五大旗舰品牌都有基于Eclipse的产品,这对IBM有什么好处?
John:我们的目标是创建集成统一平台,我们有基于Eclipse构建的DB2,Rational,WebSphere等工具,这样客户就可以共同使用这些工具,有统一的界面风格,使用起来非常方便。对IBM自身来说,各个开发部门就可以关注于软件的核心性能开发,而不必要浪费资源做一些重新实现的工作,从而DB2开发部门就专注于数据库开发、WebSphere专注应用服务器的开发、Rational专注于建模、源代码管理,至于其他方面的辅助开发对于Eclipse来说是共同的。
developerWorks:Eclipse是一个开源IDE,那如何通过Eclipse创造商业利益呢?
John:对于IBM,在Eclipse技术开发方面与上百家公司合作,因为IBM看到了Eclipse作为通用的、开放的、标准的技术基础,其价值日益成长。当然,这种基础技术是不会带来创收的,没有人可以使用Eclipse技术来赚钱,但这并不重要,就像Borland,Sybase等公司都在花费钱做同样的构建工作,当然我们在这方面还有合作,但是我们还专注于将我们的核心功能组件构建在Eclipse平台上,例如,IBM的RationalApplicationDeveloper,它是使用Eclipse作为基础,然后在这基础上添加了建模插件、Web开发插件,还有其它更有价值的插件,这些插件我们是收费的。这就是使用Eclipse进行商业创收的模式之一。
此外,人们还可以直接为Eclipse构建插件,然后出售这些插件来赚钱,因为插件可以使用商业许可证发行。事实上我们建立Eclipse公共许可证,就是为了让Eclipse能很好的被商业采用,从而可以用它来赚钱,Eclipse的所有成员公司基本都是商业软件提供商。目前全球有上百万开发人员在使用Eclipse,因此中国开发人员完全可以构建有价值的插件和工具,然后进行销售。同时IBM有一个合作伙伴计划,帮助合作伙伴宣传在IBM基于Eclipse的产品之上构建的应用。
共2页: 1 [2] 下一页 |