刚刚过去的一年,在我们最近的记忆中对于开源软件领域来说是最混乱的一年。这不是单纯的诽谤,比如"关于Linux的真相"运动,开源技术遭到了更直接的攻击。
刚刚过去的一年,在我们最近的记忆中对于开源软件领域来说是最混乱的一年。这不是单纯的诽谤,比如"关于Linux的真相"运动,开源技术遭到了更直接的攻击。
这几乎是不言自明的:开源技术
在企业中运用得越成功,它对于已经根深蒂固的利益越具威胁。 IT管理人员所提出的问题令许多商业软件供应商坐立不安。"如果商业软件是那么好的话,那么为什么会形成目前它与开源软件两虎相争的局面?"如果开源软件是不好的,那么给我看看你的商业软件中到底有什么东西让它值这个价钱。""我已经介入这个项目了,你的软件能让这个项目效果更好吗?具体体现在那些方面?"
占主导地位的软件供应商都还没有给出这些问题的答案,它们对开源技术怒目而视,但这是不能解决实际问题的,更不能吸引IT管理者的兴趣。
如果商业软件供应商想要减慢开源代码的侵袭,细微的修改是不会起作用的,对他们来说,是时候拿出真本事了。另一方面,开源技术在不断取得进步,下面,我就来回顾一下2007年开源领域发生的大事。
10.WSO2给Web Services注入了新的血液
2007年, 来自斯里兰卡的WSO2迅速崛起和成熟,它们率先预见了开源技术将会在未来大获成功并推动整个世界的经济发展。
Sanjiva Weerawarana是IBM 研究院(IBM Research)的核心Web Services研发工程师之一,他参与编写了许多Web Services规范,包括WSDL、BPEL4WS、WS-Addressing、WS-RF和WS-Eventing。同时,他还是W3C的Web服务描述工作组(Web Service Description Working Group)的成员之一。
作为IBM Web Services平台的创办人及主要推动人之一,Sanjiva Weerawarana所构思的Web服务不是单个点的服务,而是一个整体平台。Weerawarana在IBM研究院工作了近8年之后选择了离开,然后创办了WSO2。 Weerawarana和WSO2的研发人员对于阿帕奇软件基金会(Apache Software Foundation)的第二代Axis、高性能SOAP以及Apache Synapse企业服务总线做出了突出贡献。
现在,他的公司WSO2正在建立一个以阿帕奇开源代码为基础的应用服务器和企业服务总线。 WSO2的产品也是开放源代码的,但是收取技术支持费用。
WSO2迅速地围绕高速Web服务开发了一个SOA平台。这也许不是每家企业都喜欢的产品,但WSO2正以一套全新的理念向整个世界展示Web服务可以做什么,以及它们如何能够被迅速部署。WSO2究竟在这条道路上能走多远,我们拭目以待。
9.Medsphere与Shreeve之争:开源,是个噱头吗?
2007年10月19日,Medsphere Systems和其首席信息官Steve Shreeve的纠纷获得了解决。这场备受业界关注的纠纷源于Shreeve---medsphere联合创始人和最大的股东,向开源项目站点SourceForge提供了OpenVista电子医疗保健系统的源码。这看来很平常,因为资助OpenVista进行商业化的公司Medsphere公司已多次承诺要发布代码。但事情很快峰回路转。3个星期后,Medsphere指控联合创始人和首席技术官(CTO)斯蒂夫.史瑞夫(Steve Shreeve)要对那次代码发布承担责任。在提交给加利福尼亚州橘子郡(Orange County)中层级法院的诉状中,Medsphere指控史瑞夫和他的哥哥,时任Medsphere公司首席医学信息官的斯科特(Scott),违反了他们作为董事的诚信义务、破坏了保密协定,使公司招致5,000万美元的损失。首席执行官(CEO) 肯.凯泽(Ken Kizer)和董事会成员声称史瑞夫兄弟应该在提交OpenVista代码前召开会议,检讨哪些代码可以发布。
作为回应,斯蒂夫.史瑞列举了当时的首席执行官肯.凯泽、董事会成员以及前任首席执行官Larry Augustin的使OpenVista代码公开的联合声明。
史瑞夫回应说之前已经有过两次未经CEO或董事会讨论发布的源代码。他生气地表示"我是公司最大的股东。"该事件之后在6月份史瑞夫兄弟被革职,他们表示自己采取的措施只是开源项目发展过程中的必需一环,就跟打地基类似。
凯泽强调官司"与开源代码无关。这是公司的治理问题。"他认为史瑞夫兄弟和他闹翻后,企图用开源掩饰他们想另起炉灶的企图。斯蒂夫.史瑞夫否认了这种动机。
史瑞夫兄弟离开后,Medsphere公司又再次计划向SourceForge发布代码。凯泽期望"这是医疗卫生界的大事,OpenVista会吸引用户并形成社区。"但斯蒂夫.史瑞夫认为Medsphere公司 已经断了自己的后路,毁了那份无形的信任,只有凭着这种信任,受聘的贡献者、志愿的程序员或感兴趣用户才会提供自己宝贵的意见。
OpenVista原本是一个很有潜力的开源项目。OpenVista有几个强项:良好的代码基础、急迫的用户需求、还有希望把它推向商业化的公司。但开源项目里领导层的意见分歧严重损害了该项目。"开源程序员怎么可能对参与这样的项目还保有丝毫的信心呢?" 史瑞夫质问道,"他们怎么能一边信誓旦旦地说他们公开了代码,一边又因为我公开了代码而控告我?"
10月份, Medsphere宣布了新一任首席执行官Michael Doyle,几天后,Doyle宣布,Medsphere与Shreeves的纠纷已经得到了解决。去年10月底,Medsphere重新发布代码供开源项目使用,但这次是在经过董事会的许可后进行的。
开源代码项目需要有技巧的领导层、短线的直接沟通和组员间的信任,而OpenVista项目打从进入开源市场之日起就是一条腿走路,变得全无用武之力。Medsphere与Shreeves的这场纠纷似乎说明了,在某些情况下,信任因素也会造成疯狂的错误。
8.Apache Tomcat大获成功
IBM公司的WebSphere,BEA Systems的WebLogic,甲骨文(纳斯达克股票交易代码:ORCL)的Oracle Application Server 是Java应用服务器领域的三个顶级产品,但是,有一个开源的Java应用服务器使得上面三个"巨人"黯然失色。这个备受瞩目的服务器不是JBoss,而是Apache Tomcat。尽管按照开发人员使用的数量来衡量, JBoss排名第二,BEA排名第一,而BEA排名第三。但阿帕奇Tomcat应用服务器打败了WebSphere。它是2007年开源技术不为人知的成功案例之一。
事实上,Tomcat是Java领域的专家,而其它的应用服务器更多地是一个多面手。WebSphere、WebLogic、OAS能处理非Java语言的应用过程;而Tomcat是一个高速的,轻量级的Java Servlet引擎。Tomcat将服务器命令模块化,并且擅长于执行这些模块,这就使得它成为了一个Java应用程序开发人员的理想的测试平台。
并且WebSphere、 WebLogic、JBoss不久就会在各自的应用中对Tomcat提供支持,将上述这些事实结合起来,你就会发现,当部署应用程序的时候,Tomcat是一个很好的开发平台,并且同商业产品结合得非常好。
但主要是,有迹象显示,人们在Java应用开发的过程中,更渴望更轻型、更简单的方法。
很少有Java中间件调查会注意到Tomcat,因为它是阿帕奇基金会的一个系统工程而不是用于销售的商业化产品。但是,一项来自BZ Research 2006年12月份所作的Java调查显示, 64.3 %的受访者使用了Tomcat;是被人利用的36.9%的受访者使用WebSphere;的, 32%的受访者使用JBoss;的受访者使用WebLogic;为22.4%的受访者使用甲骨文的Oracle Application Server。
7.Spring Framework备受关注
Java从另一个C型(C-type)面向对象语言逐渐发展,并最终演变成了一个庞大的平台。除了它自己的Java虚拟机外,它还有一套庞大的应用程序接口,并且其企业级Java Bean和平台的其它部分关系也很复杂。
而Rod Johnson却创建了另一种完全不同的Java平台--- Spring Framework。
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。
Spring框架免除了Java 2 Enterprise Edition Enterprise Java Beans的复杂性,而致力于简单的Java对象。它是一个可视化的环境,这使得开发者可以在其中声明任何他想要的Web服务、数据库连接,以及网络接口,而这些服务、连接、接口可以通过Spring框架提供的基础架构和管线(plumbing)得到。
Spring能有效地组织你的中间层对象,不管你是否选择使用了EJB。如果你仅仅使用了Struts或其他为J2EE的 API特制的framework,Spring致力于解决剩下的问题。 Spring能消除在许多工程中常见的对Singleton的过多使用。根据我的经验,这是一个很大的问题,它降低了系统的可测试性和面向对象的程度。 通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要。曾经对某个类要寻找的是哪个魔法般的属性项或系统属性感到不解,为此不得不去读Javadoc甚至源编码?有了Spring,你仅仅需要看看类的JavaBean属性。Inversion of Control的使用(在下面讨论)帮助完成了这种简化。 通过把对接口编程而不是对类编程的代价几乎减少到没有,Spring能够促进养成好的编程习惯。 Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。 使用Spring构建的应用程序易于单元测试。 Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。 Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适用于许多web应用。例如,Spring能使用AOP提供声明性事务管理而不通过EJB容器,如果你仅仅需要与单个数据库打交道,甚至不需要一个JTA实现。 Spring为数据存取提供了一个一致的框架,不论是使用的是JDBC还是O/R mapping产品(如Hibernate)。Spring确实使你能通过最简单可行的解决办法来解决你的问题。而这是有有很大价值的。
Johnson坚持认为,如果Java能保很简单的话,Java就能做更多的工作。
Johnson给Java开发带来了革命性的变革,与Sun Microsystems J2EE相比, Spring框架使得Java编程过程更简单省事,目前,很多Java开发人员都倾向于使用这个框架。Java观察家兼Software AG 公司首席技术官Miko Matsumura很久以前就说:"Spring宣告了J2EE的死亡,"对Johnson来说。J2EE复杂的编程步骤已经成为一个阻碍项目实施的严重障碍。Johnson是SpringSource公司(其前身是Interface21)公司的首席执行官,Spring框架就是由该公司发明的。同时,他还是<>一书的作者,这本书对于简化Java使得它能被大多数人理解产生了巨大的影响,同时,该书也是世界著名计算机图书出版社Wrox编程专家系列(Expert One on One)其中之一。
很多企业都采用Spring进行应用开发,而甲骨文则同时使用JDeveloper以及它自己的JDeveloper工具创建Java数据库应用程序。
目前,Spring社区呈现一片欣欣向荣的景象,Johnson的Interface21公司的Spring Framework的安装和技术支持业务也是如火如荼。Spring Framework不仅是一个成功的开源项目,它对于开发人员想要在工作中达到什么样的开发水平以及他们想要取得什么效果产生了持续的影响。在熟练控制了Java后,Spring成为了一个中立的平台,它对于微软的.Net也提供支持。
6.Acacia Research起诉红帽和Novell
显然, 2007年对于律师来说是"丰收"的一年,因为整个一年中围绕开源的纠纷不断。其中一个备受关注的诉讼是Acacia Research通过其子公司IP Innovation向红帽和Novell(纳斯纳克股票交易代码:NOVL)提出控告,红帽Linux操作系统及Novell旗下的SUSE Linux Enterprise Desktop与SUSE Linux Enterprise Server侵犯了他所拥有的专利。与这些专利相关的技术为"在多重工作空间分享显示系统对象的用户接口"。
总部位于美国伊利诺伊州诺斯布鲁克市的IP Innovation公司是一家专门开发、购买专利并提供授权的公司,其它公司如果想要使用它的专利投资组合的话,就得向它支付一定的费用。Acacia Research在去年10月宣布雇用微软专利总经理Brad Brunell担任该公司副总,而不到两周的时间,Acacia Research就对红帽和Novell提出了诉讼。先前微软一直宣称开放源码侵犯了微软数百项专利,而微软执行长Steve Ballmer更在上周的Web 2.0开发商会议中直接点名红帽的软件使用了微软的专利技术。时机的凑巧让InformationWeek引用微软发言人说明。但微软声称他与该诉讼案毫无关系。Acacia Research已经剥离出50个子公司专门应付33个专利诉讼案。
(作者:佚名)
>>更多评论