InfoQ 与 Jason Van Zyl 探讨 Sonatye、Eclipse基金会和 Maven

Snoatype,这家推动Maven发展的主要公司, 最近宣布他们准备以战略开发者身份加入Eclipse基金会。InfoQ就此采访了Sonatype首席技术官和Maven创始人 Jazon Van Zyl,以了解他们的合作关系及对Maven未来的影响。

InfoQ: 您能否详细描述一下,与Eclipse的紧密联系会对Maven产生什么影响?

Jason Van Zyl: Maven 和Eclipse的用户社区存在巨大的重叠。Sonatype非常希望联姻这两个用户社区,提供两个平台之间的无缝集成。特别是用户将受益最多。 Sonatype与Apache Maven社区保持了长期的关系,我们正在努力培养与Eclipse的这种关系,在Maven和Eclipse社区之间建立一座桥梁。这两者之间一直以来 存在着一点紧张关系:关于如何构建软件、依赖管理系统如何工作、二进制文件应该存放在何处。我们正在建立实用的混合解决方案使开发人员能够完成他们的工 作。

InfoQ:这种合作关系在短期和长期会如何影响Maven?

Jason Van Zyl: 短 期来看,从技术角度讲,m2eclipse集成方案让我对Maven提供的嵌入技术做了认真的审视。我们已经修改了它的许多方面以方便在Eclipse平 台上运行Maven。从社区的角度讲,大量的用户汇聚到m2eclispe上:邮件列表在迅速增长,我们让用户提交了许多新的功能需求,用户对我们创建的 新鲜工具例如POM编辑器反应积极。在头四个月下载量接近10万次,这对于pre-1.0版本来说是相当惊人的。

这一切引起了大量的反馈,也推动了Maven内核的变化。许多用户期望在Eclipse中增加的行为和可视化界面让我们意识到性能的问题,并开始知道如何发 布Maven内核的事件。Maven是可扩展的,但是如何暴露给Eclipse强大的扩展点机制,让我们开始考虑如何在Maven平台上提供正确的地方用 于扩展、如何确保在Eclipse平台是可见的。

一 个具体的例子就是如何在Eclipse中暴露我们的Nexos(Sanatype's 存储管理器)API,让其他Eclipse插件可以查询并获取Maven存储的文件。这例子很简单,但非常强大,因为它允许开发人员实现类似“我想在我的 企业库中找到所有代表web服务的API”的想法,同时允许开发人员间接地选择一系列web服务、重新组合成一个新的应用。

从 长期来看,Sonatype是Eclispe基金会的战略开发者,这意味着我们在Eclipse委员会拥有一席之地,我们有机会影响Eclipse平台的 发展方向。当然,没有哪一个组织可以为所欲为。一切都通过对话解决。作为战略开发者,Sonatype需要提供8位全职的员工致力于m2eclipse, 而且这项工作的大部分都是在Maven本身,长期来看有利于Maven社区。Maven通过Eclispe社区获得了巨大的关注。

Apache 和Eclispe社区,在我看来,是非常互补的。Apache起源很早,汇集了开源的热情,但有一点混乱。Eclipse对开源有着更专业和商业化的认 识。这两者对于创建一个支持用户的工程生态环境都是必需的。你可以在Apache看到非常热烈讨论,甚至是反对的声音,但是对创新有益。如果一切都是相同 事物的堆砌,没有新事物会诞生。Apache决不是这样的。但是,当涉及到发布一个产品时,Eclipse的价值就体现出来了:对知识产权、版本之间高层 次API的兼容性、发布时间表中严峻情况的处理等这些的详细关注。对我来说,创建混合系统,兼容并蓄这两个社区来生产类似m2eclispe的工具是最理 想的。

从长期来看,Sonatype与Eclispe的合作关系会在Maven工程中细化为对发布计划、消灭退化问题和增加与用户沟通的更多关注。这在2.0.9和2.0.10版本中已经开始了,那时我们通过一个可扩展的版本候选周期来消灭退化问题。

InfoQ:Maven 2.1 预计何时发行?其功能包括哪些?这会产生什么影响吗?

Jason Van Zyl: 目前,我们没有公开讨论时间表。我可以说,我们正在努力尽快发布Maven 2.1,与Eclispe的合作关系的确也起到了推动作用。Maven 2.1新增的一个主要功能是嵌入技术,这对m2eclispe非常重要。现在,我们准备发布Maven 2.1-alpha-1,我们正在努力确认运行在2.0.x版本上的插件的兼容性,这样可以帮助用户非常容易过渡。Eclispe也只针对发布版进行知识 产权审查流程,因此我们正在积极准备该版本,希望在Eclispe知识产权流程中不出什么大的问题。其结果非常乐观。

InfoQ: 社区的反馈对Maven产生了什么影响?

Jason Van Zyl: 在Maven的最近两个版本中,我们的确以客户为中心。我们努力修补了所有退化问题,添加了最强烈需要的功能。对于m2eclispe插件,我们实现了大多数功能,包括工程对象模型(POM)编辑器和Mexus存储管理集成。

InfoQ: 在Maven的未来发展中,Sonatype将扮演什么样的角色?

Jason Van Zyl: 在Sonatype公司中,有很多员工是Apache Maven的长期提交者和Apache成员,因此我们一直在深入参与Maven的开发。差不多五年前的这个时候,我发起了Maven工程,我也没有计划如 何发展。我会继续推动Maven社区前进。作为一个商业工作的显而易见的结果,我们会投入更多的人去参与Maven相关的技术,所以Sonatype将继 续在Maven社区中扮演一个关键角色。我想客户提出的很多事情都具有普通的意义,所以我觉得我们所做的工作有利于整个Maven社区。我们做了大量 OSGi集成,还有脚本语言集成,很多人会对这些感兴趣。最后,Sonatype的参与让那些通常会诞生的技术集成出现的更早一些。

InfoQ: 是否计划在未来版本中,将Maven的模块系统以OSGi作为规范?

Jason Van Zyl: 是 的!这个集成工程称为Tycho。它将提供基于Maven的解决方案,创建OSGi束和Eclispe插件。我们目前的原型已经颠覆了Maven通常的依 赖解析机制而采用了基于OSGi的依赖解析机制。我们可以创建无POM的基于OSGi的工程。这项工作也涉及到与p2存储的交互。我们想要提供的是一套使 用Maven用于基于OSGi开发的端到端解决方案。我们的许多工作涉及到存储,同时在很大程度上取决于我们在Nexus上的变化,它在Maven存储、 标准Eclipse更新网站和p2存储之间提供一个中间层。我们一直在努力做好Tycho,我们相信它将提供在Maven和OSGi世界之间所需的统一/ 集成层。Tycho也将随着m2eclipse移入Eclispe基金会。

以下是InfoQ读者对于该新闻的精彩讨论:
关于IDE中立的支持?

Aug 6, 2008 6:52 AM by Sébastien Arbogast

每次我听说一个优秀的开源工程与Eclispe基金会建立紧密的伙伴关系我都会有些担心,因为这会让这些工程禁锢于某些厂商。不管你们是否相 信,Eclispe不是最好的集成开发环境(IDE),很多开发人员使用其他的工具。Maven一个伟大的地方就在于它是IDE中立的,所以我可以在 Intellij上使用Maven工程,而我的同事则在Eclispe上使用,一切都很顺利。现在,我担心Maven这种新的转移会产生只在 Eclispe可用的功能而不是其他IDE。相同的事情正在发生于SpringSource,Adobe等等,非常糟糕!

Re:  关于IDE中立的支持?

Aug 6, 2008 7:44 AM by Eugene Kuleshov
   
Maven过去是将来也必定是IDE中立的。但是,如果你想获得好的IDE支持(这对于其他工具同样成立,不仅仅是Maven),你不得不用与IDE厂商 协商。很自然地,如果它是开源的,像Sonatype或者Springsource,你可以期望良好的IDE集成。这并不意味着偏向某个厂商,只是某些厂 商具有更好地工具集成。

从根本上说,你评价IDE优劣的标准并不适用于其他人。更一步讲,似乎你不太满意Spring和Adobe对你的IDE的支持,所以你或许应该重新评估一下你的标准或者要求你的IDE厂商对你正在使用的技术提供支持。

Re:  关于IDE中立的支持?

Aug 6, 2008 5:54 PM by Rod Johnson

只有Spring IDE和SpringSource工具包 是基于Eclipse的。我们在SpringSource应用平台中使用Eclispe Equinox,但并没有绑定到Eclispe IDE。

JetBrians已经在持续构建Spring对Intellij的更好支持,我相信也存在一个NetBeans插件。我们没有资源对每一个IDE提供支持,我们认为最好是对最流行的IDE提供附加值。

我们的工具包基于Eclispe是因为它的普及和可扩展性,也因为我们非常高兴的看到AJDT和Mylyn让我们如何方便的做产品支持。

Rod Johnson, SpringSource


查看英文原文:Jason Van Zyl Discusses Sonatype, The Eclipse Foundation and Maven

你可能感兴趣的:(InfoQ 与 Jason Van Zyl 探讨 Sonatye、Eclipse基金会和 Maven)